diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-08 10:26:06 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-08 10:26:06 +0000 |
commit | bca5917a45a34662dbd82d100be8a3a784f2e719 (patch) | |
tree | 8c8d2f64d47a8c4211dc28aa077aa9b9b7d8514d /gcc/cp/call.c | |
parent | fadf5b0047918ec79f2aba6510a5d23d592f53c7 (diff) | |
download | ppe42-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.c | 5 |
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)) |