public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members @ 2022-05-16 19:06 ppalka at gcc dot gnu.org 2022-05-16 19:08 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members since r13-160-g967cdbe6629653 ppalka at gcc dot gnu.org ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: ppalka at gcc dot gnu.org @ 2022-05-16 19:06 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105622 Bug ID: 105622 Summary: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ppalka at gcc dot gnu.org Target Milestone: --- struct empty { empty() = default; constexpr empty(int) { } }; struct container { empty __begin_ = {}; [[no_unique_address]] empty __size_ = 0; }; constexpr bool test() { container s; return true; } static_assert(test()); testcase.ii: In function ‘constexpr bool test()’: testcase.ii:12:13: in ‘constexpr’ expansion of ‘s.container::container()’ testcase.ii:12:13: internal compiler error: in cxx_eval_store_expression, at cp/constexpr.cc:5927 12 | container s; | ^ 0x6a0ca0 cxx_eval_store_expression /home/patrick/gcc/gcc/cp/constexpr.cc:5927 0x96c254 cxx_eval_constant_expression /home/patrick/gcc/gcc/cp/constexpr.cc:6847 0x96c4d6 cxx_eval_constant_expression /home/patrick/gcc/gcc/cp/constexpr.cc:7236 0x96c717 cxx_eval_constant_expression /home/patrick/gcc/gcc/cp/constexpr.cc:7048 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members since r13-160-g967cdbe6629653 2022-05-16 19:06 [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members ppalka at gcc dot gnu.org @ 2022-05-16 19:08 ` ppalka at gcc dot gnu.org 2022-05-17 6:58 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] " rguenth at gcc dot gnu.org ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: ppalka at gcc dot gnu.org @ 2022-05-16 19:08 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105622 Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |13.0 CC| |jason at gcc dot gnu.org Known to work| |12.1.0 Status|UNCONFIRMED |NEW Keywords| |ice-on-valid-code Ever confirmed|0 |1 Summary|ICE in |[13 Regression] ICE in |cxx_eval_store_expression |cxx_eval_store_expression |with [[no_unique_address]] |with [[no_unique_address]] |and empty data members |and empty data members | |since | |r13-160-g967cdbe6629653 Target Milestone|--- |13.0 See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=105245 Last reconfirmed| |2022-05-16 --- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> --- Started with r13-160-g967cdbe6629653. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] since r13-160-g967cdbe6629653 2022-05-16 19:06 [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members ppalka at gcc dot gnu.org 2022-05-16 19:08 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members since r13-160-g967cdbe6629653 ppalka at gcc dot gnu.org @ 2022-05-17 6:58 ` rguenth at gcc dot gnu.org 2022-05-17 22:16 ` jason at gcc dot gnu.org ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: rguenth at gcc dot gnu.org @ 2022-05-17 6:58 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105622 Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] since r13-160-g967cdbe6629653 2022-05-16 19:06 [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members ppalka at gcc dot gnu.org 2022-05-16 19:08 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members since r13-160-g967cdbe6629653 ppalka at gcc dot gnu.org 2022-05-17 6:58 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] " rguenth at gcc dot gnu.org @ 2022-05-17 22:16 ` jason at gcc dot gnu.org 2022-05-24 19:50 ` cvs-commit at gcc dot gnu.org 2022-05-24 20:07 ` jason at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: jason at gcc dot gnu.org @ 2022-05-17 22:16 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105622 Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org Status|NEW |ASSIGNED ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] since r13-160-g967cdbe6629653 2022-05-16 19:06 [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members ppalka at gcc dot gnu.org ` (2 preceding siblings ...) 2022-05-17 22:16 ` jason at gcc dot gnu.org @ 2022-05-24 19:50 ` cvs-commit at gcc dot gnu.org 2022-05-24 20:07 ` jason at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2022-05-24 19:50 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105622 --- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <jason@gcc.gnu.org>: https://gcc.gnu.org/g:2540e2c604142889308857657d3510874955336a commit r13-746-g2540e2c604142889308857657d3510874955336a Author: Jason Merrill <jason@redhat.com> Date: Fri May 20 16:16:25 2022 -0400 c++: constexpr empty base redux [PR105622] Here calling the constructor for s.__size_ had ctx->ctor for s itself because cxx_eval_store_expression doesn't create a ctor for the empty field. Then cxx_eval_call_expression returned the s initializer, and my empty base overhaul in r13-160 got confused because the type of init is not an empty class. But that's OK, we should be checking the type of the original LHS instead. We also want to use initialized_type in the condition, in case init is an AGGR_INIT_EXPR. I spent quite a while working on more complex solutions before coming back to this simple one. PR c++/105622 gcc/cp/ChangeLog: * constexpr.cc (cxx_eval_store_expression): Adjust assert. Use initialized_type. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/no_unique_address14.C: New test. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] since r13-160-g967cdbe6629653 2022-05-16 19:06 [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members ppalka at gcc dot gnu.org ` (3 preceding siblings ...) 2022-05-24 19:50 ` cvs-commit at gcc dot gnu.org @ 2022-05-24 20:07 ` jason at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: jason at gcc dot gnu.org @ 2022-05-24 20:07 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105622 Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> --- Fixed. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-24 20:07 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-05-16 19:06 [Bug c++/105622] New: ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members ppalka at gcc dot gnu.org 2022-05-16 19:08 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] and empty data members since r13-160-g967cdbe6629653 ppalka at gcc dot gnu.org 2022-05-17 6:58 ` [Bug c++/105622] [13 Regression] ICE in cxx_eval_store_expression with [[no_unique_address]] " rguenth at gcc dot gnu.org 2022-05-17 22:16 ` jason at gcc dot gnu.org 2022-05-24 19:50 ` cvs-commit at gcc dot gnu.org 2022-05-24 20:07 ` jason at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).