From 33cf5823a5cb6439135e3820e924695819a4759f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 26 Apr 1995 12:29:48 -0400 Subject: [PATCH] (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a string constant is a constant. From-SVN: r9475 --- gcc/expr.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index 04e5442e2c5..818618927ca 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -7505,8 +7505,15 @@ expand_builtin (exp, target, subtarget, mode, ignore) if (arglist == 0) return const0_rtx; else - return (TREE_CODE_CLASS (TREE_CODE (TREE_VALUE (arglist))) == 'c' - ? const1_rtx : const0_rtx); + { + tree arg = TREE_VALUE (arglist); + + STRIP_NOPS (arg); + return (TREE_CODE_CLASS (TREE_CODE (arg)) == 'c' + || (TREE_CODE (arg) == ADDR_EXPR + && TREE_CODE (TREE_OPERAND (arg, 0)) == STRING_CST) + ? const1_rtx : const0_rtx); + } case BUILT_IN_FRAME_ADDRESS: /* The argument must be a nonnegative integer constant. -- 2.30.2