diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-27 21:43:33 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-27 21:43:33 +0000 |
commit | 5290e253566fa886ab7c826c06665c98f3f0e36d (patch) | |
tree | f2bb18bbab464000b24772c45a3ad35f319b284b /gcc/c-family | |
parent | b5fa273e8b78bfc07a666f41589d8db7198e599f (diff) | |
download | gcc-5290e253566fa886ab7c826c06665c98f3f0e36d.tar.gz |
gcc/c-family/
* c-common.c (c_common_reswords): Add __is_literal_type.
* c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
gcc/cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_LITERAL_TYPE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Handle it.
* semantics.c (trait_expr_value, finish_trait_expr): Likewise.
* parser.c (cp_parser_primary_expression): Handle RID_IS_LITERAL_TYPE.
(cp_parser_trait_expr): Likewise.
libstdc++-v3/
* include/std/type_traits (is_literal_type): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166020 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-family')
-rw-r--r-- | gcc/c-family/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/c-family/c-common.c | 1 | ||||
-rw-r--r-- | gcc/c-family/c-common.h | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 1098129e402..4c18990f10e 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,5 +1,8 @@ 2010-10-27 Jason Merrill <jason@redhat.com> + * c-common.c (c_common_reswords): Add __is_literal_type. + * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE. + * c-common.c (check_case_value): Remove special C++ code. 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 98568e82279..3cdc6631d43 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -439,6 +439,7 @@ const struct c_common_resword c_common_reswords[] = { "__is_standard_layout", RID_IS_STD_LAYOUT, D_CXXONLY }, { "__is_trivial", RID_IS_TRIVIAL, D_CXXONLY }, { "__is_union", RID_IS_UNION, D_CXXONLY }, + { "__is_literal_type", RID_IS_LITERAL_TYPE, D_CXXONLY }, { "__imag", RID_IMAGPART, 0 }, { "__imag__", RID_IMAGPART, 0 }, { "__inline", RID_INLINE, 0 }, diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index aa877d43583..f2c69585706 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -140,7 +140,7 @@ enum rid RID_IS_EMPTY, RID_IS_ENUM, RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_STD_LAYOUT, RID_IS_TRIVIAL, - RID_IS_UNION, + RID_IS_UNION, RID_IS_LITERAL_TYPE, /* C++0x */ RID_CONSTEXPR, RID_DECLTYPE, RID_NOEXCEPT, RID_NULLPTR, RID_STATIC_ASSERT, |