[PATCH] DWARF: remove pessimistic DWARF version checks for imported entities

Dominique d'Humières dominiq@lps.ens.fr
Wed Oct 5 04:53:00 GMT 2016


The new patch works on darwin without new regression.

Thanks,

Dominique

> Le 4 oct. 2016 à 15:58, Pierre-Marie de Rodat <derodat@adacore.com> a écrit :
> 
> Hello,
> 
> Thank you very much for you help, Dominique!
> 
> On 09/29/2016 03:16 PM, Dominique d'Humières wrote:
>> FAIL: gfortran.dg/binding_label_tests_16.f03  -g  (internal compiler error)
>> FAIL: gfortran.dg/module_commons_3.f90        -g  (internal compiler error)
>> FAIL: gfortran.dg/module_equivalence_1.f90    -g  (internal compiler error)
>> FAIL: gfortran.dg/use_11.f90                  -g  (internal compiler error)
>> FAIL: gfortran.dg/use_only_1.f90              -g  (internal compiler error)
>> FAIL: gfortran.dg/widechar_5.f90              -g  (internal compiler error)
>> 
>> FAIL: libgomp.fortran/udr15.f90               -g  (internal compiler error)
>> 
>> are giving an ICE with -g of the kind
>> 
>> internal compiler error: in dwarf2out_imported_module_or_decl, at dwarf2out.c:24070
>> 
>> corresponding to
>> 
>>      gcc_assert (scope_die->die_child);
> 
> So this is an oversight I did: the check I removed was actually useful for one thing: not emitting DW_TAG_imported_module DIEs in strict DWARFv2. DW_TAG_imported_declaration ones are always fine, though, so what I should do is to move the check, not remove it.
> 
>> The Ada test gnat.dg/debug7.adb is also failing with
>> 
>> FAIL: gnat.dg/debug7.adb (test for excess errors)
>> Excess errors:
>> gnat1: incorrect object file extension
> 
> It seems it’s a bad interaction between dg-options "-cargs […]" and the testsuite framework. Can be fixed adding “-margs” at the end.
> 
> Here is an updated patch, fixing all the issues Dominique reported. Bootstrapped and regtested on x86_64-linux. I also tested on x86_64-apple-darwin14.5.0 that the above errors are gone.
> 
> -- 
> Pierre-Marie de Rodat
> <0001-DWARF-move-pessimistic-DWARF-version-checks-for-impo.patch>



More information about the Gcc-patches mailing list