------- Comment #5 from jvdelisle at gcc dot gnu dot org 2007-05-12 06:02 ------- In the expr for a or b, the lower bound is coming up BT_INTEGER and the upper bound is BT_REAL. Eventually we hit the error for wrong type. Then, because this fails to resolve, that is interpreted by resolve_fl_variable to mean "The module or main program array 'a' at (1) must have constant shape" when this really is not the case.
In resolve_symbol, everything is tried to resolve a symbol, regardless of previously issues errors at lower levels. Might want to rethink that approach. I can not reproduce the segfault, so if I can get a backtrace it would help. I also wonder if the best way to solve this is at the matcher level and throw a syntax error when we see a period in the integer value we are expecting and be done with all the other complexities. ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31716