aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/misc.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gnat.dg/bias1.adb34
4 files changed, 44 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 4208f95..94b32fb 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2019-09-19 Tom Tromey <tromey@adacore.com>
+
+ * gcc-interface/misc.c (gnat_get_type_bias): Return the bias
+ when -fgnat-encodings=gdb.
+
2019-09-19 Steve Baird <baird@adacore.com>
* sem_prag.adb (Preferred_String_Type): A new function. Given an
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index a576b7e..4abd4d5 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -1111,7 +1111,7 @@ gnat_get_type_bias (const_tree gnu_type)
{
if (TREE_CODE (gnu_type) == INTEGER_TYPE
&& TYPE_BIASED_REPRESENTATION_P (gnu_type)
- && gnat_encodings == DWARF_GNAT_ENCODINGS_MINIMAL)
+ && gnat_encodings != DWARF_GNAT_ENCODINGS_ALL)
return TYPE_RM_MIN_VALUE (gnu_type);
return NULL_TREE;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cac70e2..07adb11 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2019-09-19 Tom Tromey <tromey@adacore.com>
+
+ * gnat.dg/bias1.adb: New testcase.
+
2019-09-19 Steve Baird <baird@adacore.com>
* gnat.dg/annotation1.adb: New testcase.
diff --git a/gcc/testsuite/gnat.dg/bias1.adb b/gcc/testsuite/gnat.dg/bias1.adb
new file mode 100644
index 0000000..016a159
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/bias1.adb
@@ -0,0 +1,34 @@
+-- { dg-do compile }
+-- { dg-options "-cargs -g -dA -gnatws -fgnat-encodings=gdb -margs" }
+-- { dg-final { scan-assembler "DW_AT_GNU_bias" } }
+
+procedure Bias1 is
+ type Small is range -7 .. -4;
+ for Small'Size use 2;
+ Y : Small := -5;
+ Y1 : Small := -7;
+
+ type Byte is mod 256;
+ type Repeat_Count_T is new Byte range 1 .. 2 ** 6;
+ for Repeat_Count_T'Size use 6;
+ X : Repeat_Count_T := 64;
+ X1 : Repeat_Count_T := 1;
+
+ type Char_Range is range 65 .. 68;
+ for Char_Range'Size use 2;
+ Cval : Char_Range := 65;
+
+ type SomePackedRecord is record
+ R: Small;
+ S: Small;
+ end record;
+ pragma Pack (SomePackedRecord);
+ SPR : SomePackedRecord := (R => -4, S => -5);
+
+ type Packed_Array is array (1 .. 3) of Small;
+ pragma pack (Packed_Array);
+ A : Packed_Array := (-7, -5, -4);
+
+begin
+ null;
+end Bias1; \ No newline at end of file