d: Fix internal compiler error: in d_build_c_type_nodes, at d/d-builtins.cc:783
gcc/d/ChangeLog: PR d/90445 * d-builtins.cc (d_build_c_type_nodes): Test UINTMAX_TYPE for setting uintmax_type_node. Set signed_size_type_node as the signed_type_for size_type_node. From-SVN: r274766
This commit is contained in:
parent
2ee3ea4b90
commit
7610ae806e
|
@ -1,3 +1,10 @@
|
|||
2019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||
|
||||
PR d/90445
|
||||
* d-builtins.cc (d_build_c_type_nodes): Test UINTMAX_TYPE for setting
|
||||
uintmax_type_node. Set signed_size_type_node as the signed_type_for
|
||||
size_type_node.
|
||||
|
||||
2019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||
|
||||
PR d/90444
|
||||
|
|
|
@ -762,27 +762,25 @@ d_build_c_type_nodes (void)
|
|||
= build_pointer_type (build_qualified_type (char_type_node,
|
||||
TYPE_QUAL_CONST));
|
||||
|
||||
if (strcmp (SIZE_TYPE, "unsigned int") == 0)
|
||||
if (strcmp (UINTMAX_TYPE, "unsigned int") == 0)
|
||||
{
|
||||
intmax_type_node = integer_type_node;
|
||||
uintmax_type_node = unsigned_type_node;
|
||||
signed_size_type_node = integer_type_node;
|
||||
}
|
||||
else if (strcmp (SIZE_TYPE, "long unsigned int") == 0)
|
||||
else if (strcmp (UINTMAX_TYPE, "long unsigned int") == 0)
|
||||
{
|
||||
intmax_type_node = long_integer_type_node;
|
||||
uintmax_type_node = long_unsigned_type_node;
|
||||
signed_size_type_node = long_integer_type_node;
|
||||
}
|
||||
else if (strcmp (SIZE_TYPE, "long long unsigned int") == 0)
|
||||
else if (strcmp (UINTMAX_TYPE, "long long unsigned int") == 0)
|
||||
{
|
||||
intmax_type_node = long_long_integer_type_node;
|
||||
uintmax_type_node = long_long_unsigned_type_node;
|
||||
signed_size_type_node = long_long_integer_type_node;
|
||||
}
|
||||
else
|
||||
gcc_unreachable ();
|
||||
|
||||
signed_size_type_node = signed_type_for (size_type_node);
|
||||
wint_type_node = unsigned_type_node;
|
||||
pid_type_node = integer_type_node;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue