FYI I see this test failure after your change: Command 2: "llvm/build/bin/./clang.EXE" "-no-integrated-as" "-via-file-asm" "llvm\tools\clang\test\Driver\via-file-asm.c" "-###" Command 2 Result: 3
Looks like an assertion failure? 2013/12/7 David Peixotto <[email protected]>: > Author: dpeixott > Date: Fri Dec 6 14:27:33 2013 > New Revision: 196606 > > URL: http://llvm.org/viewvc/llvm-project?rev=196606&view=rev > Log: > Add option to use temporary file for assembling with clang > > This commit adds the flag '-via-file-asm' to the clang driver. The > purpose of this flag is to have a way to test that clang can consume > the assembly code that it outputs. When passed this flag, clang will > generate a temporary file that contains the assembly output from the > compile step. This assembly file will then be consumed by either the > integrated assembler or the external assembler. To test that the > integrated assembler can consume its own output compile with: > > $ clang -integrated-assembler -via-file-asm > > Without the '-via-file-asm' flag, clang would directly create the > object file when using the integrated assembler. With the flag it > will first create the temporary assembly file and then read that > file and assemble it with the integrated assembler. > > The flow is similar to -save-temps, except that it only effects > the assembly input and the temporary file is not saved. > > Added: > cfe/trunk/test/Driver/via-file-asm.c > Modified: > cfe/trunk/include/clang/Driver/Options.td > cfe/trunk/lib/Driver/Driver.cpp > > Modified: cfe/trunk/include/clang/Driver/Options.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=196606&r1=196605&r2=196606&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Driver/Options.td (original) > +++ cfe/trunk/include/clang/Driver/Options.td Fri Dec 6 14:27:33 2013 > @@ -1230,6 +1230,8 @@ def rtlib_EQ : Joined<["-", "--"], "rtli > def r : Flag<["-"], "r">; > def save_temps : Flag<["-", "--"], "save-temps">, Flags<[DriverOption]>, > HelpText<"Save intermediate compilation results">; > +def via_file_asm : Flag<["-", "--"], "via-file-asm">, Flags<[DriverOption]>, > + HelpText<"Write assembly to file for input to assemble jobs">; > def sectalign : MultiArg<["-"], "sectalign", 3>; > def sectcreate : MultiArg<["-"], "sectcreate", 3>; > def sectobjectsymbols : MultiArg<["-"], "sectobjectsymbols", 2>; > > Modified: cfe/trunk/lib/Driver/Driver.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=196606&r1=196605&r2=196606&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/Driver.cpp (original) > +++ cfe/trunk/lib/Driver/Driver.cpp Fri Dec 6 14:27:33 2013 > @@ -1456,6 +1456,7 @@ static const Tool *SelectToolForJob(Comp > > if (TC->useIntegratedAs() && > !C.getArgs().hasArg(options::OPT_save_temps) && > + !C.getArgs().hasArg(options::OPT_via_file_asm) && > !C.getArgs().hasArg(options::OPT__SLASH_FA) && > !C.getArgs().hasArg(options::OPT__SLASH_Fa) && > isa<AssembleJobAction>(JA) && > > Added: cfe/trunk/test/Driver/via-file-asm.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/via-file-asm.c?rev=196606&view=auto > ============================================================================== > --- cfe/trunk/test/Driver/via-file-asm.c (added) > +++ cfe/trunk/test/Driver/via-file-asm.c Fri Dec 6 14:27:33 2013 > @@ -0,0 +1,14 @@ > +// Should save and read back the assembly from a file > +// RUN: %clang -integrated-as -via-file-asm %s -### 2>&1 | FileCheck %s > +// CHECK: "-cc1" > +// CHECK: "-o" "[[TMP:[^"]*]]" > +// CHECK: -cc1as > +// CHECK: [[TMP]] > + > +// Should not force using the integrated assembler > +// RUN: %clang -no-integrated-as -via-file-asm %s -### 2>&1 | FileCheck > --check-prefix=NO_IAS %s > +// NO_IAS-NOT: "-cc1as" > + > +// Test arm target specifically for the same behavior > +// RUN: %clang -target arm -integrated-as -via-file-asm %s -### 2>&1 | > FileCheck %s > +// RUN: %clang -target arm -no-integrated-as -via-file-asm %s -### 2>&1 | > FileCheck --check-prefix=NO_IAS %s > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
