# Blanket pass-through options.
- self.WAOption = self.addOption(CommaJoinedOption('-WA,'))
+ self.XanalyzerOption = self.addOption(SeparateOption('-Xanalyzer'))
+ self.XclangOption = self.addOption(SeparateOption('-Xclang'))
self.WaOption = self.addOption(CommaJoinedOption('-Wa,'))
self.XassemblerOption = self.addOption(SeparateOption('-Xassembler'))
cmd_args.append('-analyzer-output-plist')
- # Add -WA, arguments when running as analyzer.
- for arg in arglist.getArgs(arglist.parser.WAOption):
- cmd_args.extend(arglist.renderAsInput(arg))
+ # Add -Xanalyzer arguments when running as analyzer.
+ for arg in arglist.getArgs(arglist.parser.XanalyzerOption):
+ cmd_args.extend(arglist.getValues(arg))
else:
# Perform argument translation for LLVM backend. This
# takes some care in reconciling with llvm-gcc. The
arglist.addLastArg(cmd_args, arglist.parser.f_pascalStringsOption)
arglist.addLastArg(cmd_args, arglist.parser.f_writableStringsOption)
+ for arg in arglist.getArgs(arglist.parser.XclangOption):
+ cmd_args.extend(arglist.getValues(arg))
+
if arch is not None:
cmd_args.extend(arglist.render(arch))
// 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
void f(int *p) {
if (!p)