Community
Participate
Working Groups
Reproduce: have any two headers h1.h and h2.h with redefined macros. Compile with xlc. In h1.h #define MYMACRO 0 In h2.h #include <h1.h> #define MYMACRO 1 During compilation you will see warning in h1.h h1.h:1: Macro name MYMACRO originally defined in h1.h That is a little confusing. I propose to change rules in Window/Preferences/C/C++/Build to generate two cross referenced warnings and ignore meanless Ignore meanless warning first <pattern description-expr="" eat-processed-line="true" file-expr="" line-expr="" regex="["]?(.*?)["]?, line ([0-9]+)\.[0-9]+:( [0-9]*-[0-9]*)? \(W\)\s*Macro name .* has been redefined\." severity="Ignore"/> And generate cross referenced warnings <pattern description-expr="Macro name $4 has been redefined in file $1:$2" eat-processed-line="false" file-expr="$6" line-expr="$5" regex="["]?(.*?)["]?, line ([0-9]+)\.[0-9]+:( [0-9]*-[0-9]*)? \(I\)\s*["]?(\w*)["]? is defined on line ([0-9]+) of (.*)\." severity="Warning"/> <pattern description-expr="Macro name $4 redefines macro in file $6:$5" eat-processed-line="true" file-expr="$1" line-expr="$2" regex="["]?(.*?)["]?, line ([0-9]+)\.[0-9]+:( [0-9]*-[0-9]*)? \(I\)\s*["]?(\w*)["]? is defined on line ([0-9]+) of (.*)\." severity="Warning"/>
Created attachment 175425 [details] workspace configuration file with proposed changes
*** cdt cvs genie on behalf of agvozdev *** bug 321160: reformatted [*] plugin.xml 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.xml?root=Tools_Project&r1=1.3&r2=1.4
Corrected on HEAD (8.0). Thanks for the suggestion.
*** cdt cvs genie on behalf of agvozdev *** bug 321160: Confusing message about redefined macro from xlc error parser [*] plugin.properties 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.properties?root=Tools_Project&r1=1.7&r2=1.8 [*] plugin.xml 1.5 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc/plugin.xml?root=Tools_Project&r1=1.4&r2=1.5 [*] TestOperModi.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestOperModi.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestMacroRedefinition.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestMacroRedefinition.java?root=Tools_Project&r1=1.2&r2=1.3 [*] TestLinkerInfo.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerInfo.java?root=Tools_Project&r1=1.2&r2=1.3 [*] TestLinkerUndefinedSymbol.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerUndefinedSymbol.java?root=Tools_Project&r1=1.2&r2=1.3 [*] TestNoFuncProto.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestNoFuncProto.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestFloatingPoint.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFloatingPoint.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestConditional.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestConditional.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestLinkerSevereError.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerSevereError.java?root=Tools_Project&r1=1.2&r2=1.3 [*] TestUnrecoverableError.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUnrecoverableError.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestSyntaxError.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestSyntaxError.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestMissingArg.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestMissingArg.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestFuncArg.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestFuncArg.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestLinkerErrorWhileReading.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerErrorWhileReading.java?root=Tools_Project&r1=1.2&r2=1.3 [*] TestCompatibility.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestCompatibility.java?root=Tools_Project&r1=1.2&r2=1.3 [*] TestUndeclIdent.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestUndeclIdent.java?root=Tools_Project&r1=1.3&r2=1.4 [*] TestLinkerDuplicateSymbol.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/TestLinkerDuplicateSymbol.java?root=Tools_Project&r1=1.2&r2=1.3 [*] XlcErrorParserTester.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/xlc/org.eclipse.cdt.errorparsers.xlc.tests/src/org/eclipse/cdt/errorparsers/xlc/tests/XlcErrorParserTester.java?root=Tools_Project&r1=1.2&r2=1.3