aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2010-10-27 17:43:33 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-10-27 17:43:33 -0400
commit2b08f2c561e0dc9b8f569a00868a6b7eb2ba111b (patch)
treef2bb18bbab464000b24772c45a3ad35f319b284b /gcc/c-family
parent81f0bab25ec7d17b84e94ee7322aa953a75584a7 (diff)
downloadgcc-2b08f2c561e0dc9b8f569a00868a6b7eb2ba111b.zip
gcc-2b08f2c561e0dc9b8f569a00868a6b7eb2ba111b.tar.gz
gcc-2b08f2c561e0dc9b8f569a00868a6b7eb2ba111b.tar.bz2
c-common.c (c_common_reswords): Add __is_literal_type.
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. From-SVN: r166020
Diffstat (limited to 'gcc/c-family')
-rw-r--r--gcc/c-family/ChangeLog3
-rw-r--r--gcc/c-family/c-common.c1
-rw-r--r--gcc/c-family/c-common.h2
3 files changed, 5 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 1098129e..4c18990 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 98568e8..3cdc663 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 aa877d4..f2c6958 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,