[cfe-commits] r127537 - in /cfe/trunk: include/clang/AST/ include/clang/Basic/ include/clang/Sema/ lib/AST/ lib/Analysis/ lib/CodeGen/ lib/Parse/ lib/Sema/ lib/Serialization/ test/CXX/except/except.spec/ test/SemaCXX/

John McCall rjmccall at apple.com
Sat Mar 12 20:28:42 PST 2011


On Mar 12, 2011, at 2:50 PM, Sebastian Redl wrote:

> 
> On 12.03.2011, at 20:12, John McCall wrote:
> 
>> On Mar 12, 2011, at 3:50 AM, Sebastian Redl wrote:
>>> URL: http://llvm.org/viewvc/llvm-project?rev=127537&view=rev
>>> Log:
>>> Propagate the new exception information to FunctionProtoType.
>>> Change the interface to expose the new information and deal with the enormous fallout.
>>> Introduce the new ExceptionSpecificationType value EST_DynamicNone to more easily deal with empty throw specifications.
>>> Update the tests for noexcept and fix the various bugs uncovered, such as lack of tentative parsing support.
>> 
>> Instead of storing an ASTContext* in FunctionProtoType, please use a contextual folding set like I suggested before, or at least explain why that won't work.
> 
> It might well work (I'd have to add an ASTContext& parameter to isNothrow), but the commit was large enough without changing a core data structure in ASTContext. If I replaced the type uniquing folding set with a contextual folding set, wouldn't I have to change every single Profile() function in the Type hierarchy?

class ASTContext {
  ...
  mutable llvm::FoldingSet<FunctionProtoType> FunctionProtoTypes;

John.



More information about the cfe-commits mailing list