This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/40307] Problem with auto deducing class type inside one of its own member functions
- From: "jason at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Jun 2009 18:12:15 -0000
- Subject: [Bug c++/40307] Problem with auto deducing class type inside one of its own member functions
- References: <bug-40307-17779@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from jason at gcc dot gnu dot org 2009-06-03 18:12 -------
Subject: Bug 40307
Author: jason
Date: Wed Jun 3 18:11:53 2009
New Revision: 148141
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148141
Log:
PR c++/40308
PR c++/40311
* typeck.c (cp_build_modify_expr): Always pass init-lists to the
conversion code.
* call.c (implicit_conversion): Allow init-list conversion to scalar
during direct-initialization, too. Mark the conversion bad if it
has too many levels of braces.
(convert_like_real): And give a helpful error.
PR c++/40306
PR c++/40307
* decl.c (cp_finish_decl): Handle auto deduction from ().
* typeck.c (build_x_indirect_ref): Handle dereferencing an operand
with dependent type that is known to be a pointer.
* call.c (implicit_conversion): Handle conversion from
initializer-list to scalar.
(convert_like_real): Likewise. Avoid crashing on list
initialization with bad conversions.
Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/auto14.C
- copied unchanged from r148089,
trunk/gcc/testsuite/g++.dg/cpp0x/auto14.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist16.C
- copied unchanged from r147933,
trunk/gcc/testsuite/g++.dg/cpp0x/initlist16.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist17.C
- copied unchanged from r147933,
trunk/gcc/testsuite/g++.dg/cpp0x/initlist17.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist18.C
- copied unchanged from r148089,
trunk/gcc/testsuite/g++.dg/cpp0x/initlist18.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist19.C
- copied unchanged from r148089,
trunk/gcc/testsuite/g++.dg/cpp0x/initlist19.C
Modified:
branches/gcc-4_4-branch/gcc/cp/ChangeLog
branches/gcc-4_4-branch/gcc/cp/call.c
branches/gcc-4_4-branch/gcc/cp/decl.c
branches/gcc-4_4-branch/gcc/cp/typeck.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist13.C
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40307