summaryrefslogtreecommitdiffstats
path: root/gcc/cp/call.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-08 10:26:06 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-08 10:26:06 +0000
commitbca5917a45a34662dbd82d100be8a3a784f2e719 (patch)
tree8c8d2f64d47a8c4211dc28aa077aa9b9b7d8514d /gcc/cp/call.c
parentfadf5b0047918ec79f2aba6510a5d23d592f53c7 (diff)
downloadppe42-gcc-bca5917a45a34662dbd82d100be8a3a784f2e719.tar.gz
ppe42-gcc-bca5917a45a34662dbd82d100be8a3a784f2e719.zip
* typeck.c (convert_for_assignment): Don't look at array
initializer. * call.c (convert_like_real): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32415 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r--gcc/cp/call.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 0589cfdcc9f..6e3eabd1d31 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -3683,10 +3683,11 @@ convert_like_real (convs, expr, fn, argnum, inner)
if (expr == error_mark_node)
return error_mark_node;
- /* Convert a constant variable to its underlying value, unless we
+ /* Convert a non-array constant variable to its underlying value, unless we
are about to bind it to a reference, in which case we need to
leave it as an lvalue. */
- if (TREE_READONLY_DECL_P (expr) && TREE_CODE (convs) != REF_BIND)
+ if (TREE_READONLY_DECL_P (expr) && TREE_CODE (convs) != REF_BIND
+ && TREE_CODE (TREE_TYPE (expr)) != ARRAY_TYPE)
expr = decl_constant_value (expr);
switch (TREE_CODE (convs))
OpenPOWER on IntegriCloud