Author: compnerd Date: Tue May 1 11:40:42 2018 New Revision: 331296 URL: http://llvm.org/viewvc/llvm-project?rev=331296&view=rev Log: Driver: fix an assertion with `-print-prog-name=`
Fix an assertion when -print-prog-name= is invoked without parameter. Returns an empty string. Patch by Christian Bruel! Added: cfe/trunk/test/Driver/print-empty-prog-name.c Modified: cfe/trunk/lib/Driver/Driver.cpp Modified: cfe/trunk/lib/Driver/Driver.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=331296&r1=331295&r2=331296&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Driver.cpp (original) +++ cfe/trunk/lib/Driver/Driver.cpp Tue May 1 11:40:42 2018 @@ -1594,7 +1594,13 @@ bool Driver::HandleImmediateArgs(const C } if (Arg *A = C.getArgs().getLastArg(options::OPT_print_prog_name_EQ)) { - llvm::outs() << GetProgramPath(A->getValue(), TC) << "\n"; + StringRef ProgName = A->getValue(); + + // Null program name cannot have a path. + if (! ProgName.empty()) + llvm::outs() << GetProgramPath(ProgName, TC); + + llvm::outs() << "\n"; return false; } Added: cfe/trunk/test/Driver/print-empty-prog-name.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/print-empty-prog-name.c?rev=331296&view=auto ============================================================================== --- cfe/trunk/test/Driver/print-empty-prog-name.c (added) +++ cfe/trunk/test/Driver/print-empty-prog-name.c Tue May 1 11:40:42 2018 @@ -0,0 +1,5 @@ +// Test that -print-prog-name= correctly returns an empty string + +// RUN: %clang -print-prog-name= 2>&1 | FileCheck %s +// CHECK-NOT:{{.+}} + _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits