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);

Reply via email to