aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-tree.h
diff options
context:
space:
mode:
authorJoseph Myers <jsm@polyomino.org.uk>2004-06-06 16:21:59 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2004-06-06 16:21:59 +0100
commit10bc1b1bec937131ad05fa18184b985078b99702 (patch)
treeb8c296e8aca98162130737ac16548bd0553c78f3 /gcc/c-tree.h
parentff24b82044cde0c0ff5dd68f45bc9f2bfbcfb3cf (diff)
downloadgcc-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.h1
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);