[llvm-bugs] [Bug 40248] New: _Atomic not removed from rvalue in controlling expression of _Generic.
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Jan 7 13:57:25 PST 2019
https://bugs.llvm.org/show_bug.cgi?id=40248
Bug ID: 40248
Summary: _Atomic not removed from rvalue in controlling
expression of _Generic.
Product: clang
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: anders.granlund.0 at gmail.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org,
neeilans at live.com, richard-llvm at metafoo.co.uk
Test case (prog.c):
_Atomic int f();
int main()
{
_Generic(f(), int: 0);
}
Compilation command line:
clang prog.c -Wall -Wextra -std=c11 -pedantic-errors
Observed behaviour:
The following error message was outputed:
error: controlling expression type '_Atomic(int)' not compatible with any
generic association type
Expected behaviour:
No error message.
The program is well-formed.
See 6.5.1.1/2:
"The type of the controlling expression is the type of the expression as if
it
had undergone an lvalue conversion, array to pointer conversion, or function
to pointer conversion"
and 6.3.2/2:
"If the lvalue has qualified type, the value has the unqualified version
of the type of the lvalue; additionally, if the lvalue has atomic type, the
value has the non-atomic version of the type of the lvalue; otherwise, the
value has the type of the lvalue."
Note:
GCC accepts the program without outputing any error message.
--
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/20190107/f4d22a49/attachment.html>
More information about the llvm-bugs
mailing list