aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2008-07-03 10:31:03 +0000
committerAndrew Haley <aph@gcc.gnu.org>2008-07-03 10:31:03 +0000
commit70d3fcabfd2d4446b6ff44454c8f81d51ab92f8b (patch)
treed9226b0dea63dab1260bbce71d51094a417caf69 /gcc/tree.c
parentd92007910f9e9033056d558dd4a49e4828cc0067 (diff)
downloadgcc-70d3fcabfd2d4446b6ff44454c8f81d51ab92f8b.zip
gcc-70d3fcabfd2d4446b6ff44454c8f81d51ab92f8b.tar.gz
gcc-70d3fcabfd2d4446b6ff44454c8f81d51ab92f8b.tar.bz2
re PR bootstrap/33304 (Bootstrap failure on solaris2 using cc due to empty macro arguments)
2008-07-03 Andrew Haley <aph@redhat.com> PR bootstrap/33304 * vec.h (VEC_TA): New. (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P, DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA. * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro. (C_COMMON_FIXED_MODE_TYPES_SAT): New macro. (C_COMMON_FIXED_TYPES): Remove first arg. (C_COMMON_FIXED_MODE_TYPES): Likewise. * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros, MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order not to use empty macro arguments. From-SVN: r137413
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 491a7b3..97b53bd 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -7395,7 +7395,16 @@ build_common_tree_nodes_2 (int short_double)
complex_long_double_type_node = build_complex_type (long_double_type_node);
/* Make fixed-point nodes based on sat/non-sat and signed/unsigned. */
-#define MAKE_FIXED_TYPE_NODE(KIND,WIDTH,SIZE) \
+#define MAKE_FIXED_TYPE_NODE(KIND,SIZE) \
+ sat_ ## KIND ## _type_node = \
+ make_sat_signed_ ## KIND ## _type (SIZE); \
+ sat_unsigned_ ## KIND ## _type_node = \
+ make_sat_unsigned_ ## KIND ## _type (SIZE); \
+ KIND ## _type_node = make_signed_ ## KIND ## _type (SIZE); \
+ unsigned_ ## KIND ## _type_node = \
+ make_unsigned_ ## KIND ## _type (SIZE);
+
+#define MAKE_FIXED_TYPE_NODE_WIDTH(KIND,WIDTH,SIZE) \
sat_ ## WIDTH ## KIND ## _type_node = \
make_sat_signed_ ## KIND ## _type (SIZE); \
sat_unsigned_ ## WIDTH ## KIND ## _type_node = \
@@ -7406,10 +7415,10 @@ build_common_tree_nodes_2 (int short_double)
/* Make fixed-point type nodes based on four different widths. */
#define MAKE_FIXED_TYPE_NODE_FAMILY(N1,N2) \
- MAKE_FIXED_TYPE_NODE (N1, short_, SHORT_ ## N2 ## _TYPE_SIZE) \
- MAKE_FIXED_TYPE_NODE (N1, , N2 ## _TYPE_SIZE) \
- MAKE_FIXED_TYPE_NODE (N1, long_, LONG_ ## N2 ## _TYPE_SIZE) \
- MAKE_FIXED_TYPE_NODE (N1, long_long_, LONG_LONG_ ## N2 ## _TYPE_SIZE)
+ MAKE_FIXED_TYPE_NODE_WIDTH (N1, short_, SHORT_ ## N2 ## _TYPE_SIZE) \
+ MAKE_FIXED_TYPE_NODE (N1, N2 ## _TYPE_SIZE) \
+ MAKE_FIXED_TYPE_NODE_WIDTH (N1, long_, LONG_ ## N2 ## _TYPE_SIZE) \
+ MAKE_FIXED_TYPE_NODE_WIDTH (N1, long_long_, LONG_LONG_ ## N2 ## _TYPE_SIZE)
/* Make fixed-point mode nodes based on sat/non-sat and signed/unsigned. */
#define MAKE_FIXED_MODE_NODE(KIND,NAME,MODE) \