summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the cursor kind of macro-name-only completions produced byDouglas Gregor2010-08-251-1/+4
| | | | | | | ASTUnit match those produced directly by code completion. Test case is forthcoming. llvm-svn: 112063
* Teach Sema to live without CodeCompleteConsumer.h.John McCall2010-08-251-6/+6
| | | | llvm-svn: 112028
* Frontend: Add basic -H support.Daniel Dunbar2010-08-242-9/+44
| | | | | | | - I didn't implement the GCC "multiple include guard" detection parts, because it doesn't seem useful or obvious. llvm-svn: 111983
* correct the -isystem option to not add the -isysroot path. Only the weirdChris Lattner2010-08-242-7/+8
| | | | | | -iwithsysroot flag should do that. This fixes rdar://8345942 llvm-svn: 111979
* Implement code completion for preprocessor expressions and in macroDouglas Gregor2010-08-241-1/+3
| | | | | | arguments. llvm-svn: 111976
* Implement -iwithsysroot, an apple extension which is a close cousin of -isystem.Chris Lattner2010-08-241-1/+1
| | | | | | | Instead of implementing -isystem, I accidentally implemented this cousin. Next up is to implement -isystem right. llvm-svn: 111966
* Implement preprocessor code completion where a macro name is expected,Douglas Gregor2010-08-241-5/+22
| | | | | | | e.g., after #ifdef/#ifndef or #undef, or inside a defined <macroname> expression in a preprocessor conditional. llvm-svn: 111954
* Move ExecuteCompilerInvocation to a new library FrontendToolPeter Collingbourne2010-08-242-156/+0
| | | | | | | | | | r110903 introduced a dependency from Frontend to every library that declared an Action by introducing Action references that previously resided in the driver in the file ExecuteCompilerInvocation.cpp. This patch moves ExecuteCompilerInvocation to a new library named FrontendTool which is intended to bear these dependencies. llvm-svn: 111873
* Introduce new libclang API functions that determine the availabilityDouglas Gregor2010-08-231-1/+4
| | | | | | | of a cursor or code-completion result, e.g., whether that result refers to an unavailable, deleted, or deprecated declaration. llvm-svn: 111858
* Don't include macro results when we're completing a declarator.Douglas Gregor2010-08-231-3/+1
| | | | llvm-svn: 111830
* Introduce a new code-completion point when we're parsing aDouglas Gregor2010-08-231-2/+8
| | | | | | | | | declarator. Here, we can only see a few things (e.g., cvr-qualifiers, nested name specifiers) and we do not want to provide other non-macro completions. Previously, we would end up in recovery mode and would provide a large number of non-relevant completions. llvm-svn: 111818
* Abstract out member-pointer creation. I'm really unhappy about the currentJohn McCall2010-08-222-7/+5
| | | | | | | | duplication between the constant and non-constant paths in all of this. Implement ARM ABI semantics for member pointer constants and conversion. llvm-svn: 111772
* Detabify.Eli Friedman2010-08-221-1/+1
| | | | llvm-svn: 111768
* Visual Studio tools used on win32 hosts when targeting win32.Michael J. Spencer2010-08-211-2/+12
| | | | llvm-svn: 111748
* Fix typo in comment.Michael J. Spencer2010-08-211-1/+1
| | | | llvm-svn: 111729
* Another step in the process of making the parser depend on Sema:John McCall2010-08-202-2/+2
| | | | | | | | | - move DeclSpec &c into the Sema library - move ParseAST into the Parse library Reflect this change in a thousand different includes. Reflect this change in the link orders. llvm-svn: 111667
* Eliminate some extraneous whitespace in the machine-parseable Fix-It output.Douglas Gregor2010-08-201-2/+2
| | | | llvm-svn: 111610
* When performing code-completion in the presence of a preamble, makeDouglas Gregor2010-08-201-8/+13
| | | | | | | | | sure to (1) actually use the remapped files we were given rather than old data, and (2) keep the remapped files alive until the code-completion results are destroyed. Big thanks to Daniel for the test case. llvm-svn: 111597
* When we decide not to reuse a precompiled preamble, clear out theDouglas Gregor2010-08-201-2/+18
| | | | | | previous precompiled preamble completely. Fixes <rdar://problem/8330950>. llvm-svn: 111590
* Add machine-parseable Fix-It output as part of diagnostics, under theDouglas Gregor2010-08-192-0/+45
| | | | | | flag -fdiagnostics-parseable-fixits, from Eelis van der Weegen! llvm-svn: 111557
* Fix a loop overrun in ComputePreamble when the last remapped file was erased,Daniel Dunbar2010-08-191-0/+4
| | | | | | | | and reenable crash recovery test. - Reparsing is still very crashy / weird, so I had to sprinkle random code into the remapped input to get it to do what I want (i.e., crash!). llvm-svn: 111550
* Plug a leak when precompiling the preamble in ASTUnit.Douglas Gregor2010-08-191-7/+21
| | | | llvm-svn: 111504
* Make sure to initialize ASTUnit::UnsafeToFreeDouglas Gregor2010-08-191-1/+2
| | | | llvm-svn: 111490
* Rename the ASTReader header files.Sebastian Redl2010-08-183-3/+3
| | | | llvm-svn: 111474
* More PCH -> AST renaming.Sebastian Redl2010-08-183-12/+12
| | | | llvm-svn: 111472
* Rename various classes from PCH to AST.Sebastian Redl2010-08-183-5/+5
| | | | llvm-svn: 111471
* Rename PCHReader to ASTReader.Sebastian Redl2010-08-183-16/+16
| | | | llvm-svn: 111467
* Rename PCHWriter.h to ASTWriter.hSebastian Redl2010-08-182-2/+2
| | | | llvm-svn: 111466
* Rename PCHWriter to ASTWriterSebastian Redl2010-08-181-2/+2
| | | | llvm-svn: 111463
* When creating an ASTUnit by parsing source code, set DisableFree toDouglas Gregor2010-08-181-1/+1
| | | | | | | | false (not true), so that the CompilerInstance will actually free data structures when it's done. This fixes a major leak with libclang's in-process code completion. llvm-svn: 111457
* Simplify the ownership model for DiagnosticClients, which was reallyDouglas Gregor2010-08-183-33/+23
| | | | | | | convoluted and a bit leaky. Now, the Diagnostic object owns its DiagnosticClient. llvm-svn: 111437
* Simplify FixItHint by eliminated the unnecessary InsertionLocDouglas Gregor2010-08-181-2/+2
| | | | | | location. Patch by Eelis van der Weegen! llvm-svn: 111362
* Fix CMake buildSebastian Redl2010-08-171-1/+0
| | | | llvm-svn: 111284
* Reintroduce the serialization library, with fixed dependencies.Sebastian Redl2010-08-1712-12944/+5
| | | | llvm-svn: 111279
* Patch to add type parameter support for attribute iboutletcollection.Fariborz Jahanian2010-08-172-4/+3
| | | | | | Radar 8308053. llvm-svn: 111275
* Revert Sebastian's build-breaking patch.Douglas Gregor2010-08-1712-5/+12945
| | | | llvm-svn: 111265
* Create a new Serialization module that contains all the PCH code, and will ↵Sebastian Redl2010-08-1712-12945/+5
| | | | | | contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change. llvm-svn: 111258
* Fix a typo in a diag name.Sebastian Redl2010-08-171-1/+1
| | | | llvm-svn: 111257
* Convert all uses of StringLiteral::getStrData() to StringLiteral::getString()Benjamin Kramer2010-08-172-3/+3
| | | | | | and remove getStrData(). Patch by Peter Davies (with some tweaks). llvm-svn: 111229
* When the # of top-level declarations changes after reparsing aDouglas Gregor2010-08-171-1/+15
| | | | | | | | translation unit, refresh code-completion results because they've probably changed. However, enforce a cooldown period between refreshes, to avoid thrashing. llvm-svn: 111218
* Move include to the proper place. No functionality changeDouglas Gregor2010-08-161-0/+1
| | | | llvm-svn: 111204
* Implement support for cached code completions forDouglas Gregor2010-08-161-21/+51
| | | | | | | | | | nested-name-specifiers. Also includes fixes to the generation of nested-name-specifier result in the non-cached case; we were producing lame results for namespaces and namespace aliases, which (1) didn't always have nested-name-specifiers when we want them, and (2) did not have the necessary "::" as part of the completion. llvm-svn: 111203
* Formatting fixes. No functionality changeDouglas Gregor2010-08-161-5/+5
| | | | llvm-svn: 111186
* Implement name hiding of cached global code-completion results.Douglas Gregor2010-08-161-3/+81
| | | | llvm-svn: 111184
* Move some code out-of-line which has long since grown too large to beDouglas Gregor2010-08-161-61/+69
| | | | | | inlined. No functionality change. llvm-svn: 111176
* Add two options for playing with modules.Sebastian Redl2010-08-162-0/+9
| | | | llvm-svn: 111166
* When caching code completions for global declarations, keep track ofDouglas Gregor2010-08-161-8/+38
| | | | | | | | | | | | | | | | the usage type of each declaration result, then compare those types to the preferred type of the completion. This provides parity in the priority calculation between the code-completion results produced directly from Sema and those cached by ASTUnit. For the standard Cocoa.h (+ others) example, there's a penalty of 3-4 hundredeths of a second when caching the global results (for ~31,000 results), because we need an ASTContext-agnostic representation of types for the comparison, and therefore we use... strings. Eventually, we'd like to implement a more efficient ASTContext-agnostic encoding of types. llvm-svn: 111165
* Dereferencing NULL pointers is such poor form.Douglas Gregor2010-08-161-4/+8
| | | | llvm-svn: 111150
* When caching global completion results, keep track of the simplifiedDouglas Gregor2010-08-161-1/+23
| | | | | | | | | | | type class, so that we can adjust priorities appropriately when the preferred type for the context and the actual type of the completion are similar. This gets us one step closer to parity of the cached completion results with the non-cached completion results. llvm-svn: 111139
* Open AST/PCH files in binary mode.Benjamin Kramer2010-08-151-2/+2
| | | | llvm-svn: 111106
OpenPOWER on IntegriCloud