diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-26 12:29:48 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-26 12:29:48 -0400 |
commit | 33cf5823a5cb6439135e3820e924695819a4759f (patch) | |
tree | b9b51dada4ca281467dd107bee78ebff55cf8fe4 /gcc | |
parent | ccafc85b7ff4c29f2ba72bc6fe19d91fe67da577 (diff) | |
download | gcc-33cf5823a5cb6439135e3820e924695819a4759f.zip gcc-33cf5823a5cb6439135e3820e924695819a4759f.tar.gz gcc-33cf5823a5cb6439135e3820e924695819a4759f.tar.bz2 |
(expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a string
constant is a constant.
From-SVN: r9475
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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. |