]> git.ipfire.org Git - thirdparty/gcc.git/commit
c: Ignore _Atomic on function return type for C2x
authorJoseph Myers <joseph@codesourcery.com>
Mon, 15 May 2023 23:17:48 +0000 (23:17 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 15 May 2023 23:17:48 +0000 (23:17 +0000)
commitd62d5686f41bb4ea50b8de640fac51decd24199a
tree497c7c56004b5d89d717108bd9ef60777615ca54
parent2f27218ced2a23819c8fe8ba30ae74911b2c3cf1
c: Ignore _Atomic on function return type for C2x

For C2x it was decided that _Atomic would be completely ignored on
function return types (just as was done for qualifiers in C11 DR#423),
to eliminate the potential for an rvalue returned by a function having
_Atomic-qualified type when an rvalue resulting from lvalue-to-rvalue
conversion could not have such a type.  Implement this for GCC.

Bootstrapped with no regressions for x86_64-pc-linux-gnu.

gcc/c/
* c-decl.cc (grokdeclarator): Ignore _Atomic on function return
type for C2x.

gcc/testsuite/
* gcc.dg/qual-return-9.c, gcc.dg/qual-return-10.c: New tests.
gcc/c/c-decl.cc
gcc/testsuite/gcc.dg/qual-return-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/qual-return-9.c [new file with mode: 0644]