On Fri, May 29, 2026 at 02:14:23AM +0800, yxj-github-437 wrote:
> I try compile reflection test code with std module without
> -freflection but build std module with -freflection. An ICE
> accur when I do this.

Can you give us instruction to reproduce the crash?

> With debug, the std::meta::info cannot find original type (this
> is a builtin type with -freflection), so add a DECL_ORIGINAL_TYPE
> check.
> 
> gcc/cp/ChangeLog:
>       * module.cc(trees_in::decl_value): handle typedef
>       with DECL_ORIGINAL_TYPE check
> ---
>  gcc/cp/module.cc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
> index 02e53ef3969..04d9c62bc6e 100644
> --- a/gcc/cp/module.cc
> +++ b/gcc/cp/module.cc
> @@ -8959,7 +8959,7 @@ trees_in::decl_value ()
>         back_refs[~tag] = decl;
>       }
>  
> -      if (is_typedef)
> +      if (is_typedef && DECL_ORIGINAL_TYPE (inner))
>       {
>         /* Frob it to be ready for cloning.  */
>         TREE_TYPE (inner) = DECL_ORIGINAL_TYPE (inner);
> -- 
> 2.53.0
> 

Marek

Reply via email to