[clang] [Driver] Fix erroneous warning for -fcx-limited-range and -fcx-fortran-rules. (PR #79821)
Zahira Ammarguellat via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 31 04:59:30 PST 2024
https://github.com/zahiraam updated https://github.com/llvm/llvm-project/pull/79821
>From c22d670259f1d9fc22b6e01bf19d1f2316b1d617 Mon Sep 17 00:00:00 2001
From: Ammarguellat <zahira.ammarguellat at intel.com>
Date: Mon, 29 Jan 2024 04:56:13 -0800
Subject: [PATCH 1/3] Fix erroneous warning.
---
clang/lib/Driver/ToolChains/Clang.cpp | 2 +-
clang/test/Driver/range.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 8d8965fdf76fb..7ceb248f7afb9 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -2705,7 +2705,7 @@ static StringRef EnumComplexRangeToStr(LangOptions::ComplexRangeKind Range) {
static void EmitComplexRangeDiag(const Driver &D,
LangOptions::ComplexRangeKind Range1,
LangOptions::ComplexRangeKind Range2) {
- if (Range1 != LangOptions::ComplexRangeKind::CX_Full)
+ if (Range1 != Range2 && Range1 != LangOptions::ComplexRangeKind::CX_None)
D.Diag(clang::diag::warn_drv_overriding_option)
<< EnumComplexRangeToStr(Range1) << EnumComplexRangeToStr(Range2);
}
diff --git a/clang/test/Driver/range.c b/clang/test/Driver/range.c
index 045d9c7d3d802..023b5cffbe3e0 100644
--- a/clang/test/Driver/range.c
+++ b/clang/test/Driver/range.c
@@ -35,6 +35,9 @@
// RUN: %clang -### -target x86_64 -ffast-math -fno-cx-limited-range -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=FULL %s
+// RUN: %clang -c -target x86_64 -fcx-limited-range %s -Xclang -verify=range
+// RUN: %clang -c -target x86_64 -fcx-fortran-rules %s -Xclang -verify=range
+
// LMTD: -complex-range=limited
// FULL: -complex-range=full
// LMTD-NOT: -complex-range=fortran
@@ -44,3 +47,4 @@
// CHECK-NOT: -complex-range=fortran
// WARN1: warning: overriding '-fcx-limited-range' option with '-fcx-fortran-rules' [-Woverriding-option]
// WARN2: warning: overriding '-fcx-fortran-rules' option with '-fcx-limited-range' [-Woverriding-option]
+// range-no-diagnostics
>From 407340d515c2f1bd9ced550077e9e3c316c4e2c1 Mon Sep 17 00:00:00 2001
From: Ammarguellat <zahira.ammarguellat at intel.com>
Date: Tue, 30 Jan 2024 06:26:53 -0800
Subject: [PATCH 2/3] Fixed LIT test.
---
clang/test/Driver/range.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/clang/test/Driver/range.c b/clang/test/Driver/range.c
index 023b5cffbe3e0..9a51925dba9e8 100644
--- a/clang/test/Driver/range.c
+++ b/clang/test/Driver/range.c
@@ -35,8 +35,11 @@
// RUN: %clang -### -target x86_64 -ffast-math -fno-cx-limited-range -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=FULL %s
-// RUN: %clang -c -target x86_64 -fcx-limited-range %s -Xclang -verify=range
-// RUN: %clang -c -target x86_64 -fcx-fortran-rules %s -Xclang -verify=range
+// RUN: %clang -### -Werror -target x86_64 -fcx-limited-range -c %s 2>&1 \
+// RUN: | FileCheck --check-prefix=LMTD %s
+
+// RUN: %clang -### -Werror -target x86_64 -fcx-fortran-rules -c %s 2>&1 \
+// RUN: | FileCheck --check-prefix=FRTRN %s
// LMTD: -complex-range=limited
// FULL: -complex-range=full
>From d7f2ad17b285fe0fcc153defb45dac2a16ab4e30 Mon Sep 17 00:00:00 2001
From: Ammarguellat <zahira.ammarguellat at intel.com>
Date: Wed, 31 Jan 2024 04:58:57 -0800
Subject: [PATCH 3/3] Remove unused line in range.c.
---
clang/test/Driver/range.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/clang/test/Driver/range.c b/clang/test/Driver/range.c
index 9a51925dba9e8..49116df2f4480 100644
--- a/clang/test/Driver/range.c
+++ b/clang/test/Driver/range.c
@@ -50,4 +50,3 @@
// CHECK-NOT: -complex-range=fortran
// WARN1: warning: overriding '-fcx-limited-range' option with '-fcx-fortran-rules' [-Woverriding-option]
// WARN2: warning: overriding '-fcx-fortran-rules' option with '-fcx-limited-range' [-Woverriding-option]
-// range-no-diagnostics
More information about the cfe-commits
mailing list