summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
...
* Store a parameter index and function prototype depth in everyJohn McCall2011-05-011-0/+1
| | | | | | | | | | parameter node and use this to correctly mangle parameter references in function template signatures. A follow-up patch will improve the storage usage of these fields; here I've just done the lazy thing. llvm-svn: 130669
* Teach DelayedDiagnostic to copy its string, rather than hope that theDouglas Gregor2011-03-231-0/+1
| | | | | | | string itself lives longer than the DelayedDiagnostic. Fixes a recent use-after-free regression due to my availability attribute work. llvm-svn: 128148
* CMake: LLVM_NO_RTTI must be obsolete now!NAKAMURA Takumi2011-02-101-2/+0
| | | | llvm-svn: 125275
* Move the work-in-progress implementation of variadic templates to its own ↵Douglas Gregor2010-12-151-0/+1
| | | | | | file in Sema. No functionality change. llvm-svn: 121869
* Revert "CMake: Update to use standard CMake dependency tracking facilities ↵Michael J. Spencer2010-09-131-12/+4
| | | | | | | | | | | | | instead" This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt llvm-svn: 113817
* CMake: Update to use standard CMake dependency tracking facilities insteadMichael J. Spencer2010-09-101-4/+12
| | | | | | of whatever we were using before... llvm-svn: 113631
* Clean up some of the CMake dependenciesDouglas Gregor2010-09-081-0/+2
| | | | llvm-svn: 113416
* One who seeks knowledge learns something new every day.John McCall2010-08-261-1/+0
| | | | | | | | | One who seeks the Tao unlearns something new every day. Less and less remains until you arrive at non-action. When you arrive at non-action, nothing will be left undone. llvm-svn: 112244
* Another step in the process of making the parser depend on Sema:John McCall2010-08-201-1/+3
| | | | | | | | | - 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
* Update CMake build system for ARM NEON generation.Douglas Gregor2010-06-171-2/+2
| | | | llvm-svn: 106220
* Update CMake build for new attribute changes.Alexis Hunt2010-06-171-1/+2
| | | | llvm-svn: 106188
* Convert DeclNodes to use TableGen.Alexis Hunt2010-05-301-1/+1
| | | | | | | | The macros required for DeclNodes use have changed to match the use of StmtNodes. The FooFirst enumerator constants have been named firstFoo to match usage elsewhere. llvm-svn: 105165
* Unbreak CMake build.Douglas Gregor2010-05-051-1/+1
| | | | llvm-svn: 103077
* Refactor CFG-based warnings in Sema to be run by a worked object called ↵Ted Kremenek2010-03-201-0/+1
| | | | | | | | | | | | | | | AnalysisBasedWarnings. This object controls when the warnings are executed, allowing the client code in Sema to selectively disable warnings as needed. Centralizing the logic for analysis-based warnings allows us to optimize when and how they are run. Along the way, remove the redundant logic for the 'check fall-through' warning for blocks; now the same logic is used for both blocks and functions. llvm-svn: 99085
* Update CMake build.Ted Kremenek2010-03-121-0/+1
| | | | llvm-svn: 98318
* Try to make cmake happyAnton Korobeynikov2010-01-101-0/+1
| | | | llvm-svn: 93119
* Test exception spec compatibility on return type and parameters.Sebastian Redl2009-10-111-0/+1
| | | | | | | Along the way, use RequireCompleteType when testing exception spec types. Separate all the ugly spec stuff into its own file. llvm-svn: 83764
* Refactor the code that walks a C++ inheritance hierarchy, searchingDouglas Gregor2009-10-061-1/+0
| | | | | | | | | for bases, members, overridden virtual methods, etc. The operations isDerivedFrom and lookupInBases are now provided by CXXRecordDecl, rather than by Sema, so that CodeGen and other clients can use them directly. llvm-svn: 83396
* Initial implementation of a code-completion interface in Clang. InDouglas Gregor2009-09-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Refactor the instantiation of statements into a generic treeDouglas Gregor2009-08-201-1/+0
| | | | | | transformation. llvm-svn: 79519
* Refactor the template-instantiation logic for expressions into aDouglas Gregor2009-08-111-1/+0
| | | | | | | generic tree transformation (also used for recanonicalization) and a small amount of template-instantiation-specific logic. llvm-svn: 78645
* Rename file in preparation of properly implementing C-style casts in C++.Sebastian Redl2009-07-181-1/+1
| | | | llvm-svn: 76318
* Lexically order files in CMakeLists.txt files.Ted Kremenek2009-07-151-2/+2
| | | | llvm-svn: 75832
* When performing template argument deduction, ensure that multipleDouglas Gregor2009-06-041-0/+1
| | | | | | | | | | deductions of the same template parameter are equivalent. This allows us to implement the is_same type trait (!). Also, move template argument deduction into its own file and update a few build systems with this change (grrrr). llvm-svn: 72819
* Move statement instantiation into its own file. No functionality changeDouglas Gregor2009-05-151-0/+1
| | | | llvm-svn: 71872
* move jump scope checking and related code out into its own file, SemaDecl.cpp isChris Lattner2009-04-191-0/+1
| | | | | | already too large. llvm-svn: 69505
* Update CMakeDouglas Gregor2009-03-271-0/+1
| | | | llvm-svn: 67824
* Move template instantiation for expressions into a separate fileDouglas Gregor2009-03-251-0/+1
| | | | llvm-svn: 67660
* Refactor instantiation of declarations within a template into a muchDouglas Gregor2009-03-171-0/+1
| | | | | | | | | cleaner visitor framework. Added a visitor for declarations, which is quite similar to the visitor for statatements. llvm-svn: 67104
* Build system changes to use TableGen to generate the variousDouglas Gregor2009-03-161-0/+2
| | | | | | | | | | | | | | | | | | diagnostics. This builds on the patch that Sebastian committed and then revert. Major differences are: - We don't remove or use the current ".def" files. Instead, for now, we just make sure that we're building the ".inc" files. - Fixed CMake makefiles to run TableGen and build the ".inc" files when needed. Tested with both the Xcode and Makefile generators provided by CMake, so it should be solid. - Fixed normal makefiles to handle out-of-source builds that involve the ".inc" files. I'll send a separate patch to the list with Sebastian's changes that eliminate the use of the .def files. llvm-svn: 67058
* Implement the basic approach for instantiating types, with a lot of FIXME'dDouglas Gregor2009-02-271-0/+1
| | | | | | | | | | | stubs for those types we don't yet know how to instantiate (everything that isn't a template parameter!). We now instantiate default arguments for template type parameters when needed. This will be our testbed while I fill out the remaining type-instantiation logic. llvm-svn: 65649
* move attribute(packed) sema support out of SemaDecl into a new SemaAttr.cpp ↵Chris Lattner2009-02-171-1/+2
| | | | | | file. llvm-svn: 64711
* Refactor name lookup.Douglas Gregor2009-01-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change refactors and cleans up our handling of name lookup with LookupDecl. There are several aspects to this refactoring: - The criteria for name lookup is now encapsulated into the class LookupCriteria, which replaces the hideous set of boolean values that LookupDecl currently has. - The results of name lookup are returned in a new class LookupResult, which can lazily build OverloadedFunctionDecls for overloaded function sets (and, eventually, eliminate the need to allocate member for OverloadedFunctionDecls) and contains a placeholder for handling ambiguous name lookup (for C++). - The primary entry points for name lookup are now LookupName (for unqualified name lookup) and LookupQualifiedName (for qualified name lookup). There is also a convenience function LookupParsedName that handles qualified/unqualified name lookup when given a scope specifier. Together, these routines are meant to gradually replace the kludgy LookupDecl, but this won't happen until after we have base class lookup (which forces us to cope with ambiguities). - Documented the heck out of name lookup. Experimenting a little with using Doxygen's member groups to make some sense of the Sema class. Feedback welcome! - Fixes some lingering issues with name lookup for nested-name-specifiers, which now goes through LookupName/LookupQualifiedName. llvm-svn: 62245
* Representation of template type parameters and non-type templateDouglas Gregor2008-12-051-0/+1
| | | | | | | | | | | | | | | parameters, with some semantic analysis: - Template parameters are introduced into template parameter scope - Complain about template parameter shadowing (except in Microsoft mode) Note that we leak template parameter declarations like crazy, a problem we'll remedy once we actually create proper declarations for templates. Next up: dependent types and value-dependent/type-dependent expressions. llvm-svn: 60597
* Fix cmake build, patch from Jjgod Jiang.Daniel Dunbar2008-11-111-0/+2
| | | | llvm-svn: 59036
* CMake: Builds and installs clang binary and libs (no docs yet). ItOscar Fuentes2008-10-261-0/+20
must be under the `tools' subdirectory of the LLVM *source* tree. llvm-svn: 58180
OpenPOWER on IntegriCloud