public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/55602] New: Does not generate Error message for redefined macros @ 2012-12-05 3:44 guojiufu at gmail dot com 2012-12-05 5:00 ` [Bug preprocessor/55602] " pinskia at gcc dot gnu.org ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: guojiufu at gmail dot com @ 2012-12-05 3:44 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602 Bug #: 55602 Summary: Does not generate Error message for redefined macros Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned@gcc.gnu.org ReportedBy: guojiufu@gmail.com gcc and g++ generate warning message(do not generate any information if there is '#pragma GCC system_header' is the header) instead an error message for redefined macros. While in standard it seems require an error. Second paragraph of section "Macro replacement" in C standard: -------- An identifier currently defined as an object-like macro shall not be redefined by another #define preprocessing directive unless the second definition is an object-like macro definition and the two replacement lists are identical. Likewise, an identifier currently defined as a function-like macro shall not be redefined by another #define preprocessing directive unless the second definition is a function-like macro definition that has the same number and spelling of parameters, and the two replacement lists are identical. ---------- C++ standard: Second paragraph of section "Macro replacement" --------- An identifier currently defined as an object-like macro may be redefined by another #define preprocessing directive provided that the second definition is an object-like macro definition and the two replacement lists are identical, otherwise the program is ill-formed. Likewise, an identifier currently defined as a function-like macro may be redefined by another #define preprocessing directive provided that the second definition is a function-like macro definition that has the same number and spelling of parameters, and the two replacement lists are identical, otherwise the program is ill-formed. ------------------ case: a.h ---------------- #define A 1 #define A 2 --------------- a.c --------------- #include "a.h" int main(){ return A; } -------------- ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug preprocessor/55602] Does not generate Error message for redefined macros 2012-12-05 3:44 [Bug c++/55602] New: Does not generate Error message for redefined macros guojiufu at gmail dot com @ 2012-12-05 5:00 ` pinskia at gcc dot gnu.org 2012-12-10 11:58 ` guojiufu at gmail dot com ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: pinskia at gcc dot gnu.org @ 2012-12-05 5:00 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-12-05 05:00:05 UTC --- Use -pedantic-errors. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug preprocessor/55602] Does not generate Error message for redefined macros 2012-12-05 3:44 [Bug c++/55602] New: Does not generate Error message for redefined macros guojiufu at gmail dot com 2012-12-05 5:00 ` [Bug preprocessor/55602] " pinskia at gcc dot gnu.org @ 2012-12-10 11:58 ` guojiufu at gmail dot com 2012-12-10 11:59 ` guojiufu at gmail dot com ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: guojiufu at gmail dot com @ 2012-12-10 11:58 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602 --- Comment #2 from Jeff Guo <guojiufu at gmail dot com> 2012-12-10 11:57:57 UTC --- -pedantic-errors is helpful if the redefined macros not guarded by "#pragma GCC system_header" --a.h -- #pragma GCC system_header #define A 1 #define A 2 -----a.c---- #include "a.h" int main(){ return A; } ---------------- ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug preprocessor/55602] Does not generate Error message for redefined macros 2012-12-05 3:44 [Bug c++/55602] New: Does not generate Error message for redefined macros guojiufu at gmail dot com 2012-12-05 5:00 ` [Bug preprocessor/55602] " pinskia at gcc dot gnu.org 2012-12-10 11:58 ` guojiufu at gmail dot com @ 2012-12-10 11:59 ` guojiufu at gmail dot com 2012-12-10 12:02 ` guojiufu at gmail dot com 2012-12-26 2:26 ` guojiufu at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: guojiufu at gmail dot com @ 2012-12-10 11:59 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602 --- Comment #3 from Jeff Guo <guojiufu at gmail dot com> 2012-12-10 11:59:07 UTC --- Above case is still no error message reported even with -pedantic-errors ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug preprocessor/55602] Does not generate Error message for redefined macros 2012-12-05 3:44 [Bug c++/55602] New: Does not generate Error message for redefined macros guojiufu at gmail dot com ` (2 preceding siblings ...) 2012-12-10 11:59 ` guojiufu at gmail dot com @ 2012-12-10 12:02 ` guojiufu at gmail dot com 2012-12-26 2:26 ` guojiufu at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: guojiufu at gmail dot com @ 2012-12-10 12:02 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602 Jeff Guo <guojiufu at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |VERIFIED Resolution|INVALID |WONTFIX --- Comment #4 from Jeff Guo <guojiufu at gmail dot com> 2012-12-10 12:02:29 UTC --- may GCC report error message for redefined macro if -pedantic-errors specified for system headers? ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug preprocessor/55602] Does not generate Error message for redefined macros 2012-12-05 3:44 [Bug c++/55602] New: Does not generate Error message for redefined macros guojiufu at gmail dot com ` (3 preceding siblings ...) 2012-12-10 12:02 ` guojiufu at gmail dot com @ 2012-12-26 2:26 ` guojiufu at gmail dot com 4 siblings, 0 replies; 6+ messages in thread From: guojiufu at gmail dot com @ 2012-12-26 2:26 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602 Jeff Guo <guojiufu at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|VERIFIED |CLOSED --- Comment #5 from Jeff Guo <guojiufu at gmail dot com> 2012-12-26 02:26:34 UTC --- using -pedantic-errors is helpful ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-12-26 2:26 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-12-05 3:44 [Bug c++/55602] New: Does not generate Error message for redefined macros guojiufu at gmail dot com 2012-12-05 5:00 ` [Bug preprocessor/55602] " pinskia at gcc dot gnu.org 2012-12-10 11:58 ` guojiufu at gmail dot com 2012-12-10 11:59 ` guojiufu at gmail dot com 2012-12-10 12:02 ` guojiufu at gmail dot com 2012-12-26 2:26 ` guojiufu at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).