Douglas Gregor wrote:
> On Apr 29, 2009, at 10:30 AM, Sebastian Redl wrote:
>
>> Author: cornedbee
>> Date: Wed Apr 29 12:30:04 2009
>> New Revision: 70389
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=70389&view=rev
>> Log:
>> Have the parser communicate the exception specification to the action.
>
> Oooh, I have a feeling you're going to run into C++'s "shadow type
> system" very soon :)
>
What? Are you talking about compatibility of functions and function
pointers with exception specifications?

>>
>> +    // FIXME: Does an empty vector ever allocate? Exception
>> specifications are
>> +    // extremely rare, so we want something like a
>> SmallVector<TypeTy*, 0>. :-)
>> +    std::vector<TypeTy*> Exceptions;
>
> I've never seen an std::vector that allocates. Now, it might be worth
> using a SmallVector<TypeTy*, 4>, just so that a one- or two-exception
> exception specification doesn't need to allocate. Besides, stack space
> is cheap :)
How often are non-empty exception specifications really used in
real-world code? As far as I know, everyone avoids them. They're ignored
by MSVC completely, and are a performance pessimization in exchange for
an inadequate exception translation mechanism everywhere else.

Sebastian
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to