summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-09 17:43:51 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-09 17:43:51 +0000
commit1e6efc0cf41082eebf8570238f2f4d1c090fc5f2 (patch)
tree91af62beccde7d6724b61f0060f28dc6fb6d905a
parent4718296d640681a0c5f4c895a3804b839801d9da (diff)
downloadbcm5719-llvm-1e6efc0cf41082eebf8570238f2f4d1c090fc5f2.tar.gz
bcm5719-llvm-1e6efc0cf41082eebf8570238f2f4d1c090fc5f2.zip
ccc: Parse -T{bss,data,text}, -iwithsysroot, -specs correctly.
Also, fix some test cases. llvm-svn: 66425
-rw-r--r--clang/tools/ccc/ccclib/Arguments.py15
-rw-r--r--clang/tools/ccc/ccclib/Tools.py2
-rw-r--r--clang/tools/ccc/test/ccc/Xclang.c2
-rw-r--r--clang/tools/ccc/test/ccc/analyze.c2
4 files changed, 15 insertions, 6 deletions
diff --git a/clang/tools/ccc/ccclib/Arguments.py b/clang/tools/ccc/ccclib/Arguments.py
index dfba53f6874..48819b08369 100644
--- a/clang/tools/ccc/ccclib/Arguments.py
+++ b/clang/tools/ccc/ccclib/Arguments.py
@@ -536,6 +536,7 @@ class OptionParser:
self.printMultiDirectoryOption = self.addOption(FlagOption('-print-multi-directory'))
self.printMultiOsDirectoryOption = self.addOption(FlagOption('-print-multi-os-directory'))
self.printMultiLibOption = self.addOption(FlagOption('-print-multi-lib'))
+ self.addOption(SeparateOption('-specs', unsupported=True))
# Pipeline control
self.hashHashHashOption = self.addOption(FlagOption('-###'))
@@ -625,6 +626,7 @@ class OptionParser:
self.iwithprefixbeforeOption = self.addOption(JoinedOrSeparateOption('-iwithprefixbefore', self.iGroup))
self.addOption(JoinedOrSeparateOption('-iquote', self.iGroup))
self.isysrootOption = self.addOption(JoinedOrSeparateOption('-isysroot', self.iGroup))
+ self.iwithsysrootOption = self.addOption(JoinedOrSeparateOption('-iwithsysroot', self.iGroup))
self.includeOption = self.addOption(JoinedOrSeparateOption('-include', self.iGroup))
self.keep_private_externsOption = self.addOption(JoinedOrSeparateOption('-keep_private_externs'))
@@ -742,7 +744,13 @@ class OptionParser:
self.IOption = self.addOption(JoinedOrSeparateOption('-I', self.IGroup))
self.LOption = self.addOption(JoinedOrSeparateOption('-L'))
- self.TOption = self.addOption(JoinedOrSeparateOption('-T'))
+
+ self.TGroup = OptionGroup('-T')
+ self.addOption(JoinedOrSeparateOption('-Tbss', self.TGroup))
+ self.addOption(JoinedOrSeparateOption('-Tdata', self.TGroup))
+ self.addOption(JoinedOrSeparateOption('-Ttext', self.TGroup))
+ self.addOption(JoinedOrSeparateOption('-T', self.TGroup))
+
self.UOption = self.addOption(JoinedOrSeparateOption('-U'))
self.ZOption = self.addOption(JoinedOrSeparateOption('-Z'))
@@ -1044,9 +1052,10 @@ class OptionParser:
self.addOption(JoinedOption('--resource=', alias=self.f_compileResourceOption))
self.addOption(SeparateOption('--resource', alias=self.f_compileResourceOption,
forceJoinedRender=True))
- self.addOption(JoinedOption('--specs=', alias=self.specsOption))
+ self.addOption(JoinedOption('--specs=', alias=self.specsOption,
+ unsupported=True))
self.addOption(SeparateOption('--specs', alias=self.specsOption,
- forceJoinedRender=True))
+ forceJoinedRender=True, unsupported=True))
self.addOption(JoinedOption('--std=', alias=self.stdOption))
self.addOption(SeparateOption('--std', alias=self.stdOption,
forceJoinedRender=True))
diff --git a/clang/tools/ccc/ccclib/Tools.py b/clang/tools/ccc/ccclib/Tools.py
index aabd1753c24..85bc01d837c 100644
--- a/clang/tools/ccc/ccclib/Tools.py
+++ b/clang/tools/ccc/ccclib/Tools.py
@@ -1239,7 +1239,7 @@ class Darwin_X86_LinkTool(Tool):
# endfile_spec is empty.
pass
- arglist.addAllArgs(cmd_args, arglist.parser.TOption)
+ arglist.addAllArgs(cmd_args, arglist.parser.TGroup)
arglist.addAllArgs(cmd_args, arglist.parser.FOption)
jobs.addJob(Jobs.Command(self.toolChain.getProgramPath('collect2'),
diff --git a/clang/tools/ccc/test/ccc/Xclang.c b/clang/tools/ccc/test/ccc/Xclang.c
index 39da6a81982..141420e1bb2 100644
--- a/clang/tools/ccc/test/ccc/Xclang.c
+++ b/clang/tools/ccc/test/ccc/Xclang.c
@@ -1 +1 @@
-// RUN: xcc -fsyntax-only -Xclang --help %s | grep 'OVERVIEW: llvm clang cfe'
+// RUN: xcc -fsyntax-only -Xclang --help %s | grep "OVERVIEW: LLVM 'Clang' Compiler"
diff --git a/clang/tools/ccc/test/ccc/analyze.c b/clang/tools/ccc/test/ccc/analyze.c
index 6693c766676..1f4fd725124 100644
--- a/clang/tools/ccc/test/ccc/analyze.c
+++ b/clang/tools/ccc/test/ccc/analyze.c
@@ -1,5 +1,5 @@
// RUN: xcc --analyze %s -o %t &&
-// RUN: grep '<string>Dereference of null pointer.</string>' %t &&
+// RUN: grep '<string>Dereference of null pointer</string>' %t &&
// RUN: xcc -### --analyze %s -Xanalyzer -check-that-program-halts &> %t &&
// RUN: grep 'check-that-program-halts' %t
OpenPOWER on IntegriCloud