[llvm-bugs] [Bug 37679] New: -Wc++-compat should warn on implicit conversions from int to enum
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Jun 4 09:08:35 PDT 2018
https://bugs.llvm.org/show_bug.cgi?id=37679
Bug ID: 37679
Summary: -Wc++-compat should warn on implicit conversions from
int to enum
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: tobias at grosser.es
CC: llvm-bugs at lists.llvm.org
```
$cat /tmp/test.c
enum ENUM {
ENUM_A,
ENUM_B,
};
enum ENUM foo() {
int x;
enum ENUM e;
e = x; // should warn
x = e; // no warning
return x; // should warn
}
enum ENUM bar() {
return ENUM_A; // no warning
}
```
gcc warns here when using `-Wc++-compat`.
$gcc -Wc++-compat /tmp/test.c -c
/tmp/test.c: In function ‘foo’:
/tmp/test.c:10:4: warning: enum conversion in assignment is invalid in C++
[-Wc++-compat]
e = x; // should warn
^
/tmp/test.c:12:9: warning: enum conversion in return is invalid in C++
[-Wc++-compat]
return x; // should warn
^
clang does not warn, but should.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180604/62e1b823/attachment.html>
More information about the llvm-bugs
mailing list