From: Richard Kenner Date: Wed, 24 Aug 1994 22:28:40 +0000 (-0400) Subject: (default_conversion): Don't substitute constant value if array since X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4424a75ec3ad8c1a7a638ef515284dd9f6b0549;p=gcc.git (default_conversion): Don't substitute constant value if array since will return address. From-SVN: r7970 --- diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index aedc7e5d02a..bb638dc7c25 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -990,8 +990,11 @@ default_conversion (exp) /* Constants can be used directly unless they're not loadable. */ if (TREE_CODE (exp) == CONST_DECL) exp = DECL_INITIAL (exp); - /* Replace a nonvolatile const static variable with its value. */ - else if (optimize && TREE_CODE (exp) == VAR_DECL) + + /* Replace a nonvolatile const static variable with its value unless + it is an array, in which case we must be sure that taking the + address of the array produces consistent results. */ + else if (optimize && TREE_CODE (exp) == VAR_DECL && code != ARRAY_TYPE) { exp = decl_constant_value (exp); type = TREE_TYPE (exp);