]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/c-family/c-common.c
demangle-expected: Add tests for __int128 and unsigned __int128 types.
authorKai Tietz <kai.tietz@onevision.com>
Wed, 26 May 2010 16:13:55 +0000 (16:13 +0000)
committerKai Tietz <ktietz@gcc.gnu.org>
Wed, 26 May 2010 16:13:55 +0000 (18:13 +0200)
commita6766312d3001a708ed8ad1bd02ccbf95bd2c671
treea8a266122bedc642da5d3e6dbb95526bcdf6c29d
parent880ad25fc7968f5f3d1e9042b2c07812e01a2c99
demangle-expected: Add tests for __int128 and unsigned __int128 types.

libiberty/

2010-05-26  Kai Tietz  <kai.tietz@onevision.com>

        * testsuite/demangle-expected: Add tests for __int128
        and unsigned __int128 types.

gcc/testsuite
2010-05-26  Kai Tietz  <kai.tietz@onevision.com>

* lib/target-supports.exp (check_effective_target_int128): New
function to check if __int128 types are available for target.
* testsuite/c-c++-common/int128-types-1.c: New.
* testsuite/c-c++-common/int128-1.c: New.
* testsuite/c-c++-common/int128-2.c: New.
* g++.dg/abi/mangle43.C: New.
* g++.dg/init/enum1.C: Handle __int128 case and add -Wno-overflow.
* g++.dg/cpp0x/nullptr04.C: Use __SIZE_TYPE__ for getting
pointer-wide scalar.
* g++.dg/other/pr25632.C: Likewise.
* g++.dg/other/large-size-array.C (DIM): Use ULLONG_MAX for win64 case.
* g++.dg/warn/pr13358-2.C: Add llp64 for check of special
overflow warnings.
* g++.dg/warn/pr13358-4.C: Likewise.
* g++.dg/warn/Wconversion-null-2.C:  Add 'long long' case.
* g++.dg/warn/Wconversion-null.C: Likewise.

gcc/
2010-05-26  Kai Tietz  <kai.tietz@onevision.com>

* builtin-types.def (BT_INT128): New primitive type.
(BT_UINT128): Likewise.
* c-common.c (c_common_r): Add __int128 keyword.
(c_common_type_for_size): Handle __int128.
(c_common_type_for_mode): Likewise.
(c_common_signed_or_unsigned_type): Likewise.
(c_common_nodes_and_builtins): Add builtin type
if target supports 128-bit integer scalar.
* c-common.h (enum rid): Add RID_INT128.
* c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
if target supports 128-bit integer scalar.
* c-decl.c (declspecs_add_type): Handle new keyword
__int128.
(finish_declspecs): Likewise.
* c-parser.c (c_token_starts_typename): Handle RID_INT128.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attributes): Likewise.
(c_parser_objc_selector): Likewise.
* c-pretty-print.c (pp_c_integer_constant): Handle __int128.
* c-tree.h (enum c_typespec_keyword): Add cts_int128.
* gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
* tree.c (make_or_reuse_type): Likewise.
(make_unsigned_type): Likewise.
(build_common_tree_nodes_2): Likewise.
* tree.h (enum integer_type_kind): Add itk_int128 and
itk_unsigned_int128.
(int128_integer_type_node): New define..
(int128_unsigned_type_node): New define.
* cp/cp-tree.h (cp_decl_specifier_seq): Add new bifield
explicit_int128_p.
* cp/decl.c (grokdeclarator): Handle __int128.
* cp/parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise.
(cp_parser_simple_type_specifier): Likewise.
* cp/rtti.c (emit_support_tinfos): Add int128 nodes for rtti.
* cp/typeck.c (cp_common_type): Handle __int128.
* cp/mangle.c (integer_type_codes): Add itk_int128 and
itk_unsigned_int128.
* doc/extend.texi: Add documentation about __int128 type.

From-SVN: r159879
35 files changed:
gcc/ChangeLog
gcc/builtin-types.def
gcc/c-common.c
gcc/c-common.h
gcc/c-cppbuiltin.c
gcc/c-decl.c
gcc/c-parser.c
gcc/c-pretty-print.c
gcc/c-tree.h
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/mangle.c
gcc/cp/parser.c
gcc/cp/rtti.c
gcc/cp/typeck.c
gcc/doc/extend.texi
gcc/gimple.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/int128-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/int128-2.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/int128-types-1.c [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/mangle43.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/nullptr04.C
gcc/testsuite/g++.dg/init/enum1.C
gcc/testsuite/g++.dg/other/large-size-array.C
gcc/testsuite/g++.dg/other/pr25632.C
gcc/testsuite/g++.dg/warn/Wconversion-null-2.C
gcc/testsuite/g++.dg/warn/Wconversion-null.C
gcc/testsuite/g++.dg/warn/pr13358-2.C
gcc/testsuite/g++.dg/warn/pr13358-4.C
gcc/testsuite/lib/target-supports.exp
gcc/tree.c
gcc/tree.h
libiberty/ChangeLog
libiberty/testsuite/demangle-expected