https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90794
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |11.1.0 Known to fail| |10.1.0, 9.4.0 --- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- In GCC 11: typedef double MAT[0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)][0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)]; double[0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)][0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)] * a; double[0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)][0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)] * a; <<cleanup_point <<< Unknown tree: expr_stmt (void) (a = (double[0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)][0:(sizetype) ((ssizetype) SAVE_EXPR <sz> - 1)] *) malloc ((long unsigned int) (((sizetype) SAVE_EXPR <sz> * (sizetype) SAVE_EXPR <sz>) * 8))) >>>>>; return <retval> = a == 0B; While in GCC 10: typedef double MAT[0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)][0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)]; double[0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)][0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)] * a; double[0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)][0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)] * a; <<cleanup_point <<< Unknown tree: expr_stmt (void) (a = (double[0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)][0:(sizetype) (SAVE_EXPR <(ssizetype) sz + -1>)] *) malloc ((long unsigned int) ((((sizetype) (SAVE_EXPR <(ssizetype) sz + -1>) + 1) * ((sizetype) (SAVE_EXPR <(ssizetype) sz + -1>) + 1)) * 8))) >>>>>; return <retval> = a == 0B;