This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, fortran] PR44265 - Link error with reference to parameter array in specification expression


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.thomas@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  <pault@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  <pault@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.
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]