[Bug middle-end/17909] [4.0 Regression] ICE: verifiy_stms failed

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Oct 9 15:39:00 GMT 2004


------- 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



More information about the Gcc-bugs mailing list