-
- Downloads
Fix up vla, vm and [*] sematics.
PR c/18740 PR c/7948 PR c/25802 * c-tree.h (struct c_arg_info): Add had_vla_unspec. (c_vla_unspec_p): Add. (c_vla_type_p): Add. * c-decl.c (struct c_scope): Add had_vla_unspec. (build_array_declarator): Add support for [*]. (grokdeclarator): Likewise. (grokparms): Likewise. (get_parm_info): Likewise. * c-objc-common.c (c_vla_unspec_p): Likewise. * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to typeof when argument is a variably modified type not inside sizeof or alignof. (c_parser_direct_declarator_inner): Propagate errors. (c_parser_sizeof_expression): Add support for [*]. * c-typeck.c (c_vla_type_p): Add. (composite_type): Add support for vla compositing. (comptypes_internal): Add support for vla compatibility. (c_expr_sizeof_expr): Evaluate vla arguments. * tree.c (variably_modified_type_p): Update comment for [*]. testsuite: * gcc.dg/c90-arraydecl-1.c: Update for vla, vm [*] fixups. * gcc.dg/vla-4.c: Add. * gcc.dg/vla-5.c: Add. * gcc.dg/vla-6.c: Add. From-SVN: r113888
Showing
- gcc/ChangeLog 27 additions, 0 deletionsgcc/ChangeLog
- gcc/c-decl.c 72 additions, 15 deletionsgcc/c-decl.c
- gcc/c-objc-common.c 8 additions, 0 deletionsgcc/c-objc-common.c
- gcc/c-objc-common.h 3 additions, 0 deletionsgcc/c-objc-common.h
- gcc/c-parser.c 16 additions, 1 deletiongcc/c-parser.c
- gcc/c-tree.h 4 additions, 0 deletionsgcc/c-tree.h
- gcc/c-typeck.c 20 additions, 0 deletionsgcc/c-typeck.c
- gcc/testsuite/ChangeLog 7 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.dg/c90-arraydecl-1.c 6 additions, 7 deletionsgcc/testsuite/gcc.dg/c90-arraydecl-1.c
- gcc/testsuite/gcc.dg/vla-4.c 48 additions, 0 deletionsgcc/testsuite/gcc.dg/vla-4.c
- gcc/testsuite/gcc.dg/vla-5.c 24 additions, 0 deletionsgcc/testsuite/gcc.dg/vla-5.c
- gcc/testsuite/gcc.dg/vla-6.c 26 additions, 0 deletionsgcc/testsuite/gcc.dg/vla-6.c
- gcc/tree.c 2 additions, 6 deletionsgcc/tree.c
Loading
Please register or sign in to comment