[cfe-commits] r72580 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Parse/DeclSpec.h include/clang/Parse/Parser.h lib/Parse/DeclSpec.cpp lib/Parse/ParseDecl.cpp lib/Parse/ParseDeclCXX.cpp lib/Parse/ParseExpr.cpp lib/Sem

Sebastian Redl sebastian.redl at getdesigned.at
Fri May 29 11:48:57 PDT 2009


Eli Friedman wrote:
> On Fri, May 29, 2009 at 11:02 AM, Sebastian
> Redl<sebastian.redl at getdesigned.at> wrote:
>   
>> +  // C++ 15.4p2: A type denoted in an exception-specification shall not denote
>> +  //   an incomplete type a pointer or reference to an incomplete type, other
>> +  //   than (cv) void*.
>> +  // The standard does not mention member pointers, but it has to mean them too.
>>     
>
> Despite this comment, neither gcc nor comeau rejects "struct i; void
> j() throw(i (i::*));".
>   
Hmm ... come to think of it, the likely reason incomplete types are
forbidden there is that the compiler lacks information about valid
conversions for them. But there are no valid conversions on the pointee
for member pointers anyway.

Does this mean the container type should be complete?

Sebastian



More information about the cfe-commits mailing list