This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients barry, pitrou, rhettinger, serhiy.storchaka, skrah, vstinner
Date 2017-09-05.18:24:29
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1504635869.97.0.914893152.issue31338@psf.upfronthosting.co.za>
In-reply-to
Content
> Which compiler needs more than "abort();" in a default statement? gcc and clang don't.

Again, I'm not sure that bpo-28152 is directly related to this issue, but here an example:

$ git diff

diff --git a/Parser/grammar.c b/Parser/grammar.c
index 75fd5b9cde..2b7da68929 100644
--- a/Parser/grammar.c
+++ b/Parser/grammar.c
@@ -139,13 +139,6 @@ findlabel(labellist *ll, int type, const char *str)
     }
     fprintf(stderr, "Label %d/'%s' not found\n", type, str);
     Py_FatalError("grammar.c:findlabel()");
-
-    /* Py_FatalError() is declared with __attribute__((__noreturn__)).
-       GCC emits a warning without "return 0;" (compiler bug!), but Clang is
-       smarter and emits a warning on the return... */
-#ifndef __clang__
-    return 0; /* Make gcc -Wall happy */
-#endif
 }
 
 /* Forward */

$ make

Parser/grammar.c: In function '_Py_findlabel':
Parser/grammar.c:142:1: warning: control reaches end of non-void function [-Wreturn-type]
History
Date User Action Args
2017-09-05 18:24:30vstinnersetrecipients: + vstinner, barry, rhettinger, pitrou, skrah, serhiy.storchaka
2017-09-05 18:24:29vstinnersetmessageid: <1504635869.97.0.914893152.issue31338@psf.upfronthosting.co.za>
2017-09-05 18:24:29vstinnerlinkissue31338 messages
2017-09-05 18:24:29vstinnercreate