- Mar 30, 2010
-
-
Douglas Gregor authored
storage for that partial diagnostic via the ASTContext's BumpPtrAllocator rather than using up slots in the ASTContext's cache. Now that we do this, we don't have to worry about destroying dependent diagnostics when destroying a DependentStoredDeclsMap. llvm-svn: 99854
-
Douglas Gregor authored
cache of PartialDiagnostic::Storage objects into an allocator within the ASTContext. This eliminates a significant amount of malloc traffic, for a 10% performance improvement in -fsyntax-only wall-clock time with 403.gcc's combine.c. Also, eliminate the RequireNonAbstractType hack I put in earlier, which was but a symptom of this larger problem. Fixes <rdar://problem/7806091>. llvm-svn: 99849
-
- Mar 29, 2010
-
-
Anders Carlsson authored
When collecting virtual bases it's very important to use the canonical type of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251. llvm-svn: 99829
-
Anders Carlsson authored
Fix a nasty bug in the virtual base computation which would lead to us initializing virtual bases in the wrong order. llvm-svn: 99806
-
Rafael Espindola authored
This patch moves some methods from QualType to Type and changes the users to use -> instead of . llvm-svn: 99805
-
- Mar 26, 2010
-
-
John McCall authored
What happens here is that we actually turn the first declaration into a definition, regardless of whether it was actually originally a definition, and furthermore we do this all after we've instantiated all the declarations. This exposes a bug in my DefinitionData patch where it was only setting the DefinitionData for previous declarations, not future declarations. Fortunately, there's an iterator for that. llvm-svn: 99657
-
- Mar 24, 2010
-
-
John McCall authored
templates. So delay access-control diagnostics when (for example) the target of a friend declaration is a specific specialization of a template. I was surprised to find that this was required for an access-controlled selfhost. llvm-svn: 99383
-
Douglas Gregor authored
function within a class hierarchy (C++ [class.virtual]p2). We use the final-overrider computation to determine when a particular class is ill-formed because it has multiple final overriders for a given virtual function (e.g., because two virtual functions override the same virtual function in the same virtual base class). Fixes PR5973. We also use the final-overrider computation to determine which virtual member functions are pure when determining whether a class is abstract or diagnosing the improper use of an abstract class. The prior approach to determining whether there were any pure virtual functions in a class didn't cope with virtual base class subobjects properly, and could not easily be fixed to deal with the oddities of subobject hiding. Fixes PR6631. llvm-svn: 99351
-
- Mar 22, 2010
-
-
Fariborz Jahanian authored
implementation or synthesized into an implementation. Also, fixes a code gen. bug when ivars are itroduced in interleaved implementations. (related to radar 7547942). llvm-svn: 99193
-
Kovarththanan Rajaratnam authored
llvm-svn: 99191
-
- Mar 20, 2010
-
-
Daniel Dunbar authored
expression computation in the wrong bit-width, and end up generating a totally bogus array reference (_g0+8589934546). - This showed up on Prolangs/cdecl. llvm-svn: 99042
-
- Mar 19, 2010
-
-
Douglas Gregor authored
ranges as part of the ASTContext. This code is not and was never used, but contributes ~250k to the size of the Cocoa.h precompiled header. llvm-svn: 99007
-
Ted Kremenek authored
llvm-svn: 98981
-
John McCall authored
Fixes PR6643. Patch by Mike M! llvm-svn: 98946
-
- Mar 18, 2010
-
-
Ted Kremenek authored
code when we are printing the name of an Objective-C method whose class has not been declared. Fixes <rdar://problem/7495713>. llvm-svn: 98874
-
Fariborz Jahanian authored
a property which is not lvalue. llvm-svn: 98848
-
- Mar 17, 2010
-
-
Fariborz Jahanian authored
returning objc objects. There will be a corresponding objective-c++ patch soon. llvm-svn: 98696
-
- Mar 16, 2010
-
-
John McCall authored
llvm-svn: 98684
-
Benjamin Kramer authored
llvm-svn: 98630
-
Douglas Gregor authored
simplifying the SourceManager interfaces somewhat. llvm-svn: 98598
-
Douglas Gregor authored
and start simplifying the interfaces in SourceManager that can fail. llvm-svn: 98594
-
- Mar 15, 2010
-
-
Douglas Gregor authored
SourceManager's getBuffer() (and similar) operations. This abstract can be used to force callers to cope with errors in getBuffer(), such as missing files and changed files. Fix a bunch of callers to use the new interface. Add some very basic checks for file consistency (file size, modification time) into ContentCache::getBuffer(), although these checks don't help much until we've updated the main callers (e.g., SourceManager::getSpelling()). llvm-svn: 98585
-
Ted Kremenek authored
Also change this method to lookup property declarations using DeclContext::lookup(). llvm-svn: 98574
-
Ted Kremenek authored
property decls using DeclContext::lookup(). llvm-svn: 98571
-
Ted Kremenek authored
llvm-svn: 98570
-
John McCall authored
on unqualified declarations. Patch by Enea Zaffanella! Minimal adjustments: allocate the ExtInfo nodes with the ASTContext and delete them during Destroy(). I audited a bunch of Destroy methods at the same time, to ensure that the correct teardown was being done. llvm-svn: 98540
-
John McCall authored
llvm-svn: 98539
-
- Mar 13, 2010
-
-
John McCall authored
Fixes an assertion arising C overload analysis, but really I can't imagine that this wouldn't cause a thousand other uncaught failures. Fixes PR6600. llvm-svn: 98400
-
- Mar 12, 2010
-
-
Jeffrey Yasskin authored
Tested: make CPPFLAGS=-m64 CXXFLAGS=-m64 -j8 && (cd tools/clang;make test) llvm-svn: 98399
-
John McCall authored
whether it inherited one from a previous declaration. Patch by Enea Zaffanella! llvm-svn: 98362
-
John McCall authored
voids in sub-expressions. Patch by Mike M! Fixes PR4806. llvm-svn: 98335
-
John McCall authored
references. Based on a patch by Arnaud de Grandmaison! llvm-svn: 98327
-
John McCall authored
contexts. llvm-svn: 98321
-
- Mar 11, 2010
-
-
Ted Kremenek authored
the @implementation (instead of the @interface) and actually add the ivar to the DeclContext (which we weren't doing before). This allows us to simplify ASTContext::CollectNonClassIvars() by removing ASTContext::CollectProtocolSynthesizedIvars(). Now all ivars can be found by either inspecting the ObjCInterfaceDecl and its companion ObjCImplementationDecl. llvm-svn: 98280
-
John McCall authored
I'm expecting this portion of the AST to grow and change, and I'd like to be able to do that with minimal recompilation. If this proves unnecessary when access control is fully-implemented, I'll fold the classes back into DeclCXX.h. llvm-svn: 98249
-
Anders Carlsson authored
llvm-svn: 98238
-
Anders Carlsson authored
llvm-svn: 98233
-
Anders Carlsson authored
llvm-svn: 98232
-
Anders Carlsson authored
Replace the class offset vectors in RecordLayoutBuilder with maps instead so we'll have faster lookup and so we can detect duplicates. llvm-svn: 98231
-
Anders Carlsson authored
llvm-svn: 98230
-