Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 321160

Summary: Confusing message about redefined macro from xlc error parser
Product: [Tools] CDT Reporter: Olexiy Buyanskyy <olexiyb>
Component: cdt-buildAssignee: Andrew Gvozdev <angvoz.dev>
Status: RESOLVED FIXED QA Contact: Andrew Gvozdev <angvoz.dev>
Severity: normal    
Priority: P3    
Version: 7.0   
Target Milestone: 8.0   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
workspace configuration file with proposed changes none

Description Olexiy Buyanskyy CLA 2010-07-28 13:49:29 EDT
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="[&quot;]?(.*?)[&quot;]?, 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="[&quot;]?(.*?)[&quot;]?, line ([0-9]+)\.[0-9]+:( [0-9]*-[0-9]*)? \(I\)\s*[&quot;]?(\w*)[&quot;]? 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="[&quot;]?(.*?)[&quot;]?, line ([0-9]+)\.[0-9]+:( [0-9]*-[0-9]*)? \(I\)\s*[&quot;]?(\w*)[&quot;]? is defined on line ([0-9]+) of (.*)\." severity="Warning"/>
Comment 1 Olexiy Buyanskyy CLA 2010-07-28 13:51:01 EDT
Created attachment 175425 [details]
workspace configuration file with proposed changes
Comment 2 CDT Genie CLA 2010-07-28 18:23:01 EDT
*** 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
Comment 3 Andrew Gvozdev CLA 2010-07-28 18:58:28 EDT
Corrected on HEAD (8.0). Thanks for the suggestion.
Comment 4 CDT Genie CLA 2010-07-28 19:23:02 EDT
*** 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