summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex
Commit message (Collapse)AuthorAgeFilesLines
...
* fix the microsoft "charify" extension to return the charified token Chris Lattner2009-12-231-1/+1
| | | | | | | as a character literal, not a string literal. This might fix rdar://7486575 llvm-svn: 92025
* Eliminate a completely unnecessary buffer copy when parsing float literals.John McCall2009-12-231-6/+1
| | | | llvm-svn: 91974
* reimplement r90860, fixing a couple of problems:Chris Lattner2009-12-171-9/+21
| | | | | | | | | 1. Don't make a copy of LangOptions every time a lexer is created. 2. Don't make CharInfo global mutable state. 3. Fix the implementation to properly treat ^Z as EOF instead of as horizontal whitespace, which matches the semantic implemented by VC++. llvm-svn: 91586
* enable reuse of MacroArgs objects. This is a small (2.5%) win Chris Lattner2009-12-151-10/+32
| | | | | | | | | | on PR5610 (2.185 -> 2.130s). The big issue is that this is making insanely huge macro argument lists with over a million tokens in it. The reason that mallco and free are so expensive is that we are actually going to the kernel to get it, and switching to a bump pointer allocator won't change this in an interesting way. llvm-svn: 91449
* set up the machinery for a MacroArgs cache hanging off Preprocessor.Chris Lattner2009-12-153-2/+29
| | | | | | | | | We creating and free thousands of MacroArgs objects (and the related std::vectors hanging off them) for the testcase in PR5610 even though there are only ~20 live at a time. This doesn't actually use the cache yet. llvm-svn: 91391
* move the VarargsElided member of MacrosArgs to shrink the MacroArgs structChris Lattner2009-12-144-15/+17
| | | | | | | on 64-bit targets. Pass Preprocessor into create/destroy methods of MacroArgs even though it isn't used yet. llvm-svn: 91345
* fix typoChris Lattner2009-12-141-1/+1
| | | | llvm-svn: 91343
* teach clang to recover gracefully from conflict markers left in sourceChris Lattner2009-12-141-14/+133
| | | | | | files: PR5238. llvm-svn: 91270
* fix rdar://7466570 - Be more bug compatible with GCC when it comes to Chris Lattner2009-12-141-2/+21
| | | | | | | | expanding directives withing macro expansions. This is undefined behavior according to 6.10.3p11, so we might as well be undefined in ways similar to GCC. llvm-svn: 91266
* formatting changes.Chris Lattner2009-12-141-4/+5
| | | | llvm-svn: 91263
* reduce indentation.Chris Lattner2009-12-141-15/+14
| | | | llvm-svn: 91262
* Don't expand tabs when computing the offset from the code-completion columnDouglas Gregor2009-12-081-8/+2
| | | | llvm-svn: 90881
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-081-4/+9
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=80043 llvm-svn: 90860
* Get rid of some diagnostics that don't follow our rules for -pedanticEli Friedman2009-12-081-7/+0
| | | | | | | diagnostics (specifically, that any extension in a compiler-reserved namespace shouldn't trigger a diagnostic). llvm-svn: 90826
* Unbreak and add test case for r90276, a situation in which getBuffer is ↵Daniel Dunbar2009-12-061-1/+1
| | | | | | | | expected to fail. Also, update SourceManager.h doxyments for getBuffer() to reflect reality. llvm-svn: 90701
* Change Preprocessor::EnterSourceFile to make ErrorStr non-optional, clients ↵Daniel Dunbar2009-12-063-5/+8
| | | | | | should be forced to deal with error conditions. llvm-svn: 90700
* minor tidy.Chris Lattner2009-12-041-6/+5
| | | | llvm-svn: 90543
* Minor cleanup to the code-completion-point logic suggested by Chris.Douglas Gregor2009-12-031-1/+1
| | | | llvm-svn: 90459
* Add 'has_feature(cxx_exceptions)' to allow code to determine via ↵Ted Kremenek2009-12-031-0/+3
| | | | | | preprocessor logic if C++ exceptions are enabled. llvm-svn: 90378
* Rename has_feature(rtti) to has_feature(cxx_rtti) for clarity.Ted Kremenek2009-12-031-3/+3
| | | | llvm-svn: 90376
* Add "has_feature" support for C++ RTTI.Ted Kremenek2009-12-031-0/+3
| | | | llvm-svn: 90368
* Extend the source manager with the ability to override the contents ofDouglas Gregor2009-12-022-23/+68
| | | | | | | | | | files with the contents of an arbitrary memory buffer. Use this new functionality to drastically clean up the way in which we handle file truncation for code-completion: all of the truncation/completion logic is now encapsulated in the preprocessor where it belongs (<rdar://problem/7434737>). llvm-svn: 90300
* pass the reason for failure up from MemoryBuffer and report itChris Lattner2009-12-012-4/+7
| | | | | | | | | | | | in diagnostics when we fail to open a file. This allows us to report things like: $ clang test.c -I. test.c:2:10: fatal error: error opening file './foo.h': Permission denied #include "foo.h" ^ llvm-svn: 90276
* Fix PR5633 by making the preprocessor handle the case where we canChris Lattner2009-11-303-11/+22
| | | | | | | | | | stat a file but where mmaping it fails. In this case, we emit an error like: t.c:1:10: fatal error: error opening file '../../foo.h' instead of "cannot find file". llvm-svn: 90110
* remove stall commentNuno Lopes2009-11-291-2/+1
| | | | llvm-svn: 90080
* Remove remaining VISIBILITY_HIDDEN from anonymous namespaces.Benjamin Kramer2009-11-281-8/+7
| | | | llvm-svn: 90044
* Cleanup llvm/Support/Compiler.h include in header filesKovarththanan Rajaratnam2009-11-281-0/+1
| | | | llvm-svn: 90040
* cleanup parsing of MS integer suffixes a little. this fixes PR5616Nuno Lopes2009-11-281-27/+15
| | | | | | btw, I believe that isMicrosoftInteger can go away; it's not read anywhere llvm-svn: 90036
* Move DISABLE_INLINE to the front of the decl so MSVC can parse it. Patch by ↵Benjamin Kramer2009-11-141-4/+4
| | | | | | Amine Khaldi! llvm-svn: 88797
* Add static version of Preprocessor::getSpelling.Daniel Dunbar2009-11-141-2/+12
| | | | llvm-svn: 88732
* Wherein the TargetInfo argument to Preprocessor is made 'const' and propogated.Daniel Dunbar2009-11-132-2/+2
| | | | llvm-svn: 87087
* Switch PTHManager to using diagnostics for most errors.Daniel Dunbar2009-11-121-24/+15
| | | | | | Also, always give errors on a token-cache PTH failure. llvm-svn: 86939
* Remove an overly-eager assertion when replacing tokens with anDouglas Gregor2009-11-121-2/+0
| | | | | | | | | | | annotation token, because some of the tokens we're annotating might not be in the set of cached tokens (we could have consumed them unconditionally). Also, move the tentative parsing from ParseTemplateTemplateArgument into the one caller that needs it, improving recovery. llvm-svn: 86904
* Allow Preprocessor to take ownership of the HeaderSearch object. I think it ↵Daniel Dunbar2009-11-111-1/+7
| | | | | | should probably always own the header search object, but I'm not sure... llvm-svn: 86882
* Add Diagnostic::Report method for reporting diagnostics without a location.Daniel Dunbar2009-11-101-5/+4
| | | | llvm-svn: 86760
* Make LookUpIdentifierInfo const. This makes the Identifiers table mutable and isDaniel Dunbar2009-11-051-1/+1
| | | | | | | | | a little fuzzy, but conceptually it's just uniquing the identifier. Chris, please review. I debated splitting into const/non-const versions where the const one propogated constness to the resulting IdentifierInfo*. llvm-svn: 86106
* StringRefize Preprocessor::getIdentifierInfo.Daniel Dunbar2009-11-051-2/+2
| | | | llvm-svn: 86105
* Kill PreprocessorFactory, which was both morally repugnant and totally unused.Daniel Dunbar2009-11-041-2/+0
| | | | llvm-svn: 86076
* Added __has_include and __has_include_next.John Thompson2009-11-021-2/+129
| | | | llvm-svn: 85834
* Re-arranged some internal functions for coming __has_include changes.John Thompson2009-10-302-62/+70
| | | | llvm-svn: 85589
* Update location of DataTypes.h to reflect move in LLVM with r85086.Chandler Carruth2009-10-261-1/+1
| | | | llvm-svn: 85087
* Move clients to use IdentifierInfo::getNameStart() instead of getName()Daniel Dunbar2009-10-184-12/+4
| | | | llvm-svn: 84436
* Switch to llvm::HashString.Daniel Dunbar2009-10-171-3/+4
| | | | llvm-svn: 84375
* Add support for a chain of stat caches in the FileManager, rather thanDouglas Gregor2009-10-162-2/+3
| | | | | | | | | only supporting a single stat cache. The immediate benefit of this change is that we can now generate a PCH/AST file when including another PCH file; in the future, the chain of stat caches will likely be useful with multiple levels of PCH files. llvm-svn: 84263
* Teach Lexer::MeasureTokenLength to be able to measure theChris Lattner2009-10-141-0/+1
| | | | | | length of comment tokens. Patch by Abramo Bagnara! llvm-svn: 84100
* This fixes support for complex literals, reworked to avoid a goto, andMike Stump2009-10-081-24/+44
| | | | | | | to add a flag noting the presence of a Microsoft extension suffix (i8, i16, i32, i64). Patch by John Thompson. llvm-svn: 83591
* Installation of Clang libraries and headers, from Axel Naumann!Douglas Gregor2009-10-081-3/+0
| | | | llvm-svn: 83582
* Replace the -code-completion-dump option with Douglas Gregor2009-09-222-17/+21
| | | | | | | | | | | -code-completion-at=filename:line:column which performs code completion at the specified location by truncating the file at that position and enabling code completion. This approach makes it possible to run multiple tests from a single test file, and gives a more natural command-line interface. llvm-svn: 82571
* Refactor and simplify the CodeCompleteConsumer, so that all of theDouglas Gregor2009-09-211-12/+13
| | | | | | | real work is performed within Sema. Addresses Chris's comments, but still retains the heavyweight list-of-multimaps data structure. llvm-svn: 82459
* Initial implementation of a code-completion interface in Clang. InDouglas Gregor2009-09-172-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | essence, code completion is triggered by a magic "code completion" token produced by the lexer [*], which the parser recognizes at certain points in the grammar. The parser then calls into the Action object with the appropriate CodeCompletionXXX action. Sema implements the CodeCompletionXXX callbacks by performing minimal translation, then forwarding them to a CodeCompletionConsumer subclass, which uses the results of semantic analysis to provide code-completion results. At present, only a single, "printing" code completion consumer is available, for regression testing and debugging. However, the design is meant to permit other code-completion consumers. This initial commit contains two code-completion actions: one for member access, e.g., "x." or "p->", and one for nested-name-specifiers, e.g., "std::". More code-completion actions will follow, along with improved gathering of code-completion results for the various contexts. [*] In the current -code-completion-dump testing/debugging mode, the file is truncated at the completion point and EOF is translated into "code completion". llvm-svn: 82166
OpenPOWER on IntegriCloud