From: Eric Botcazou Date: Tue, 14 Sep 2021 09:14:37 +0000 (+0200) Subject: Do not issue size error for too large array type X-Git-Tag: basepoints/gcc-13~4793 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f349a8b5928ec66cad91c00623db67e747be1600;p=thirdparty%2Fgcc.git Do not issue size error for too large array type The error is to be issued when objects of the type are declared instead. gcc/ada/ * gcc-interface/decl.c (validate_size): Do not issue an error if the old size has overflowed. --- diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 20e3eea4cc50..0120b213a77d 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -9191,8 +9191,7 @@ validate_size (Uint uint_size, tree gnu_type, Entity_Id gnat_object, /* Issue an error either if the default size of the object isn't a constant or if the new size is smaller than it. */ if (TREE_CODE (old_size) != INTEGER_CST - || TREE_OVERFLOW (old_size) - || tree_int_cst_lt (size, old_size)) + || (!TREE_OVERFLOW (old_size) && tree_int_cst_lt (size, old_size))) { char buf[128]; const char *s;