OSDN Git Service

* typeck.c (convert_for_assignment): Don't look at array
[pf3gnuchains/gcc-fork.git] / gcc / cp / call.c
index 0589cfd..6e3eabd 100644 (file)
@@ -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))