Fix selftest for targets where short and int are the same size.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 25 May 2021 06:36:44 +0000 (08:36 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Tue, 25 May 2021 16:34:22 +0000 (18:34 +0200)
avr-elf seems to use HImode for both integer_type_node and
signed_char_type_node, which is causing the check for different sized
VARYING ranges to fail.

gcc/ChangeLog:

* value-range.cc (range_tests_legacy): Use
build_nonstandard_integer_type instead of int and short.

gcc/value-range.cc

index 8d7b46c..f113fd7 100644 (file)
@@ -2250,11 +2250,13 @@ range_tests_legacy ()
   }
 
   // VARYING of different sizes should not be equal.
-  int_range_max r0 (integer_type_node);
-  int_range_max r1 (short_integer_type_node);
+  tree big_type = build_nonstandard_integer_type (32, 1);
+  tree small_type = build_nonstandard_integer_type (16, 1);
+  int_range_max r0 (big_type);
+  int_range_max r1 (small_type);
   ASSERT_TRUE (r0 != r1);
-  value_range vr0 (integer_type_node);
-  int_range_max vr1 (short_integer_type_node);
+  value_range vr0 (big_type);
+  int_range_max vr1 (small_type);
   ASSERT_TRUE (vr0 != vr1);
 }