[tree-ssa]: Invalid GIMPLE generated by C++ front end

Daniel Berlin dberlin@dberlin.org
Wed Aug 13 20:58:00 GMT 2003


I've been seeing expressions like  T.2 = (char * const &)&<UVbbd0>  
generated by the C++ FE lately (compiling string-inst.cc on darwin, for 
instance).

Are these actually valid GIMPLE?
Going by the grammar, they aren't, and they are causing PTA to miss 
some variables because they fail is_gimple_modify_expr.

val : ID | CONST

    rhs        : varname | CONST
         | '*' ID
         | '&' varname_or_temp
         | call_expr
         | unop val
         | val binop val
         | '(' cast ')' val


Jason, any clue what is generating these, or do you need some 
preprocessed source?
--Dan



More information about the Gcc mailing list