From: Nathaniel Shead Date: Sun, 30 Nov 2025 03:43:33 +0000 (+1100) Subject: c++/modules: Fix assertion in write_function_def for DECL_LOCAL_DECL_P X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9dc1f699a879c9078d873d9c12811b864a1f4c33;p=thirdparty%2Fgcc.git c++/modules: Fix assertion in write_function_def for DECL_LOCAL_DECL_P 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 OMP user-defined reductions (as they won't have import_export_decl called on them anyway). PR c++/119864 PR c++/122939 gcc/cp/ChangeLog: * module.cc (trees_out::write_function_def): Don't crash on OMP used-defined type reduction function definitions. Signed-off-by: Nathaniel Shead Reviewed-by: Patrick Palka --- diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index ea22cef24a5..7b3f9326a2a 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -12935,6 +12935,9 @@ 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_LANG_SPECIFIC (decl) + && DECL_LOCAL_DECL_P (decl) + && DECL_OMP_DECLARE_REDUCTION_P (decl)) || (DECL_LANG_SPECIFIC (decl) && DECL_TEMPLATE_INFO (decl) && uses_template_parms (DECL_TI_ARGS (decl))));