From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8005 invoked by alias); 3 Jun 2009 18:12:40 -0000 Received: (qmail 6179 invoked by alias); 3 Jun 2009 18:12:15 -0000 Date: Wed, 03 Jun 2009 18:12:00 -0000 Message-ID: <20090603181215.6176.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/40306] ICE when using auto to declare a local copy inside a member function In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jason at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-06/txt/msg00152.txt.bz2 ------- Comment #3 from jason at gcc dot gnu dot org 2009-06-03 18:12 ------- Subject: Bug 40306 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=40306