diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2011-04-23 10:47:28 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2011-04-23 10:47:28 +0000 |
commit | b7e9589bce9852b4db9575f55ac9137572147eb5 (patch) | |
tree | 3ab7a514891d4caa02c7495fe18a66e85a87fb2c /lib/StaticAnalyzer/Core/CoreEngine.cpp | |
parent | 4e61ddd644e9c6293697a966d98d7c1905cf63a8 (diff) |
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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130057 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/CoreEngine.cpp')
0 files changed, 0 insertions, 0 deletions