OSDN Git Service

* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 May 2009 10:56:12 +0000 (10:56 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 May 2009 10:56:12 +0000 (10:56 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147820 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gcc-interface/misc.c

index 8c963db..27665e4 100644 (file)
@@ -1,5 +1,9 @@
 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
 
+       * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
+
+2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
        * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
        types.
 
index bd6b51a..6a601bb 100644 (file)
@@ -661,8 +661,12 @@ gnat_get_subrange_bounds (const_tree gnu_type, tree *lowval, tree *highval)
 {
   tree min = TYPE_MIN_VALUE (gnu_type);
   tree max = TYPE_MAX_VALUE (gnu_type);
-  *lowval = TREE_CONSTANT (min) ? min : TYPE_GCC_MIN_VALUE (gnu_type);
-  *highval = TREE_CONSTANT (max) ? max : TYPE_GCC_MAX_VALUE (gnu_type);
+  /* If the bounds aren't constant, use non-representable constant values
+     to get the same effect on debug info without tree sharing issues.  */
+  *lowval
+    = TREE_CONSTANT (min) ? min : build_int_cstu (integer_type_node, -1);
+  *highval
+    = TREE_CONSTANT (max) ? max : build_int_cstu (integer_type_node, -1);
 }
 
 /* GNU_TYPE is a type. Determine if it should be passed by reference by