aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/extend.texi
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2011-04-25 23:50:35 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2011-04-25 23:50:35 +0000
commit74e883ce8c6be685132a1dbdbeb6257a7fd25e0d (patch)
tree35f072d771202f999760c373438412d2d7433c8f /gcc/doc/extend.texi
parenta47407f631a14e4ad71c70442bec07df9ce732ab (diff)
downloadgcc-74e883ce8c6be685132a1dbdbeb6257a7fd25e0d.zip
gcc-74e883ce8c6be685132a1dbdbeb6257a7fd25e0d.tar.gz
gcc-74e883ce8c6be685132a1dbdbeb6257a7fd25e0d.tar.bz2
c-common.c (struct c_common_resword): Add __underlying_type.
/gcc 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com> * c-family/c-common.c (struct c_common_resword): Add __underlying_type. * c-family/c-common.h (enum rid): Add RID_UNDERLYING_TYPE. * doc/extend.texi: Document __underlying_type. /cp 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com> * cp-tree.def: Add a new UNDERLYING_TYPE tree code. * cp-tree.h (enum cp_trait_kind): Add CPTK_UNDERLYING_TYPE, tidy. (UNDERLYING_TYPE_TYPE): Add. * cp-objcp-common.c (cp_common_init_ts): Mark UNDERLYING_TYPE as TS_COMMON. * parser.c (cp_lexer_next_token_is_decl_specifier_keyword, cp_parser_simple_type_specifier): Handle UNDERLYING_TYPE. (cp_parser_trait_expr): Deal with RID_UNDERLYING_TYPE; tidy. * semantics.c (finish_underlying_type): New. * typeck.c (structural_comptypes): Handle UNDERLYING_TYPE. * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise. * cxx-pretty-print.c (p_cxx_type_id): Likewise. * tree.c (cp_walk_subtrees): Likewise. * pt.c (for_each_template_parm_r, tsubst, unify, dependent_type_p_r): Likewise. * mangle.c (write_type): Sorry for __underlying_type. /testsuite 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/ext/underlying_type1.C: New. * g++.dg/ext/underlying_type2.C: Likewise. * g++.dg/ext/underlying_type3.C: Likewise. * g++.dg/ext/underlying_type4.C: Likewise. * g++.dg/ext/underlying_type5.C: Likewise. * g++.dg/ext/underlying_type6.C: Likewise. * g++.dg/ext/underlying_type7.C: Likewise. * g++.dg/ext/underlying_type8.C: Likewise. * g++.dg/ext/underlying_type9.C: Likewise. * g++.dg/ext/underlying_type10.C: Likewise. From-SVN: r172945
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r--gcc/doc/extend.texi4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index eddff95..3335196 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -14422,6 +14422,10 @@ type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
If @code{type} is a cv union type ([basic.compound]) the trait is
true, else it is false.
+@item __underlying_type (type)
+The underlying type of @code{type}. Requires: @code{type} shall be
+an enumeration type ([dcl.enum]).
+
@end table
@node Java Exceptions