[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