From cad3df8412a6b722b7306db7d0403c548b3fbba1 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 9 Mar 2009 17:43:51 +0000 Subject: [PATCH] ccc: Parse -T{bss,data,text}, -iwithsysroot, -specs correctly. Also, fix some test cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66425 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/ccc/ccclib/Arguments.py | 15 ++++++++++++--- tools/ccc/ccclib/Tools.py | 2 +- tools/ccc/test/ccc/Xclang.c | 2 +- tools/ccc/test/ccc/analyze.c | 2 +- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/tools/ccc/ccclib/Arguments.py b/tools/ccc/ccclib/Arguments.py index dfba53f687..48819b0836 100644 --- a/tools/ccc/ccclib/Arguments.py +++ b/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/tools/ccc/ccclib/Tools.py b/tools/ccc/ccclib/Tools.py index aabd1753c2..85bc01d837 100644 --- a/tools/ccc/ccclib/Tools.py +++ b/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/tools/ccc/test/ccc/Xclang.c b/tools/ccc/test/ccc/Xclang.c index 39da6a8198..141420e1bb 100644 --- a/tools/ccc/test/ccc/Xclang.c +++ b/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/tools/ccc/test/ccc/analyze.c b/tools/ccc/test/ccc/analyze.c index 6693c76667..1f4fd72512 100644 --- a/tools/ccc/test/ccc/analyze.c +++ b/tools/ccc/test/ccc/analyze.c @@ -1,5 +1,5 @@ // RUN: xcc --analyze %s -o %t && -// RUN: grep 'Dereference of null pointer.' %t && +// RUN: grep 'Dereference of null pointer' %t && // RUN: xcc -### --analyze %s -Xanalyzer -check-that-program-halts &> %t && // RUN: grep 'check-that-program-halts' %t -- 2.40.0