Message301355
| 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] |
|