This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/56575] [4.6/4.7/4.8 Regression] An invalid OO code causes ICE
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 09 Mar 2013 11:48:56 +0000
- Subject: [Bug fortran/56575] [4.6/4.7/4.8 Regression] An invalid OO code causes ICE
- Auto-submitted: auto-generated
- References: <bug-56575-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56575
Dominique d'Humieres <dominiq at lps dot ens.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-03-09
CC| |janus at gcc dot gnu.org
Summary|An invalid OO code causes |[4.6/4.7/4.8 Regression] An
|ICE |invalid OO code causes ICE
Ever Confirmed|0 |1
--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2013-03-09 11:48:56 UTC ---
Revision 170214 (2011-02-16) gives the errors and revision 170230 (2011-02-16)
gives the segmentation fault. The only change in this range is revision 170223
Author: janus
Date: Wed Feb 16 20:51:56 2011
New Revision: 170223
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170223
Log:
2011-02-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/47745
* class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
* decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
'gfc_build_class_symbol'.
(gfc_match_decl_type_spec): Reject unlimited polymorphism.
* interface.c (matching_typebound_op): Check for 'class_ok' attribute.
* match.c (select_type_set_tmp): Move setting of 'class_ok' into
'gfc_build_class_symbol'.
* primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
2011-02-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/47745
* gfortran.dg/class_39.f03: New.
Added:
trunk/gcc/testsuite/gfortran.dg/class_39.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/class.c
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/match.c
trunk/gcc/fortran/primary.c
trunk/gcc/testsuite/ChangeLog
Backtrace:
(gdb) run pr56575.f90
Starting program:
/opt/gcc/gcc4.8w/libexec/gcc/x86_64-apple-darwin10.8.0/4.8.0/f951 pr56575.f90
Program received signal SIGSEGV, Segmentation fault.
0x0000000100037bee in gfc_default_initializer (ts=0x141a152f0) at
../../work/gcc/fortran/expr.c:3894
3894 || (comp->ts.type == BT_CLASS && CLASS_DATA
(comp)->attr.allocatable))
(gdb) bt
#0 0x0000000100037bee in gfc_default_initializer (ts=0x141a152f0) at
../../work/gcc/fortran/expr.c:3894
#1 0x000000010001c543 in gfc_find_derived_vtab (derived=0x141a14350) at
../../work/gcc/fortran/class.c:2303
#2 0x000000010001cb03 in gfc_build_class_symbol (ts=0x141a147c0,
attr=0x141a147e8, as=0x141a14838, delayed_vtab=<value optimized out>)
at ../../work/gcc/fortran/class.c:648
#3 0x0000000100022c5c in build_sym (name=<value optimized out>, cl=<value
optimized out>, cl_deferred=<value optimized out>,
as=<value optimized out>, var_locus=<value optimized out>) at
../../work/gcc/fortran/decl.c:1197
#4 0x0000000100028c49 in gfc_match_data_decl () at
../../work/gcc/fortran/decl.c:1988
#5 0x000000010007a5da in match_word (subr=<value optimized out>,
old_locus=0x7fff5fbfd300, str=<value optimized out>)
at ../../work/gcc/fortran/parse.c:65
#6 0x000000010007af77 in decode_statement () at
../../work/gcc/fortran/parse.c:330
#7 0x000000010007c70a in next_statement () at
../../work/gcc/fortran/parse.c:777
#8 0x000000010007e675 in parse_spec (st=ST_NONE) at
../../work/gcc/fortran/parse.c:2590
#9 0x0000000100080549 in parse_progunit (st=<value optimized out>) at
../../work/gcc/fortran/parse.c:4118
#10 0x0000000100080921 in parse_contained (module=1) at
../../work/gcc/fortran/parse.c:4057
#11 0x0000000100081e5a in gfc_parse_file () at
../../work/gcc/fortran/parse.c:4316
#12 0x00000001000c1d96 in gfc_be_parse_file () at
../../work/gcc/fortran/f95-lang.c:189
#13 0x000000010076dc84 in compile_file () at ../../work/gcc/toplev.c:543
#14 0x000000010076fda9 in toplev_main (argc=2, argv=0x7fff5fbfd7c8) at
../../work/gcc/toplev.c:1876
#15 0x000000010000a644 in start (pc=<value optimized out>, bases=0x0) at
../../../work/libgcc/config/unwind-dw2-fde-darwin.c:272