MaskRay created this revision. MaskRay added reviewers: michaelplatings, peter.smith, simon_tatham, nathanchance. Herald added a subscriber: kristof.beyls. Herald added a project: All. MaskRay requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Clang Driver used to report a warning for assembler input when -mabi= is specified and switched to an error after D152856 <https://reviews.llvm.org/D152856>. GCC translates -mabi={apcs-gnu,atpcs} to gas -meabi=gnu and other -mabi= values to -meabi=5. We don't support setting e_flags to any value other than EF_ARM_EABI_VER5. For simplicity, just report a warning for -mabi= like before. Close https://github.com/ClangBuiltLinux/linux/issues/1878 Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D153691 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/test/Driver/arm-abi.c Index: clang/test/Driver/arm-abi.c =================================================================== --- clang/test/Driver/arm-abi.c +++ clang/test/Driver/arm-abi.c @@ -61,3 +61,8 @@ // CHECK-APCS-GNU: "-target-abi" "apcs-gnu" // CHECK-AAPCS: "-target-abi" "aapcs" // CHECK-AAPCS-LINUX: "-target-abi" "aapcs-linux" + +// RUN: %clang --target=arm---gnueabi -mabi=aapcs -x assembler %s -### -o /dev/null 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-ASM %s + +// CHECK-ASM: warning: argument unused during compilation: '-mabi={{.*}}' Index: clang/lib/Driver/ToolChains/Arch/ARM.cpp =================================================================== --- clang/lib/Driver/ToolChains/Arch/ARM.cpp +++ clang/lib/Driver/ToolChains/Arch/ARM.cpp @@ -524,6 +524,10 @@ } } } + + // Accept but warn. + if (Arg *A = Args.getLastArgNoClaim(options::OPT_mabi_EQ)) + A->ignoreTargetSpecific(); } if (getReadTPMode(D, Args, Triple, ForAS) == ReadTPMode::TPIDRURW)
Index: clang/test/Driver/arm-abi.c =================================================================== --- clang/test/Driver/arm-abi.c +++ clang/test/Driver/arm-abi.c @@ -61,3 +61,8 @@ // CHECK-APCS-GNU: "-target-abi" "apcs-gnu" // CHECK-AAPCS: "-target-abi" "aapcs" // CHECK-AAPCS-LINUX: "-target-abi" "aapcs-linux" + +// RUN: %clang --target=arm---gnueabi -mabi=aapcs -x assembler %s -### -o /dev/null 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-ASM %s + +// CHECK-ASM: warning: argument unused during compilation: '-mabi={{.*}}' Index: clang/lib/Driver/ToolChains/Arch/ARM.cpp =================================================================== --- clang/lib/Driver/ToolChains/Arch/ARM.cpp +++ clang/lib/Driver/ToolChains/Arch/ARM.cpp @@ -524,6 +524,10 @@ } } } + + // Accept but warn. + if (Arg *A = Args.getLastArgNoClaim(options::OPT_mabi_EQ)) + A->ignoreTargetSpecific(); } if (getReadTPMode(D, Args, Triple, ForAS) == ReadTPMode::TPIDRURW)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits