- Jun 11, 2010
-
-
Daniel Dunbar authored
llvm-svn: 105830
-
- Mar 16, 2010
-
-
Douglas Gregor authored
recovery for those that need it. llvm-svn: 98689
-
- Feb 27, 2010
-
-
Benjamin Kramer authored
returns a StringRef. Use it to simplify some repetitive code. llvm-svn: 97322
-
- Jan 22, 2010
-
-
rdar://7520940Chris Lattner authored
is #included with "foo.h" style syntax instead of framework syntax. It produced too much noise. llvm-svn: 94120
-
- Jan 10, 2010
-
-
Chris Lattner authored
nicer than passing around two const char*'s. llvm-svn: 93094
-
rdar://7520940Chris Lattner authored
import other headers within the same framework with the full framework path, not with a relative include. llvm-svn: 93083
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81346
-
- Jul 12, 2009
-
-
Chris Lattner authored
llvm-svn: 75431
-
- Jul 02, 2009
-
-
Douglas Gregor authored
declaration in the AST. The new ASTContext::getCommentForDecl function searches for a comment that is attached to the given declaration, and returns that comment, which may be composed of several comment blocks. Comments are always available in an AST. However, to avoid harming performance, we don't actually parse the comments. Rather, we keep the source ranges of all of the comments within a large, sorted vector, then lazily extract comments via a binary search in that vector only when needed (which never occurs in a "normal" compile). Comments are written to a precompiled header/AST file as a blob of source ranges. That blob is only lazily loaded when one requests a comment for a declaration (this never occurs in a "normal" compile). The indexer testbed now supports comment extraction. When the -point-at location points to a declaration with a Doxygen-style comment, the indexer testbed prints the associated comment block(s). See test/Index/comments.c for an example. Some notes: - We don't actually attempt to parse the comment blocks themselves, beyond identifying them as Doxygen comment blocks to associate them with a declaration. - We won't find comment blocks that aren't adjacent to the declaration, because we start our search based on the location of the declaration. - We don't go through the necessary hops to find, for example, whether some redeclaration of a declaration has comments when our current declaration does not. Similarly, we don't attempt to associate a \param Foo marker in a function body comment with the parameter named Foo (although that is certainly possible). - Verification of my "no performance impact" claims is still "to be done". llvm-svn: 74704
-
- Jun 18, 2009
-
-
Chris Lattner authored
line, and when the pragma is at the end of a file. In this case, the last token consumed could pop the lexer, invalidating CurPPLexer. Thanks to Peter Thoman for pointing it out. llvm-svn: 73689
-
- Jun 15, 2009
-
-
Chris Lattner authored
the file at the point of the pragma. This allows clang to know that all sourcelocations after the pragma are in a system header. llvm-svn: 73376
-
- May 12, 2009
-
-
Chris Lattner authored
llvm-svn: 71572
-
- Apr 20, 2009
-
-
Chris Lattner authored
will let us test for multiple different warning modes in the same file in regression tests. This implements rdar://2362963, a 10-year old feature request :) llvm-svn: 69560
-
- Apr 19, 2009
-
-
Chris Lattner authored
support it. I don't know what evaluation method we use for complex arithmetic, so I don't know whether/if we should warn about use of CX_LIMITED_RANGE. This concludes my planned hacking on STDC pragmas, flame away :) llvm-svn: 69556
-
Chris Lattner authored
llvm-svn: 69554
-
Chris Lattner authored
llvm-svn: 69551
-
Chris Lattner authored
llvm-svn: 69550
-
Chris Lattner authored
llvm-svn: 69547
-
- Apr 14, 2009
-
-
Chris Lattner authored
Warning to properly report that it is an import/include_next instead of claiming it is a #include. llvm-svn: 69023
-
- Mar 17, 2009
-
-
Gabor Greif authored
llvm-svn: 67081
-
- Mar 08, 2009
-
-
Chris Lattner authored
\0's to created tokens instead of making all clients do it. No functionality change. llvm-svn: 66373
-
- Feb 15, 2009
-
-
Chris Lattner authored
Now instead of just tracking the expansion history, also track the full range of the macro that got replaced. For object-like macros, this doesn't change anything. For _Pragma and function-like macros, this means we track the locations of the ')'. This is required for PR3579 because apparently GCC uses the line of the ')' of a function-like macro as the location to expand __LINE__ to. llvm-svn: 64601
-
- Jan 29, 2009
-
-
Chris Lattner authored
redundant #includes. Patch by Anders Johnsen! llvm-svn: 63271
-
- Jan 27, 2009
-
-
Chris Lattner authored
.def file for each library. This means that adding a diagnostic to sema doesn't require all the other libraries to be rebuilt. Patch by Anders Johnsen! llvm-svn: 63111
-
- Jan 26, 2009
-
-
Chris Lattner authored
Token now has a class of kinds for "literals", which include numeric constants, strings, etc. These tokens can optionally have a pointer to the start of the token in the lexer buffer. This makes it faster to get spelling and do other gymnastics, because we don't have to go through source locations. This change is performance neutral, but will make other changes more feasible down the road. llvm-svn: 63028
-
- Jan 19, 2009
-
-
Chris Lattner authored
SourceLocation. This requires making some cleanups to token pasting and _Pragma expansion. llvm-svn: 62490
-
- Jan 17, 2009
-
-
Chris Lattner authored
method. This lets us clean up the interface and make it more obvious that this method is *really really* _Pragma specific. Note that _Pragma handling uglifies the Lexer in the critical path. It would be very interesting to consider making _Pragma remapping be a new special lexer class of its own. llvm-svn: 62425
-
Chris Lattner authored
"FileID" a concept that is now enforced by the compiler's type checker instead of yet-another-random-unsigned floating around. This is an important distinction from the "FileID" currently tracked by SourceLocation. *That* FileID may refer to the start of a file or to a chunk within it. The new FileID *only* refers to the file (and its #include stack and eventually #line data), it cannot refer to a chunk. FileID is a completely opaque datatype to all clients, only SourceManager is allowed to poke and prod it. llvm-svn: 62407
-
- Jan 16, 2009
-
-
Chris Lattner authored
llvm-svn: 62334
-
Chris Lattner authored
notifying PPCallbacks about it. llvm-svn: 62333
-
Chris Lattner authored
documented here: http://msdn.microsoft.com/en-us/library/7f0aews7(VS.80).aspx This is according to my understanding reading the docs, I don't know if it really agrees fully with what VC++ allows. llvm-svn: 62317
-
- Nov 20, 2008
-
-
Ted Kremenek authored
information. A diff of the -E output for Cocoa.h shows that there is no change in output. llvm-svn: 59693
-
- Nov 19, 2008
-
-
Ted Kremenek authored
Use PreprocessorLexer::getFileID() instead of Lexer::getFileLoc(). This is an intermediate step to having getCurrentLexer() return a PreprocessorLexer* instead of a Lexer*. llvm-svn: 59672
-
Ted Kremenek authored
llvm-svn: 59668
-
- Nov 18, 2008
-
-
Chris Lattner authored
llvm-svn: 59512
-
Chris Lattner authored
llvm-svn: 59511
-
Ted Kremenek authored
llvm-svn: 59482
-
- Oct 04, 2008
-
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 57065
-
- Sep 26, 2008
-
-
Chris Lattner authored
DirectoryLookup::DirType into SourceManager.h llvm-svn: 56692
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
-