Author: jcai19 Date: Mon Oct 14 15:28:03 2019 New Revision: 374834 URL: http://llvm.org/viewvc/llvm-project?rev=374834&view=rev Log: Add support to -Wa,-W in clang
Summary: Currently clang does not support -Wa,-W, which suppresses warning messages in GNU assembler. Add this option for gcc compatibility. https://bugs.llvm.org/show_bug.cgi?id=43651. Reland with differential information. Reviewers: bcain Reviewed By: bcain Subscribers: george.burgess.iv, gbiv, llozano, manojgupta, nickdesaulniers, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68884 Added: cfe/trunk/test/Driver/as-w-option.c Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=374834&r1=374833&r2=374834&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Mon Oct 14 15:28:03 2019 @@ -2140,7 +2140,7 @@ static void CollectArgsForIntegratedAsse CmdArgs.push_back("-msave-temp-labels"); } else if (Value == "--fatal-warnings") { CmdArgs.push_back("-massembler-fatal-warnings"); - } else if (Value == "--no-warn") { + } else if (Value == "--no-warn" || Value == "-W") { CmdArgs.push_back("-massembler-no-warn"); } else if (Value == "--noexecstack") { UseNoExecStack = true; Added: cfe/trunk/test/Driver/as-w-option.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/as-w-option.c?rev=374834&view=auto ============================================================================== --- cfe/trunk/test/Driver/as-w-option.c (added) +++ cfe/trunk/test/Driver/as-w-option.c Mon Oct 14 15:28:03 2019 @@ -0,0 +1,14 @@ +// RUN: %clang -### %s -c -o tmp.o -fno-integrated-as -Wa,-W 2>&1 | FileCheck -check-prefix=CHECK-NOIAS %s +// RUN: %clang -### %s -c -o tmp.o -integrated-as -Wa,-W 2>&1 | FileCheck -check-prefix=CHECK-IAS %s +// RUN: %clang %s -c -o %t.o -integrated-as -Wa,-W 2>&1 | FileCheck -allow-empty --check-prefix=CHECK-AS-NOWARN %s +// RUN: %clang %s -c -o %t.o -fno-integrated-as -Wa,-W 2>&1 | FileCheck -allow-empty --check-prefix=CHECK-AS-NOWARN %s +// RUN: not %clang %s -c -o %t.o -integrated-as -Wa,--fatal-warnings 2>&1 | FileCheck --check-prefix=CHECK-AS-FATAL %s +// RUN: not %clang %s -c -o %t.o -fno-integrated-as -Wa,--fatal-warnings 2>&1 | FileCheck --check-prefix=CHECK-AS-FATAL %s + +// CHECK-IAS: "-cc1" {{.*}} "-massembler-no-warn" +// CHECK-NOIAS: "-W" +// CHECK-AS-NOWARN-NOT: warning: +// CHECK-AS-FATAL-NOT: warning: +// CHECK-AS-FATAL: error + +__asm(".warning"); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits