I have bootstrapped revision r240599 with the patch
https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01315.html without any problem.
However compiling the following Fortran tests
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);
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
Dominique
> Le 28 sept. 2016 à 17:44, Jason Merrill <[email protected]> a écrit :
>
> On Thu, Aug 18, 2016 at 5:33 AM, Pierre-Marie de Rodat
> <[email protected]> wrote:
>> A check in dwarf2out_imported_module_or_decl prevents valid strict
>> DWARF2 constructs such as DW_TAG_imported_declaration from being emitted
>> in dwarf2out_imported_module_or_decl_1.
>>
>> The latter already protects the emission of newer DWARF tags with
>> appropriate checks, so the one in the former is redundant and
>> pessimistic. This function is already called from places like
>> process_scope_var, which are not protected anyway.
>>
>> This patch removes the check in dwarf2out_imported_module_or_decl so
>> that tags like DW_TAG_imported_declaration are emitted even in strict
>> DWARF2 mode.
>>
>> Bootstrapped and regtested on x86_64-linux, no regression.
>
> This check was added for bug 41405, a Darwin bootstrap problem.
> Dominique, can you verify that the compiler still bootstraps with this
> change? OK if so.
>
> Jason