[PATCH 1/3] C++20 constexpr lib part 1/3

Jonathan Wakely jwakely@redhat.com
Tue Aug 6 20:29:00 GMT 2019


On 06/08/19 15:30 +0000, Steve Ellcey wrote:
>Ed,
>
>I have run into an ICE that I tracked down to this patch:
>
>commit 02fefffe6b78c4c39169206aa40fb53f367ecba8
>Author: emsr <emsr@138bc75d-0d04-0410-961f-82ee72b054a4>
>Date:   Thu Aug 1 15:25:42 2019 +0000
>
>    2019-08-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
>
>            Implement C++20 p0202 - Add Constexpr Modifiers to Functions
>            in <algorithm> and <utility> Headers.
>            Implement C++20 p1023 - constexpr comparison operators for std::array.
>
>
>Before I try to create a smaller test example (the current failure happens
>when I build https://github.com/llnl/RAJAPerf.git) I was wondering if you
>have already seen this ICE:
>
>/extra/sellcey/raja-build-error/RAJAPerf/src/apps/WIP-COUPLE.cpp: In member function 'virtual void rajaperf::apps::COUPLE::runKernel(rajaperf::VariantID)':
>/extra/sellcey/raja-build-error/RAJAPerf/src/apps/WIP-COUPLE.cpp:217:1: internal compiler error: Segmentation fault

The RAJAPerf code appears to be built with -std=gnu++11 which means
Ed's patch should make almost no difference at all. 99% of the patch
has no effect unless compiling with -std=gnu++2a.

I don't see any ICE running the libstdc++ testsuite with -std=gnu++11,
so I have no better suggestion than creating a bugzilla report for the
C++ front-end, with the preprocessed source of WIP-COUPLE.cpp

>  217 | } // end namespace rajaperf
>      | ^
>0xe81ddf crash_signal
>	../../gcc/gcc/toplev.c:326
>0x968d14 lookup_page_table_entry
>	../../gcc/gcc/ggc-page.c:632
>0x968d14 ggc_set_mark(void const*)
>	../../gcc/gcc/ggc-page.c:1531
>0xbfeadf gt_ggc_mx_symtab_node(void*)
>	/extra/sellcey/gcc-tot/obj-gcc/gcc/gtype-desc.c:1302
>0xd9d2a7 gt_ggc_ma_order
>	./gt-passes.h:31
>0xd9d2a7 gt_ggc_ma_order
>	./gt-passes.h:26
>0xb6f49f ggc_mark_root_tab
>	../../gcc/gcc/ggc-common.c:77
>0xb6f6c3 ggc_mark_roots()
>	../../gcc/gcc/ggc-common.c:94
>0x9696af ggc_collect()
>	../../gcc/gcc/ggc-page.c:2201
>Please submit a full bug report,
>with preprocessed source if appropriate.
>Please include the complete backtrace with any bug report.
>See <https://gcc.gnu.org/bugs/> for instructions.



More information about the Gcc-patches mailing list