Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Schorn2008-07-14 15:42:10 +0000
committerMarkus Schorn2008-07-14 15:42:10 +0000
commitc48a9fd706729e0cc0f2bfeac95dedb12a1d150c (patch)
treeac8214998f540a0d5e0d0573aff02f876512233a
parente1de01315b45dbd1d22af1dffe6633edb063167f (diff)
downloadorg.eclipse.cdt-c48a9fd706729e0cc0f2bfeac95dedb12a1d150c.tar.gz
org.eclipse.cdt-c48a9fd706729e0cc0f2bfeac95dedb12a1d150c.tar.xz
org.eclipse.cdt-c48a9fd706729e0cc0f2bfeac95dedb12a1d150c.zip
pwd in scanner-discovery, bug 237958.
-rw-r--r--build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/GCCPerFileBOPConsoleParserTests.java19
-rw-r--r--build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java3
2 files changed, 20 insertions, 2 deletions
diff --git a/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/GCCPerFileBOPConsoleParserTests.java b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/GCCPerFileBOPConsoleParserTests.java
index 376ad9cf43b..e1286c5cb0a 100644
--- a/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/GCCPerFileBOPConsoleParserTests.java
+++ b/build/org.eclipse.cdt.make.core.tests/src/org/eclipse/cdt/make/scannerdiscovery/GCCPerFileBOPConsoleParserTests.java
@@ -95,4 +95,23 @@ public class GCCPerFileBOPConsoleParserTests extends BaseBOPConsoleParserTests {
tempDir.delete();
}
}
+
+ public void testPwdInFilePath_Bug237958() throws Exception {
+ IFile file1= fCProject.getProject().getFile("Bug237958_1.c");
+ IFile file2= fCProject.getProject().getFile("Bug237958_2.c");
+ fOutputParser.processLine("gcc -g -DTEST1 -c `pwd`/Bug237958_1.c");
+ fOutputParser.processLine("gcc -DTEST2=12 -g -ggdb -Wall -c \"`pwd`/./Bug237958_2.c\"");
+
+ List cmds = fCollector.getCollectedScannerInfo(file1, ScannerInfoTypes.COMPILER_COMMAND);
+ CCommandDSC cdsc= (CCommandDSC) cmds.get(0);
+ List symbols= cdsc.getSymbols();
+ assertEquals(1, symbols.size());
+ assertEquals("TEST1", symbols.get(0).toString());
+
+ cmds = fCollector.getCollectedScannerInfo(file2, ScannerInfoTypes.COMPILER_COMMAND);
+ cdsc= (CCommandDSC) cmds.get(0);
+ symbols= cdsc.getSymbols();
+ assertEquals(1, symbols.size());
+ assertEquals("TEST2=12", symbols.get(0).toString());
+ }
}
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java
index 9d3b40d42dd..e0a8e186d07 100644
--- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java
+++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/AbstractGCCBOPConsoleParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
+ * Copyright (c) 2004, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -197,7 +197,6 @@ public abstract class AbstractGCCBOPConsoleParser implements IScannerInfoConsole
if (c=='`') {
token.append(c); // preserve back-quotes
}
- endToken(token, tokens);
currentQuote= 0;
}
}

Back to the top