[Bug c++/103185] [11/12/13/14 Regression] ind[arr] is rejected when arr is an array prvalue

2023-12-20 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103185

--- Comment #2 from GCC Commits  ---
The trunk branch has been updated by Jason Merrill :

https://gcc.gnu.org/g:8dfc52a75d4d6c8be1c61b4aa831b1812b14a10e

commit r14-6753-g8dfc52a75d4d6c8be1c61b4aa831b1812b14a10e
Author: Jason Merrill 
Date:   Tue Dec 19 16:12:02 2023 -0500

c++: xvalue array subscript [PR103185]

Normally we handle xvalue array subscripting with ARRAY_REF, but in this
case we weren't doing that because the operands were reversed.  Handle that
case better.

PR c++/103185

gcc/cp/ChangeLog:

* typeck.cc (cp_build_array_ref): Handle swapped operands.

gcc/testsuite/ChangeLog:

* g++.dg/cpp1z/array-prvalue2.C: New test.
* g++.dg/cpp1z/eval-order3.C: Test swapped operands.

[Bug c++/103185] [11/12/13/14 Regression] ind[arr] is rejected when arr is an array prvalue

2023-12-19 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103185

Jason Merrill  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
 CC||jason at gcc dot gnu.org
 Ever confirmed|0   |1
   Last reconfirmed||2023-12-19
 Status|UNCONFIRMED |ASSIGNED

[Bug c++/103185] [11/12/13/14 Regression] ind[arr] is rejected when arr is an array prvalue

2023-11-28 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103185

Patrick Palka  changed:

   What|Removed |Added

   Target Milestone|--- |11.5

[Bug c++/103185] [11/12/13/14 Regression] ind[arr] is rejected when arr is an array prvalue

2023-11-28 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103185

Patrick Palka  changed:

   What|Removed |Added

Summary|ind[arr] is rejected when   |[11/12/13/14 Regression]
   |arr is an array prvalue |ind[arr] is rejected when
   ||arr is an array prvalue
 CC||ppalka at gcc dot gnu.org

--- Comment #1 from Patrick Palka  ---
Started to be rejected in C++17 mode since r10-3793-g1a37b6d9a7e57c:

using intarr = int[];
using type = decltype(0[intarr{0}]); // { dg-bogus "taking address of temporary
array" }