Author: phosek Date: Wed Aug 15 17:22:03 2018 New Revision: 339834 URL: http://llvm.org/viewvc/llvm-project?rev=339834&view=rev Log: [Driver] -print-target-triple and -print-effective-triple options
These can be used to print Clang target and effective triple. Differential Revision: https://reviews.llvm.org/D50755 Added: cfe/trunk/test/Driver/print-effective-triple.c cfe/trunk/test/Driver/print-target-triple.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=339834&r1=339833&r2=339834&view=diff ============================================================================== --- cfe/trunk/include/clang/Driver/Options.td (original) +++ cfe/trunk/include/clang/Driver/Options.td Wed Aug 15 17:22:03 2018 @@ -2348,6 +2348,10 @@ def print_multi_directory : Flag<["-", " def print_multi_lib : Flag<["-", "--"], "print-multi-lib">; def print_multi_os_directory : Flag<["-", "--"], "print-multi-os-directory">, Flags<[Unsupported]>; +def print_target_triple : Flag<["-", "--"], "print-target-triple">, + HelpText<"Print the normalized target triple">; +def print_effective_triple : Flag<["-", "--"], "print-effective-triple">, + HelpText<"Print the effective target triple">; def print_prog_name_EQ : Joined<["-", "--"], "print-prog-name=">, HelpText<"Print the full program path of <name>">, MetaVarName<"<name>">; def print_resource_dir : Flag<["-", "--"], "print-resource-dir">, Modified: cfe/trunk/lib/Driver/Driver.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=339834&r1=339833&r2=339834&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Driver.cpp (original) +++ cfe/trunk/lib/Driver/Driver.cpp Wed Aug 15 17:22:03 2018 @@ -1672,6 +1672,18 @@ bool Driver::HandleImmediateArgs(const C } return false; } + + if (C.getArgs().hasArg(options::OPT_print_target_triple)) { + llvm::outs() << TC.getTripleString() << "\n"; + return false; + } + + if (C.getArgs().hasArg(options::OPT_print_effective_triple)) { + const llvm::Triple Triple(TC.ComputeEffectiveClangTriple(C.getArgs())); + llvm::outs() << Triple.getTriple() << "\n"; + return false; + } + return true; } Added: cfe/trunk/test/Driver/print-effective-triple.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/print-effective-triple.c?rev=339834&view=auto ============================================================================== --- cfe/trunk/test/Driver/print-effective-triple.c (added) +++ cfe/trunk/test/Driver/print-effective-triple.c Wed Aug 15 17:22:03 2018 @@ -0,0 +1,6 @@ +// Test that -print-target-triple prints correct triple. + +// RUN: %clang -print-effective-triple 2>&1 \ +// RUN: --target=thumb-linux-gnu \ +// RUN: | FileCheck %s +// CHECK: armv4t-unknown-linux-gnu Added: cfe/trunk/test/Driver/print-target-triple.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/print-target-triple.c?rev=339834&view=auto ============================================================================== --- cfe/trunk/test/Driver/print-target-triple.c (added) +++ cfe/trunk/test/Driver/print-target-triple.c Wed Aug 15 17:22:03 2018 @@ -0,0 +1,6 @@ +// Test that -print-target-triple prints correct triple. + +// RUN: %clang -print-target-triple 2>&1 \ +// RUN: --target=x86_64-linux-gnu \ +// RUN: | FileCheck %s +// CHECK: x86_64-unknown-linux-gnu _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits