This typo in check_for_nested_with_variably_modified was present for 4 years and hampered the inliner without anyone noticing:
Index: tree-nested.c =================================================================== --- tree-nested.c (revision 136121) +++ tree-nested.c (working copy) @@ -693,7 +693,7 @@ check_for_nested_with_variably_modified for (cgn = cgn->nested; cgn ; cgn = cgn->next_nested) { for (arg = DECL_ARGUMENTS (cgn->decl); arg; arg = TREE_CHAIN (arg)) - if (variably_modified_type_p (TREE_TYPE (arg), 0), orig_fndecl) + if (variably_modified_type_p (TREE_TYPE (arg), orig_fndecl)) return true; It would be nice for the compiler to warn in this case, i.e. when members of a compound expression (except for the last) don't have obvious side-effects. -- Summary: warning for questionable compound expression Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ebotcazou at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36367