[GCC-XML] GCC-XML 0.9 - another difference
    Brad King 
    brad.king at kitware.com
       
    Sun Nov 11 20:28:52 EST 2007
    
    
  
Roman Yakovenko wrote:
> struct mem_var_str_t{
>     static std::string class_name;
>     std::string identity(std::string x){ return x; }
> };
> Gccxml 0.7 reports correctly type of "x", while gccxml 0.9 reports it 
> as: "restrict & string".
> 
> It does this for std and user defined classes passed by value.
I've reproduced it with minimal code:
struct A { ~A(); };
struct B {
   void f(A x) {}
};
It happens when non-POD types are passed by value into the *definition* 
of a function.  I found something in GCC's code about "invisible 
references".  There is a predicate macro provided to detect them.  I've 
committed a fix:
/cvsroot/GCC_XML/gccxml/GCC/gcc/cp/xml.c,v  <--  xml.c
new revision: 1.118; previous revision: 1.117
-Brad
    
    
More information about the gccxml
mailing list