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

Ed Smith-Rowland via libstdc++ libstdc++@gcc.gnu.org
Wed Aug 7 15:58:00 GMT 2019


On 8/6/19 11:30 AM, 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
>    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.

I've been building C++14 code (and C++17 and C++20 code) with this patch 
for half a year and no ICE.

I don't see how the patch could impact pre C++20 code.

Ed




More information about the Libstdc++ mailing list