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 <nathanieloshead@gmail.com>
Reviewed-by: Patrick Palka <ppalka@redhat.com>
/* 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))));