[Bug target/90479] gcc-arm-none-eabi-8-2018-q4-major [c99 plus -pg not working]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90479 --- Comment #6 from CVS Commits --- The releases/gcc-10 branch has been updated by Jason Merrill : https://gcc.gnu.org/g:fe0f9ef823dda3205638a2f23d08eb7d0bc497b9 commit r10-9855-gfe0f9ef823dda3205638a2f23d08eb7d0bc497b9 Author: Jason Merrill Date: Tue Apr 13 12:33:39 2021 -0400 c++: generic lambda in template fn with DMI [PR100054] get_nsdmi instantiates default member initializers on demand. It tries to push into the context of the class before doing so, so access checking works properly, but since my patch for 90479 not for local classes. We should only be doing this when any template parameters have arguments. But in this case, we get here while regenerating a generic lambda, so processing_template_decl is true, even though the class and its DMI are non-dependent at this point. And so we crashed. So let's do more of the pushing into the context of the class even for local classes. gcc/cp/ChangeLog: PR c++/100054 PR c++/90479 * init.c (get_nsdmi): Do more context adjustment for local classes. gcc/testsuite/ChangeLog: PR c++/100054 * g++.dg/cpp1y/lambda-generic-local-class1.C: New test.
[Bug target/90479] gcc-arm-none-eabi-8-2018-q4-major [c99 plus -pg not working]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90479 --- Comment #5 from CVS Commits --- The master branch has been updated by Jason Merrill : https://gcc.gnu.org/g:6173f713a35d5450f0e2acfdaec695b42632aeed commit r11-8157-g6173f713a35d5450f0e2acfdaec695b42632aeed Author: Jason Merrill Date: Tue Apr 13 12:33:39 2021 -0400 c++: generic lambda in template fn with DMI [PR100054] get_nsdmi instantiates default member initializers on demand. It tries to push into the context of the class before doing so, so access checking works properly, but since my patch for 90479 not for local classes. We should only be doing this when any template parameters have arguments. But in this case, we get here while regenerating a generic lambda, so processing_template_decl is true, even though the class and its DMI are non-dependent at this point. And so we crashed. So let's do more of the pushing into the context of the class even for local classes. gcc/cp/ChangeLog: PR c++/100054 PR c++/90479 * init.c (get_nsdmi): Do more context adjustment for local classes. gcc/testsuite/ChangeLog: PR c++/100054 * g++.dg/cpp1y/lambda-generic-local-class1.C: New test.
[Bug target/90479] gcc-arm-none-eabi-8-2018-q4-major [c99 plus -pg not working]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90479 --- Comment #4 from CVS Commits --- The releases/gcc-9 branch has been updated by Jason Merrill : https://gcc.gnu.org/g:e153e0ef3a35c2c72e8bf89bd905fe27f8877852 commit r9-8622-ge153e0ef3a35c2c72e8bf89bd905fe27f8877852 Author: Jason Merrill Date: Mon May 25 18:38:09 2020 -0400 c++: Local class DMI using local static [PR90479] For default member initializers in templates it's important to push into the right context during get_nsdmi. But for a local class that's not possible, and trying leaves the function context we need to be in, so don't try. gcc/cp/ChangeLog 2020-05-01 Jason Merrill PR c++/90479 * init.c (get_nsdmi): Don't push_to_top_level for a local class.
[Bug target/90479] gcc-arm-none-eabi-8-2018-q4-major [c99 plus -pg not working]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90479 --- Comment #3 from CVS Commits --- The releases/gcc-10 branch has been updated by Jason Merrill : https://gcc.gnu.org/g:c79e664b153bd4cfdeec77b495d595e50b97c752 commit r10-8182-gc79e664b153bd4cfdeec77b495d595e50b97c752 Author: Jason Merrill Date: Mon May 25 18:04:39 2020 -0400 c++: Local class DMI using local static [PR90749] For default member initializers in templates it's important to push into the right context during get_nsdmi. But for a local class that's not possible, and trying leaves the function context we need to be in, so don't try. gcc/cp/ChangeLog 2020-05-01 Jason Merrill PR c++/90479 * init.c (get_nsdmi): Don't push_to_top_level for a local class.
[Bug target/90479] gcc-arm-none-eabi-8-2018-q4-major [c99 plus -pg not working]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90479 --- Comment #2 from CVS Commits --- The master branch has been updated by Jason Merrill : https://gcc.gnu.org/g:82d5decef38b5562d97c49a70ca2636a08769dbc commit r11-17-g82d5decef38b5562d97c49a70ca2636a08769dbc Author: Jason Merrill Date: Fri May 1 13:53:32 2020 -0400 c++: Local class DMI using local static [PR90479] For default member initializers in templates it's important to push into the right context during get_nsdmi. But for a local class that's not possible, and trying leaves the function context we need to be in, so don't try. gcc/cp/ChangeLog 2020-05-01 Jason Merrill PR c++/90479 * init.c (get_nsdmi): Don't push_to_top_level for a local class.
[Bug target/90479] gcc-arm-none-eabi-8-2018-q4-major [c99 plus -pg not working]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90479 Andrew Pinski changed: What|Removed |Added Target||arm-none-eabi Status|UNCONFIRMED |RESOLVED Component|c++ |target Resolution|--- |INVALID --- Comment #1 from Andrew Pinski --- libc is not provided by GCC. Also this is a binary toolchain, please ask/report issues with it to them before us.