On Sun, 30 Nov 2025, Nathaniel Shead wrote:

> Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk?
> 
> -- >8 --
> 
> I hadn't retested r16-5727-g858f3007278337 on trunk before pushing and
> I'd missed that it interacts badly with the assertion added by
> r16-5305-gc38bf35f0c7fa1.  This adjusts the assertion to not check
> DECL_LOCAL_DECL_P functions (as they won't have import_export_decl
> called on them anyway).

IIUC the assert condition could therefore be strengthened to
  DECL_LOCAL_DECL_P && DECL_LANG_SPECIFIC && DECL_OMP_DECLARE_REDUCTION_P
OK by me if so

> 
>       PR c++/119864
> 
> gcc/cp/ChangeLog:
> 
>       * module.cc (trees_out::write_function_def): Don't crash on
>       DECL_LOCAL_DECL_P function definitions.
> 
> Signed-off-by: Nathaniel Shead <[email protected]>
> ---
>  gcc/cp/module.cc | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
> index ea22cef24a5..993594fafc3 100644
> --- a/gcc/cp/module.cc
> +++ b/gcc/cp/module.cc
> @@ -12935,6 +12935,7 @@ trees_out::write_function_def (tree decl)
>        /* Make sure DECL_REALLY_EXTERN and DECL_INTERFACE_KNOWN are consistent
>        on non-templates or we'll crash later in import_export_decl.  */
>        gcc_checking_assert (flags || DECL_INTERFACE_KNOWN (decl)
> +                        || DECL_LOCAL_DECL_P (decl)
>                          || (DECL_LANG_SPECIFIC (decl)
>                              && DECL_TEMPLATE_INFO (decl)
>                              && uses_template_parms (DECL_TI_ARGS (decl))));
> -- 
> 2.51.0
> 
> 

Reply via email to