Index: include/clang/Driver/CC1Options.td =================================================================== --- include/clang/Driver/CC1Options.td +++ include/clang/Driver/CC1Options.td @@ -25,11 +25,11 @@ HelpText<"Target specific attributes">; def triple : Separate<["-"], "triple">, HelpText<"Specify target triple (e.g. i686-apple-darwin9)">; +def target_abi : Separate<["-"], "target-abi">, + HelpText<"Target a particular ABI type">; } -def target_abi : Separate<["-"], "target-abi">, - HelpText<"Target a particular ABI type">; def target_linker_version : Separate<["-"], "target-linker-version">, HelpText<"Target linker version">; def triple_EQ : Joined<["-"], "triple=">, Alias; Index: test/Driver/target-abi-cc1as.s =================================================================== --- /dev/null +++ test/Driver/target-abi-cc1as.s @@ -0,0 +1,17 @@ +// Check if -cc1as knows about the 'target-abi' argument. + +// RUN: %clang -cc1as -triple mips--linux-gnu -filetype obj -target-cpu mips32 -target-abi o32 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=ABI-O32 %s +// ABI-O32-NOT: clang -cc1as: error: unknown argument: '-target-abi' + +// RUN: %clang -cc1as -triple mips--linux-gnu -filetype obj -target-cpu mips32 -target-abi eabi %s 2>&1 | \ +// RUN: FileCheck --check-prefix=ABI-EABI32 %s +// ABI-EABI32-NOT: clang -cc1as: error: unknown argument: '-target-abi' + +// RUN: %clang -cc1as -triple mips64--linux-gnu -filetype obj -target-cpu mips64 -target-abi n32 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=ABI-N32 %s +// ABI-N32-NOT: clang -cc1as: error: unknown argument: '-target-abi' + +// RUN: %clang -cc1as -triple mips64--linux-gnu -filetype obj -target-cpu mips64 -target-abi n64 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=ABI-N64 %s +// ABI-N64-NOT: clang -cc1as: error: unknown argument: '-target-abi'