From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18474 invoked by alias); 9 Oct 2004 15:39:35 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 18462 invoked by uid 48); 9 Oct 2004 15:39:34 -0000 Date: Sat, 09 Oct 2004 15:39:00 -0000 Message-ID: <20041009153934.18460.qmail@sourceware.org> From: "pinskia at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20041009130530.17909.aj@gcc.gnu.org> References: <20041009130530.17909.aj@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/17909] [4.0 Regression] ICE: verifiy_stms failed X-Bugzilla-Reason: CC X-SW-Source: 2004-10/txt/msg01190.txt.bz2 List-Id: ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-09 15:39 ------- The code looks wrong (aka invalid): __builtin_va_start(list,((const char *)(&(szFmt)))); Fixing the problem to be: __builtin_va_start(list,szFmt); Makes the code work which is correct I think. Someone should correct me if I am wrong. Reduced testcase: struct QString {}; typedef __builtin_va_list __gnuc_va_list; typedef __gnuc_va_list va_list; QString & sprintf(QString &s,const QString &szFmt,...) { va_list list; __builtin_va_start(list,((const char *)(&(szFmt)))); __builtin_va_end(list); return s; } -- What |Removed |Added ---------------------------------------------------------------------------- Summary|ICE: verifiy_stms failed |[4.0 Regression] ICE: | |verifiy_stms failed Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17909