The tests gfortran.dg/char_result_16.f90 and gfortran.dg/char_result_17.f90 fail with
lto1: error: two or more sections for .gnu.lto___get_PROC_names.3e3ee55b08747e7c lto1: internal compiler error: cannot read LTO decls from /var/folders/8q/sh_swgz96r7f5vnn08f7fxr00000gn/T//ccEJosbA.o This may be darwin specific as the linker is more picky than the linux one. Dominique > Le 7 déc. 2016 à 16:47, Paul Richard Thomas <paul.richard.tho...@gmail.com> a > écrit : > > Dear Dominique, > > I will turn to the effect on PR77414 after committing the patch for PR44265. > > The attached fixes the -flto problem. The chunk in > trans-decl.c(gfc_finish_var_decl) did the job. It is quite obvious now > and, in fact, I am a bit surprised that the patch worked at all > without the DECL_EXTERNAL. > > Bootstraps and regtests on FC21/x86_64 - OK for trunk? > > Paul > > 2016-12-07 Paul Thomas <pa...@gcc.gnu.org> > > PR fortran/44265 > * gfortran.h : Add fn_result_spec bitfield to gfc_symbol. > * resolve.c (flag_fn_result_spec): New function. > (resolve_fntype): Call it for character result lengths. > * symbol.c (gfc_new_symbol): Set fn_result_spec to zero. > * trans-decl.c (gfc_sym_mangled_identifier): Include the > procedure name in the mangled name for symbols with the > fn_result_spec bit set. > (gfc_finish_var_decl): Mark the decls of these symbols > appropriately for the case where the function is external. > (gfc_get_symbol_decl): Mangle the name of these symbols. > (gfc_create_module_variable): Allow them through the assert. > (gfc_generate_function_code): Remove the assert before the > initialization of sym->tlink because the frontend no longer > uses this field. > * trans-expr.c (gfc_map_intrinsic_function): Add a case to > treat the LEN_TRIM intrinsic. > > 2016-12-07 Paul Thomas <pa...@gcc.gnu.org> > > PR fortran/44265 > * gfortran.dg/char_result_14.f90: New test. > * gfortran.dg/char_result_15.f90: New test. > * gfortran.dg/char_result_16.f90: New test. > * gfortran.dg/char_result_17.f90: New test. > >