Summary: | runtime error: load of value 137971008, which is not a valid value for type 'gfc_intrinsic_op' | ||
---|---|---|---|
Product: | gcc | Reporter: | Martin Liška <marxin> |
Component: | fortran | Assignee: | Martin Liška <marxin> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P3 | ||
Version: | 9.0 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2019-01-02 00:00:00 | |
Bug Depends on: | |||
Bug Blocks: | 63426 |
Description
Martin Liška
2019-01-02 07:38:07 UTC
I get ../../work/gcc/fortran/resolve.c:4151:23: runtime error: load of value 21200, which is not a valid value for type 'gfc_intrinsic_op' with r267421, not no error with r259553. Minimal test-case: $ cat r.f90 a = 3 .XOR. 5 end $ ./xgcc -B. r.f90 -c -fdec ../../gcc/fortran/resolve.c:4148:23: runtime error: load of value 138343072, which is not a valid value for type 'gfc_intrinsic_op' #0 0xb1797f in resolve_operator ../../gcc/fortran/resolve.c:4148 #1 0xb34835 in gfc_resolve_expr(gfc_expr*) ../../gcc/fortran/resolve.c:6847 #2 0xb66561 in gfc_resolve_code(gfc_code*, gfc_namespace*) ../../gcc/fortran/resolve.c:11291 #3 0xba15d8 in resolve_codes ../../gcc/fortran/resolve.c:16737 #4 0xba17df in gfc_resolve(gfc_namespace*) ../../gcc/fortran/resolve.c:16772 #5 0xad4ae4 in resolve_all_program_units ../../gcc/fortran/parse.c:6073 #6 0xad5dd6 in gfc_parse_file() ../../gcc/fortran/parse.c:6323 #7 0xc3b836 in gfc_be_parse_file ../../gcc/fortran/f95-lang.c:204 #8 0x2309950 in compile_file ../../gcc/toplev.c:456 #9 0x2310e4b in do_compile ../../gcc/toplev.c:2176 #10 0x2311479 in toplev::main(int, char**) ../../gcc/toplev.c:2311 #11 0x46926ce in main ../../gcc/main.c:39 #12 0x7ffff608cfea in __libc_start_main ../csu/libc-start.c:308 #13 0x875bd9 in _start (/home/marxin/Programming/gcc2/objdir/gcc/f951+0x875bd9) Let me try to fix it. I've got a patch candidate for it, am testing that. Author: marxin Date: Wed Feb 13 13:04:56 2019 New Revision: 268842 URL: https://gcc.gnu.org/viewcvs?rev=268842&root=gcc&view=rev Log: Fix -fdec simplification (PR fortran/88649). 2019-02-13 Martin Liska <mliska@suse.cz> PR fortran/88649 * resolve.c (resolve_operator): Initialize 't' right after function entry. Skip switch (e->value.op.op) for -fdec operands that become function calls. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c Fixed on trunk. |