From: Richard Kenner Date: Wed, 26 Apr 1995 16:29:48 +0000 (-0400) Subject: (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a string X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33cf5823a5cb6439135e3820e924695819a4759f;p=gcc.git (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a string constant is a constant. From-SVN: r9475 --- 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.