]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR c++/13478 (gcc uses wrong constructor to initialize a const reference)
authorGabriel Dos Reis <gdr@integrable-solutions.net>
Wed, 21 Jan 2004 07:30:07 +0000 (07:30 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Wed, 21 Jan 2004 07:30:07 +0000 (07:30 +0000)
        Backport from mainline
        2004-01-16  Mark Mitchell  <mark@codesourcery.com>

        PR c++/13478
        * call.c (initialize_reference): Pass -1 for inner parameter to
        convert_like_real.

From-SVN: r76263

gcc/cp/ChangeLog
gcc/cp/call.c

index c383f1cb3c82de29a5c1be3be618767bd67536f6..ece486368b1a2b1ef5f2f61524c98ac1ae2db00a 100644 (file)
@@ -1,3 +1,12 @@
+2004-01-21  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       Backport from mainline
+       2004-01-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/13478
+       * call.c (initialize_reference): Pass -1 for inner parameter to
+       convert_like_real.
+       
 2004-01-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        Backport from mainline
index 30636ab7bc052f81b0ec3fded920b00291970b18..b16677f80131cd52cb6687411995793795c4b8c9 100644 (file)
@@ -6173,7 +6173,10 @@ initialize_reference (type, expr, decl, cleanup)
       else
        base_conv_type = NULL_TREE;
       /* Perform the remainder of the conversion.  */
-      expr = convert_like (conv, expr);
+      expr = convert_like_real (conv, expr,
+                               /*fn=*/NULL_TREE, /*argnum=*/0,
+                               /*inner=*/-1,
+                               /*issue_conversion_warnings=*/true);
       if (!real_non_cast_lvalue_p (expr))
        {
          tree init;