re PR c/13519 (typeof(nonconst+const) is const)
authorJoseph Myers <jsm@polyomino.org.uk>
Sun, 6 Jun 2004 15:21:59 +0000 (16:21 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Sun, 6 Jun 2004 15:21:59 +0000 (16:21 +0100)
commit10bc1b1bec937131ad05fa18184b985078b99702
treeb8c296e8aca98162130737ac16548bd0553c78f3
parentff24b82044cde0c0ff5dd68f45bc9f2bfbcfb3cf
re PR c/13519 (typeof(nonconst+const) is const)

PR c/13519
* c-typeck.c (composite_type, common_pointer_type): New functions.
(common_type): Split parts into composite_type and
common_pointer_type.  Ensure that arithmetic operations return
unqualified types without attributes.  Don't make composite type
of signed enum and compatible integer be unsigned.
(build_conditional_expr, build_binary_op): Use
common_pointer_type.
* c-decl.c (merge_decls): Use composite_type.
* c-tree.h (composite_type): Declare.

testsuite:
* gcc.c-torture/enum-3.c, gcc.dg/pr13519-1.c: New tests.

From-SVN: r82671
gcc/ChangeLog
gcc/c-decl.c
gcc/c-tree.h
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/enum-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr13519-1.c [new file with mode: 0644]