llvm-project/clang/lib/Lex
Chandler Carruth a3e1f9a02c Implement basic __is_trivial type-trait support, enough to close PR9472.
This introduces a few APIs on the AST to bundle up the standard-based
logic so that programmatic clients have access to exactly the same
behavior.

There is only one serious FIXME here: checking for non-trivial move
constructors and move assignment operators. Those bits need to be added
to the declaration and accessors provided.

This implementation should be enough for the uses of __is_trivial in
libstdc++ 4.6's C++98 library implementation.

Ideas for more thorough test cases or any edge cases missing would be
appreciated. =D

llvm-svn: 130057
2011-04-23 10:47:28 +00:00
..
CMakeLists.txt Add CMake dependencies so that LLVM_USED_LIBS order doesn't matter. 2011-02-11 23:46:38 +00:00
HeaderMap.cpp Add a 'RawPath' parameter to the PPCallbacks interface. This allows 2011-03-16 18:34:36 +00:00
HeaderSearch.cpp Having FileManager::getFile always open the file, brought much consternation and leaking of file descriptors. 2011-03-16 19:17:25 +00:00
Lexer.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
LiteralSupport.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
MacroArgs.cpp Audit all Preprocessor::getSpelling() callers, improving failure 2010-03-16 22:30:13 +00:00
MacroArgs.h The PreExpArgTokens array is indexed with an argument #, 2009-12-28 06:17:16 +00:00
MacroInfo.cpp Fix diagnostic pragmas. 2010-12-15 18:44:22 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
PPCaching.cpp Remove the check for repeated tok::eofs, we are not supposed to go past eof so this code is 2010-07-12 21:41:41 +00:00
PPDirectives.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
PPExpressions.cpp Rename tok::eom to tok::eod. 2011-02-28 02:37:51 +00:00
PPLexerChange.cpp Rename tok::eom to tok::eod. 2011-02-28 02:37:51 +00:00
PPMacroExpansion.cpp Implement basic __is_trivial type-trait support, enough to close PR9472. 2011-04-23 10:47:28 +00:00
PTHLexer.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
Pragma.cpp Add a 'RawPath' parameter to the PPCallbacks interface. This allows 2011-03-16 18:34:36 +00:00
PreprocessingRecord.cpp Add a 'RawPath' parameter to the PPCallbacks interface. This allows 2011-03-16 18:34:36 +00:00
Preprocessor.cpp Fix my earlier commit to work with escaped newlines and leave breadcrumbs 2011-03-08 07:59:04 +00:00
PreprocessorLexer.cpp Rename tok::eom to tok::eod. 2011-02-28 02:37:51 +00:00
ScratchBuffer.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
TokenConcatenation.cpp Introduced raw_identifier token kind. 2010-12-22 08:23:18 +00:00
TokenLexer.cpp Rename tok::eom to tok::eod. 2011-02-28 02:37:51 +00:00