https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80255
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2017-03-29 Ever confirmed|0 |1 --- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- The code compiles with gfortran configured with --enable-checking=release, but segfault at run time. However if gfortran is configured with --enable-checking=yes, I get pr80255.f90:1:0: program test Error: conversion of register to a different size VIEW_CONVERT_EXPR<struct __class__STAR_a>(_28); MEM[(struct ftlany[0:] *)_29][_31].value = VIEW_CONVERT_EXPR<struct __class__STAR_a>(_28); pr80255.f90:1:0: Error: conversion of register to a different size VIEW_CONVERT_EXPR<struct __class__STAR_a>(_32); MEM[(struct ftlany[0:] *)_33][_35].value = VIEW_CONVERT_EXPR<struct __class__STAR_a>(_32); pr80255.f90:1:0: internal compiler error: verify_gimple failed pr80255.f90:1:0: internal compiler error: Abort trap: 6 gfcc: internal compiler error: Abort trap: 6 (program f951) Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. I don't have the patience to look at the standard, but I am not sure the code is valid.