Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4
libgcj43
gcc43-pr36741-revert.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gcc43-pr36741-revert.patch of Package libgcj43
Revert: 2008-08-28 Dodji Seketeli <dodji@redhat.com> PR c++/36741 * tree.c (int_fits_type_p): Don't forget unsigned integers of type sizetype which higher end word equals -1. * g++.dg/other/new-size-type.C: New test. Index: gcc/tree.c =================================================================== --- gcc/tree.c.orig 2009-08-04 12:22:36.000000000 +0200 +++ gcc/tree.c 2009-11-20 13:50:50.000000000 +0100 @@ -6305,21 +6305,6 @@ int_fits_type_p (const_tree c, const_tre for "unknown if constant fits", 0 for "constant known *not* to fit" and 1 for "constant known to fit". */ - if (TREE_TYPE (c) == sizetype - && TYPE_UNSIGNED (TREE_TYPE (c)) - && TREE_INT_CST_HIGH (c) == -1 - && !TREE_OVERFLOW (c)) - /* So c is an unsigned integer which type is sizetype. - sizetype'd integers are sign extended even though they are - unsigned. If the integer value fits in the lower end word of c, - and if the higher end word has all its bits set to 1, that - means the higher end bits are set to 1 only for sign extension. - So let's convert c into an equivalent zero extended unsigned - integer. */ - c = force_fit_type_double (size_type_node, - TREE_INT_CST_LOW (c), - TREE_INT_CST_HIGH (c), - false, false); /* Check if C >= type_low_bound. */ if (type_low_bound && TREE_CODE (type_low_bound) == INTEGER_CST) { Index: gcc/testsuite/g++.dg/other/new-size-type.C =================================================================== --- gcc/testsuite/g++.dg/other/new-size-type.C.orig 2008-11-05 22:19:39.000000000 +0100 +++ gcc/testsuite/g++.dg/other/new-size-type.C 2009-11-20 13:50:50.000000000 +0100 @@ -5,6 +5,6 @@ const char* foo() { - return new char[~static_cast<size_t>(0)];// { dg-bogus "large" } + return new char[~static_cast<size_t>(0)];// { dg-bogus "large" "" { xfail *-*-* } } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor