llvm-project/clang/lib/Parse
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 CMake: LLVM_NO_RTTI must be obsolete now! 2011-02-10 09:15:32 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
ParseAST.cpp Migrate 'PrettySTackTraceParserEntry' object out of Parser, and have it constructed within ParseAST. This avoids double crashes 2011-03-22 01:15:17 +00:00
ParseCXXInlineMethods.cpp Correctly emit a diagnostic for multiple templated function definitions in -flate-template-parsing mode. 2011-04-22 23:20:44 +00:00
ParseDecl.cpp Fixit suggestion for adding missing tag name should have a space after the tag name. Fixes rdar://9295072 2011-04-21 17:29:47 +00:00
ParseDeclCXX.cpp Support for C++11 (non-template) alias declarations. 2011-04-15 14:24:37 +00:00
ParseExpr.cpp Implement basic __is_trivial type-trait support, enough to close PR9472. 2011-04-23 10:47:28 +00:00
ParseExprCXX.cpp Implement basic __is_trivial type-trait support, enough to close PR9472. 2011-04-23 10:47:28 +00:00
ParseInit.cpp fix a bunch of comment typos found by codespell. Patch by 2011-04-15 05:22:18 +00:00
ParseObjc.cpp Fixes an instance method meta-data generation bug in 2011-04-22 22:02:28 +00:00
ParsePragma.cpp Do not expand the opencl pragma names. This is so you can also have a define named the samed as the pragma and they do not interfere (ie. cl_khr_fp64). 2011-04-14 23:35:31 +00:00
ParsePragma.h OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
ParseStmt.cpp Fix gcc warning. Add parens to this assert, incidentally reassociating it, but the condition is the same either way. 2011-04-21 22:48:40 +00:00
ParseTemplate.cpp Add -fdelayed-template-parsing option. Using this option all templated function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup. 2011-04-22 22:18:13 +00:00
ParseTentative.cpp Implement basic __is_trivial type-trait support, enough to close PR9472. 2011-04-23 10:47:28 +00:00
Parser.cpp Correctly emit a diagnostic for multiple templated function definitions in -flate-template-parsing mode. 2011-04-22 23:20:44 +00:00
RAIIObjectsForParser.h Implement bracket insertion for Objective-C instance message sends as 2010-09-15 14:51:05 +00:00