- 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
-
Douglas Gregor authored
instantiations when we have the corresponding macro definition and by removing macro definition information from our table when the macro is undefined. llvm-svn: 99004
-
Douglas Gregor authored
record (which includes all macro instantiations and definitions). As with all lay deserialization, this introduces a new external source (here, an external preprocessing record source) that loads all of the preprocessed entities prior to iterating over the entities. The preprocessing record is an optional part of the precompiled header that is disabled by default (enabled with -detailed-preprocessing-record). When the preprocessor given to the PCH writer has a preprocessing record, that record is written into the PCH file. When the PCH reader is given a PCH file that contains a preprocessing record, it will be lazily loaded (which, effectively, implicitly adds -detailed-preprocessing-record). This is the first case where we have sections of the precompiled header that are added/removed based on a compilation flag, which is unfortunate. However, this data consumes ~550k in the PCH file for Cocoa.h (out of ~9.9MB), and there is a non-trivial cost to gathering this detailed preprocessing information, so it's too expensive to turn on by default. In the future, we should investigate a better encoding of this information. llvm-svn: 99002
-
Fariborz Jahanian authored
(related to radar 7538989). llvm-svn: 98993
-
Ted Kremenek authored
llvm-svn: 98982
-
Ted Kremenek authored
llvm-svn: 98981
-
-
Daniel Dunbar authored
actual action. - This is easier to use, and more reliable for timing the thing this was actually meant to be useful for. llvm-svn: 98978
-
John McCall authored
mostly during conditional expressions. llvm-svn: 98975
-
Fariborz Jahanian authored
object pointer types. Fixes radar 7634850. llvm-svn: 98970
-
Douglas Gregor authored
eliminating the extra PopulatePreprocessingRecord object. This will become useful once we start writing the preprocessing record to precompiled headers. llvm-svn: 98966
-
Douglas Gregor authored
tie its creation to a CC1 flag -detailed-preprocessing-record. llvm-svn: 98963
-
Douglas Gregor authored
information, to address recent gdb failures. llvm-svn: 98959
-
John McCall authored
Fixes PR6643. Patch by Mike M! llvm-svn: 98946
-
John McCall authored
entity (if applicable) which was actually looked up. If a candidate was found via a using declaration, this is the UsingShadowDecl; otherwise, if the candidate is template specialization, this is the template; otherwise, this is the function. The point of this exercise is that "found declarations" are the entities we do access control for, not their underlying declarations. Broadly speaking, this patch fixes access control for using declarations. There is a *lot* of redundant code calling into the overload-resolution APIs; we really ought to clean that up. llvm-svn: 98945
-
Douglas Gregor authored
deserialization of precompiled headers, where the deserialization of the source location entry for a buffer (e.g., macro instantiation scratch space) would overwrite a one-element FileID cache in the source manager. When tickled at the wrong time, we would return the wrong decomposed source location and eventually cause c-index-test to crash. Found by dumb luck. It's amazing this hasn't shown up before. llvm-svn: 98940
-
Douglas Gregor authored
definitions) as part of the translation unit, so that normal visitation, token-annotation, and cursor-at retrieval all see preprocessing elements. llvm-svn: 98935
-
Bob Wilson authored
--- Reverse-merging r98907 into '.': D test/Index/c-index-getCursor-pp.c U tools/CIndex/CIndex.cpp llvm-svn: 98929
-
Douglas Gregor authored
definitions) as part of the translation unit, so that normal visitation, token-annotation, and cursor-at retrieval all see preprocessing elements. llvm-svn: 98907
-
John McCall authored
access to the (elevated) access of the accessed declaration, if applicable, rather than plunking that access onto the end after we've calculated the inheritance access. Also, being a friend of a derived class gives you public access to its members (subject to later modification by further inheritance); it does not simply ignore a single location of restricted inheritance. Also, when computing the best unprivileged path to a subobject, preserve the information that the worst path might be AS_none (forbidden) rather than a minimum of AS_private. llvm-svn: 98899
-
Douglas Gregor authored
rather than from the -main-file-name flag, since the source manager has proper path information. Fixes <rdar://problem/7769538>. llvm-svn: 98898
-
- Mar 18, 2010
-
-
Douglas Gregor authored
llvm-svn: 98878
-
Douglas Gregor authored
llvm-svn: 98875
-
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
-
Ted Kremenek authored
llvm-svn: 98873
-
Fariborz Jahanian authored
a property which is not lvalue. llvm-svn: 98848
-
Douglas Gregor authored
preprocessing record. Use that link with clang_getCursorReferenced() and clang_getCursorDefinition() to match instantiations of a macro to the definition of the macro. llvm-svn: 98842
-
Douglas Gregor authored
generated by clang_annotateTokens(). llvm-svn: 98837
-
Douglas Gregor authored
the macro definitions and macro instantiations that are found during preprocessing. Preprocessing records are *not* generated by default; rather, we provide a PPCallbacks subclass that hooks into the existing callback mechanism to record this activity. The only client of preprocessing records is CIndex, which keeps track of macro definitions and instantations so that they can be exposed via cursors. At present, only token annotation uses these facilities, and only for macro instantiations; both will change in the near future. However, with this change, token annotation properly annotates macro instantiations that do not produce any tokens and instantiations of macros that are later undef'd, improving our consistency. Preprocessing directives that are not macro definitions are still handled by clang_annotateTokens() via re-lexing, so that we don't have to track every preprocessing directive in the preprocessing record. Performance impact of preprocessing records is still TBD, although it is limited to CIndex and therefore out of the path of the main compiler. llvm-svn: 98836
-
Benjamin Kramer authored
llvm-svn: 98833
-
Douglas Gregor authored
llvm-svn: 98827
-
Douglas Gregor authored
token sequence to detect macro instantiations (that produce at least token). WIP. llvm-svn: 98826
-
Douglas Gregor authored
llvm-svn: 98825
-
Kovarththanan Rajaratnam authored
llvm-svn: 98823
-
Kovarththanan Rajaratnam authored
llvm-svn: 98822
-
John McCall authored
non-placement news when selecting the corresponding operator delete; this is fixed. Access and ambiguity control for calls to operator new and delete. Also AFAICT llvm-svn: 98818
-
Kovarththanan Rajaratnam authored
llvm-svn: 98817
-
Kovarththanan Rajaratnam authored
llvm-svn: 98816
-
John McCall authored
so they don't trigger diagnostics like (say) access control. llvm-svn: 98806
-
Ted Kremenek authored
llvm-svn: 98801
-