]> git.ipfire.org Git - thirdparty/gcc.git/commit
c-common.c (fix_string_type): Just use c_build_qualified_type to build string type.
authorJoseph Myers <joseph@codesourcery.com>
Sat, 29 Jan 2005 16:12:45 +0000 (16:12 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Sat, 29 Jan 2005 16:12:45 +0000 (16:12 +0000)
commit46df282378908dff9219749cd4cd576c155b2971
tree146eb63899ed165bd17ec164fc3ef99342b7f13b
parent24a09741e4e7ed510fc543cdf3136ebc6582db90
c-common.c (fix_string_type): Just use c_build_qualified_type to build string type.

* c-common.c (fix_string_type): Just use c_build_qualified_type to
build string type.
(c_build_qualified_type): Build qualified array types with
TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
* c-decl.c (c_make_fname_decl): Build unqualified array type
before qualified type.
(grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
type is qualified, not just if type itself is.  Don't apply
qualifiers to array type when declarator is processed.  Apply
qualifiers to field type whether or not it is an array type.
Don't handle array types specially for applying qualifiers to
variables.
* c-typeck.c (composite_type): Build unqualified element type and
array type when forming composite of array types.
(common_pointer_type, comptypes, comp_target_types,
type_lists_compatible_p, build_indirect_ref, build_array_ref,
convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
types.
(type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
(args2) in variables a1 and a2.

testsuite:
* gcc.dg/Wwrite-strings-1.c, gcc.dg/array-quals-2.c,
gcc.dg/lvalue-3.c: New tests.
* gcc.dg/concat.c: Update expected messages.

From-SVN: r94411
gcc/ChangeLog
gcc/c-common.c
gcc/c-decl.c
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wwrite-strings-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/array-quals-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/concat.c
gcc/testsuite/gcc.dg/lvalue-3.c [new file with mode: 0644]