[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Fangrui Song via cfe-commits

https://github.com/MaskRay edited 
https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Fangrui Song via cfe-commits


@@ -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

MaskRay wrote:

`-verify` does not work for driver errors/warnings. You can add `-Werror`.  In 
case of errors, `clang -###` will exit with code 1. Since lit requires that 
commands exit with code 0, `-### -Werror` alone serves as a test.

```
% clang -### -c -fcx-fortran-rules a.c -Werror
...
clang: error: overriding '' option with '-fcx-fortran-rules' 
[-Werror,-Woverriding-option]
...
```

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Fangrui Song via cfe-commits

https://github.com/MaskRay requested changes to this pull request.

.

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Fangrui Song via cfe-commits

MaskRay wrote:

> Fix erroneous warning.

I'd suggest a more descriptive title, e.g. `[Driver] Fix erroneous warning for 
-fcx-limited-range and -fcx-fortran-rules`

Please also mention #70244 in the description. I am not familiar with the two 
options, I'll trust your judgement as the author of #70244 :)

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Aaron Ballman via cfe-commits

AaronBallman wrote:

> I don't think we need a Release note for it since this was a faulty behavior 
> to start with. It's not related to any of the options.

Ah, good to know, thanks!

> Would be nice to cherry-pick. Not sure how to do that though.

https://llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Zahira Ammarguellat via cfe-commits

zahiraam wrote:

> Thank you for the fix! Can you add some more description to the patch summary 
> as to what's erroneous (the summary ends up becoming the commit message, so a 
> terse summary can be harmful for later code archeology).
> 
> Do we need a release note for this? Are you planning to cherry-pick this to 
> the 18.x branch?

I don't think we need a Release note for it since this was a faulty behavior to 
start with. It's not related to any of the options.

Would be nice to cherry-pick. Not sure how to do that though.

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Zahira Ammarguellat via cfe-commits

https://github.com/zahiraam edited 
https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Aaron Ballman via cfe-commits


@@ -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

AaronBallman wrote:

CC @MaskRay is this a reasonable way to test or should we be using `CHECK-NOT` 
and not using `-verify` because the diagnostics come from the driver?

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Aaron Ballman via cfe-commits

https://github.com/AaronBallman commented:

Thank you for the fix! Can you add some more description to the patch summary 
as to what's erroneous (the summary ends up becoming the commit message, so a 
terse summary can be harmful for later code archeology).

Do we need a release note for this? Are you planning to cherry-pick this to the 
18.x branch?

https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Aaron Ballman via cfe-commits

https://github.com/AaronBallman edited 
https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread via cfe-commits

llvmbot wrote:




@llvm/pr-subscribers-clang

Author: Zahira Ammarguellat (zahiraam)


Changes

This patch is to remove erroneous warning. See https://godbolt.org/z/bYP8P8nqY

---
Full diff: https://github.com/llvm/llvm-project/pull/79821.diff


2 Files Affected:

- (modified) clang/lib/Driver/ToolChains/Clang.cpp (+1-1) 
- (modified) clang/test/Driver/range.c (+4) 


``diff
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp 
b/clang/lib/Driver/ToolChains/Clang.cpp
index 8d8965fdf76fb8a..7ceb248f7afb99e 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 ,
  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 045d9c7d3d802ae..023b5cffbe3e0e4 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

``




https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Zahira Ammarguellat via cfe-commits

https://github.com/zahiraam ready_for_review 
https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Zahira Ammarguellat via cfe-commits

https://github.com/zahiraam edited 
https://github.com/llvm/llvm-project/pull/79821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] Fix erroneous warning. (PR #79821)

2024-01-29 Thread Zahira Ammarguellat via cfe-commits

https://github.com/zahiraam created 
https://github.com/llvm/llvm-project/pull/79821

This patch is to remove warning. See https://godbolt.org/z/bYP8P8nqY

>From c22d670259f1d9fc22b6e01bf19d1f2316b1d617 Mon Sep 17 00:00:00 2001
From: Ammarguellat 
Date: Mon, 29 Jan 2024 04:56:13 -0800
Subject: [PATCH] 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 8d8965fdf76fb8a..7ceb248f7afb99e 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 ,
  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 045d9c7d3d802ae..023b5cffbe3e0e4 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

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits