summaryrefslogtreecommitdiff
path: root/gcc/cccp.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-07-29 21:16:58 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-07-29 21:16:58 +0000
commit00deebdcd11782a1ddc0fc58ce50c57706c390e2 (patch)
tree8272dda4e6f7d216e27a09e20c94605a41eb7efc /gcc/cccp.c
parent13d403897117dd824dedce93122f2bb6092310cb (diff)
downloadgcc-00deebdcd11782a1ddc0fc58ce50c57706c390e2.tar.gz
(special_symbol, do_xifdef): Don't access value.defn of a T_CONST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7819 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cccp.c')
-rw-r--r--gcc/cccp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cccp.c b/gcc/cccp.c
index 640b36bcc10..01f1c665531 100644
--- a/gcc/cccp.c
+++ b/gcc/cccp.c
@@ -3925,7 +3925,8 @@ special_symbol (hp, op)
goto oops;
if (hp = lookup (ip->bufp, -1, -1)) {
if (pcp_outfile && pcp_inside_if
- && hp->value.defn->predefined)
+ && (hp->type == T_CONST
+ || (hp->type == T_MACRO && hp->value.defn->predefined)))
/* Output a precondition for this macro use. */
fprintf (pcp_outfile, "#define %s\n", hp->name);
buf = " 1 ";
@@ -6790,7 +6791,9 @@ do_xifdef (buf, limit, op, keyword)
if (pcp_outfile) {
/* Output a precondition for this macro. */
- if (hp && hp->value.defn->predefined)
+ if (hp &&
+ (hp->type == T_CONST
+ || (hp->type == T_MACRO && hp->value.defn->predefined)))
fprintf (pcp_outfile, "#define %s\n", hp->name);
else {
U_CHAR *cp = buf;