https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97468
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
#1 0x00000000016e9d82 in layout_type (
type=<template_type_parm 0x7ffff696adc8 auto>)
at /home/rguenther/src/gcc2/gcc/stor-layout.c:2618
but of course calling layout_type from type_hash_canon is quite fishy as
we'll end up layouting a template_type_parm here ... now, feeding this
to type_hash_canon is fishy as well so the FE should probably not call
any of the attribute handlers on those ...
tree
type_hash_canon (unsigned int hashcode, tree type)
{
type_hash in;
type_hash **loc;
/* The hash table only contains main variants, so ensure that's what we're
being passed. */
gcc_assert (TYPE_MAIN_VARIANT (type) == type);
/* The TYPE_ALIGN field of a type is set by layout_type(), so we
must call that routine before comparing TYPE_ALIGNs. */
layout_type (type);