https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117087
Bug ID: 117087 Summary: [15 Regression] Ada bootstrap failure in validate_size since r15-4166-g9fd38cc5d63612 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: stefansf at gcc dot gnu.org CC: dkm at gcc dot gnu.org Target Milestone: --- Target: s390-*-* Bootstrapping on s390 for 31 bit fails with $ ./gcc/xgcc -B/devel/gcc-0-vanilla/build/./gcc/ -B/devel/gcc-0-vanilla/dst/s390x-ibm-linux-gnu/bin/ -B/devel/gcc-0-vanilla/dst/s390x-ibm-linux-gnu/lib/ -isystem /devel/gcc-0-vanilla/dst/s390x-ibm-linux-gnu/include -isystem /devel/gcc-0-vanilla/dst/s390x-ibm-linux-gnu/sys-include -c -g -O2 -m31 -fPIC -fno-lto -W -Wall -gnatpg -nostdinc -m31 a-assert.adb -o a-assert.o system.ads:1:01: error: size for "Access_Character" too small, minimum allowed is 35 Bisect stops at r15-4166-g9fd38cc5d63612 With the following fix, bootstrap is restored for me. diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc index 79d60c0c221..f22dea0d2cf 100644 --- a/gcc/ada/gcc-interface/decl.cc +++ b/gcc/ada/gcc-interface/decl.cc @@ -9604,7 +9604,7 @@ validate_size (Uint uint_size, tree gnu_type, Entity_Id gnat_object, /* If this is an access type or a fat pointer, the minimum size is that given by the default pointer mode. */ if (TREE_CODE (gnu_type) == POINTER_TYPE || TYPE_IS_FAT_POINTER_P (gnu_type)) - old_size = bitsize_int (ptr_mode); + old_size = bitsize_int (GET_MODE_BITSIZE (ptr_mode)); /* Issue an error either if the default size of the object isn't a constant or if the new size is smaller than it. */