Implement alternate "__intN__" form of "__intN" type
authorJozef Lawrynowicz <jozef.l@mittosystems.com>
Tue, 25 Jun 2019 09:41:17 +0000 (09:41 +0000)
committerJozef Lawrynowicz <jozefl@gcc.gnu.org>
Tue, 25 Jun 2019 09:41:17 +0000 (09:41 +0000)
commit5e5803060c3d6db3ff73195db798ffd8e5588e78
treefda90c008ced20c186f8f9f0ce033275edfd0dd4
parenta7e8a463cd1dbaccf6e7c4fa888768fcd257a30f
Implement alternate "__intN__" form of "__intN" type

gcc/ChangeLog:

* gcc/c-family/c-common.c (c_common_nodes_and_builtins): Define
alternate "__intN__" name for "__intN" types.
* gcc/c/c-parser.c (c_parse_init): Create keyword for "__intN__" type.
* gcc/cp/lex.c (init_reswords): Likewise.
* gcc/config/msp430/msp430.h: Use __int20__ for SIZE_TYPE and
PTRDIFF_TYPE.
* gcc/cp/cp-tree.h (cp_decl_specifier_seq): New bitfield "int_n_alt".
* gcc/c/c-decl.c (declspecs_add_type): Don't pedwarn about "__intN" ISO
C incompatibility if alternate "__intN__" form is used.
* gcc/cp/decl.c (grokdeclarator): Likewise.
* gcc/cp/parser.c (cp_parser_simple_type_specifier): Set
decl_specs->int_n_alt if "__intN__" form is used.
* gcc/gimple-ssa-sprintf.c (build_intmax_type_nodes): Accept "__intN__"
format of "__intN" types for UINTMAX_TYPE.
* gcc/brig/brig-lang.c (brig_build_c_type_nodes): Accept "__intN__"
format of "__intN" types for SIZE_TYPE.
* gcc/lto/lto-lang.c (lto_build_c_type_nodes): Likewise.
* gcc/stor-layout.c (initialize_sizetypes): Accept "__intN__"
format of "__intN" types for SIZETYPE.
* gcc/tree.c (build_common_tree_nodes): Accept "__intN__"
format of "__intN" types for SIZE_TYPE and PTRDIFF_TYPE.
* gcc/doc/invoke.texi: Document that __intN__ disables pedantic
warnings.

gcc/testsuite/ChangeLog:

* gcc.target/msp430/mlarge-pedwarns.c: New test.

From-SVN: r272640
17 files changed:
gcc/ChangeLog
gcc/brig/brig-lang.c
gcc/c-family/c-common.c
gcc/c/c-decl.c
gcc/c/c-parser.c
gcc/config/msp430/msp430.h
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/lex.c
gcc/cp/parser.c
gcc/doc/invoke.texi
gcc/gimple-ssa-sprintf.c
gcc/lto/lto-lang.c
gcc/stor-layout.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/msp430/mlarge-pedwarns.c [new file with mode: 0644]
gcc/tree.c