Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 78327 Details for
Bug 203059
[Scanner Discovery] Compiler commands within sh -c '...' are ignored
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch solving this issue
WrapperSupportForScannerDiscovery.txt (text/plain), 6.65 KB, created by
Gerhard Schaber
on 2007-09-13 12:01:42 EDT
(
hide
)
Description:
Patch solving this issue
Filename:
MIME Type:
Creator:
Gerhard Schaber
Created:
2007-09-13 12:01:42 EDT
Size:
6.65 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.cdt.make.core.tests >Index: src/org/eclipse/cdt/make/scannerdiscovery/GCCScannerInfoConsoleParserTests.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/GCCScannerInfoConsoleParserTests.java,v >retrieving revision 1.3 >diff -u -r1.3 GCCScannerInfoConsoleParserTests.java >--- src/org/eclipse/cdt/make/scannerdiscovery/GCCScannerInfoConsoleParserTests.java 18 Jul 2007 14:27:31 -0000 1.3 >+++ src/org/eclipse/cdt/make/scannerdiscovery/GCCScannerInfoConsoleParserTests.java 13 Sep 2007 16:00:44 -0000 >@@ -63,6 +63,9 @@ > fOutputParser.processLine("gcc -I \\"); //$NON-NLS-1$ > fOutputParser.processLine("/multiline\\"); //$NON-NLS-1$ > fOutputParser.processLine("/dir -c test.c"); // multiline //$NON-NLS-1$ >+ fOutputParser.processLine("gcc -Imultiline2 \\"); //$NON-NLS-1$ >+ fOutputParser.processLine("-Imultiline3\\"); //$NON-NLS-1$ >+ fOutputParser.processLine(" -DAA=\"BB\" test.c"); //$NON-NLS-1$ > > List sumIncludes = fCollector.getCollectedScannerInfo(null, ScannerInfoTypes.INCLUDE_PATHS); > assertTrue(sumIncludes.contains("/dir/include")); //$NON-NLS-1$ >@@ -89,6 +92,8 @@ > assertTrue(sumIncludes.contains("//server5/include")); //$NON-NLS-1$ > assertTrue(sumIncludes.contains("//server6/include")); //$NON-NLS-1$ > assertTrue(sumIncludes.contains("/multiline/dir")); //$NON-NLS-1$ >- assertTrue(sumIncludes.size() == 24); >+ assertTrue(sumIncludes.contains("multiline2")); //$NON-NLS-1$ >+ assertTrue(sumIncludes.contains("multiline3")); //$NON-NLS-1$ >+ assertTrue(sumIncludes.size() == 26); > } > } >Index: src/org/eclipse/cdt/make/scannerdiscovery/BaseBOPConsoleParserTests.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/BaseBOPConsoleParserTests.java,v >retrieving revision 1.4 >diff -u -r1.4 BaseBOPConsoleParserTests.java >--- src/org/eclipse/cdt/make/scannerdiscovery/BaseBOPConsoleParserTests.java 12 Sep 2007 12:43:57 -0000 1.4 >+++ src/org/eclipse/cdt/make/scannerdiscovery/BaseBOPConsoleParserTests.java 13 Sep 2007 16:00:44 -0000 >@@ -128,7 +128,7 @@ > } > > // https://bugs.eclipse.org/bugs/show_bug.cgi?id=203059 >- public void _testCompilerCommandInsideShellInvocation_bug203059() throws Exception { >+ public void testCompilerCommandInsideShellInvocation_bug203059() throws Exception { > fOutputParser.processLine("sh -c '/usr/bin/gcc -DA test1.c'"); //$NON-NLS-1$ > fOutputParser.processLine("sh -c '/usr/gcc-installs/gcc -DB test2.c;"); //$NON-NLS-1$ > fOutputParser.processLine("sh -c '/usr/gcc/gcc -DC test3.c'"); //$NON-NLS-1$ >#P org.eclipse.cdt.make.core >Index: src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java,v >retrieving revision 1.28 >diff -u -r1.28 GCCScannerInfoConsoleParser.java >--- src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java 18 Jul 2007 14:27:29 -0000 1.28 >+++ src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java 13 Sep 2007 16:00:45 -0000 >@@ -59,6 +59,10 @@ > return false; > } > >+ if (compilerInvocationIdx+1 >= tokens.length) { >+ return false; >+ } >+ > // Recognized gcc or g++ compiler invocation > List includes = new ArrayList(); > List symbols = new ArrayList(); >@@ -149,6 +153,9 @@ > if (fileName != null && fileName.startsWith("/cygdrive/")) { //$NON-NLS-1$ > fileName= AbstractGCCBOPConsoleParserUtility.convertCygpath(new Path(fileName)).toOSString(); > } >+ if (fileName == null) { >+ return false; // return when no file was given (analogous to GCCPerFileBOPConsoleParser) >+ } > > IProject project = getProject(); > IFile file = null; >Index: src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCPerFileBOPConsoleParser.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCPerFileBOPConsoleParser.java,v >retrieving revision 1.22 >diff -u -r1.22 GCCPerFileBOPConsoleParser.java >--- src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCPerFileBOPConsoleParser.java 4 Sep 2007 09:28:28 -0000 1.22 >+++ src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCPerFileBOPConsoleParser.java 13 Sep 2007 16:00:45 -0000 >@@ -88,12 +88,12 @@ > } > if (!found) { > TraceUtil.outputTrace("Error identifying file name :1", tokens, TraceUtil.EOL); //$NON-NLS-1$ >- return true; >+ return false; > } > // sanity check > if (filePath.indexOf(FILE_EXTENSIONS[extensionsIndex]) == -1) { > TraceUtil.outputTrace("Error identifying file name :2", tokens, TraceUtil.EOL); //$NON-NLS-1$ >- return true; >+ return false; > } > if (fUtil != null) { > IPath pFilePath = fUtil.getAbsolutePath(filePath); >Index: src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java,v >retrieving revision 1.12 >diff -u -r1.12 AbstractGCCBOPConsoleParser.java >--- src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java 24 Aug 2007 09:34:05 -0000 1.12 >+++ src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java 13 Sep 2007 16:00:45 -0000 >@@ -298,6 +298,19 @@ > if (processCommand(command)) { > rc= true; > } >+ else { // go inside quotes, if the compiler is called per wrapper or shell script >+ for (int j = 0; j < command.length; j++) { >+ String[][] subtokens= tokenize(command[j], true); >+ for (int k = 0; k < subtokens.length; k++) { >+ String[] subcommand = subtokens[k]; >+ if (subcommand.length > 1 || subtokens.length > 1) { // only proceed if there is any additional info >+ if (processCommand(subcommand)) { >+ rc= true; >+ } >+ } >+ } >+ } >+ } > } > return rc; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
bjorn.freeman-benson
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 203059
: 78327 |
78428
|
78433