diff options
author | Joseph Myers <jsm@polyomino.org.uk> | 2004-06-06 16:21:59 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2004-06-06 16:21:59 +0100 |
commit | 10bc1b1bec937131ad05fa18184b985078b99702 (patch) | |
tree | b8c296e8aca98162130737ac16548bd0553c78f3 /gcc/c-tree.h | |
parent | ff24b82044cde0c0ff5dd68f45bc9f2bfbcfb3cf (diff) | |
download | gcc-10bc1b1bec937131ad05fa18184b985078b99702.zip gcc-10bc1b1bec937131ad05fa18184b985078b99702.tar.gz gcc-10bc1b1bec937131ad05fa18184b985078b99702.tar.bz2 |
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
Diffstat (limited to 'gcc/c-tree.h')
-rw-r--r-- | gcc/c-tree.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index 9e21b4f..e698c87 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -226,6 +226,7 @@ extern tree c_size_in_bytes (tree); extern bool c_mark_addressable (tree); extern void c_incomplete_type_error (tree, tree); extern tree c_type_promotes_to (tree); +extern tree composite_type (tree, tree); extern tree build_component_ref (tree, tree); extern tree build_indirect_ref (tree, const char *); extern tree build_array_ref (tree, tree); |