aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2025-07-14 12:11:44 +0200
committerEric Botcazou <ebotcazou@adacore.com>2025-07-14 12:16:09 +0200
commitb513e4f3e0914ade0a31a51625e1e2fe42093622 (patch)
tree52274376140085f266a49653c1d08027a7c51cc2 /gcc/testsuite
parent3a1067c8b8c42f78a3dd881c8dc49a605aca044b (diff)
downloadgcc-b513e4f3e0914ade0a31a51625e1e2fe42093622.zip
gcc-b513e4f3e0914ade0a31a51625e1e2fe42093622.tar.gz
gcc-b513e4f3e0914ade0a31a51625e1e2fe42093622.tar.bz2
Ada: Add missing guard before accessing the Underlying_Record_View field
It is necessary when GNAT extensions are enabled (-gnatX switch). gcc/ada/ PR ada/121056 * sem_ch4.adb (Try_Object_Operation.Try_Primitive_Operation): Add test on Is_Record_Type before accessing Underlying_Record_View. gcc/testsuite/ * gnat.dg/deref4.adb: New test. * gnat.dg/deref4_pkg.ads: New helper.
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/gnat.dg/deref4.adb9
-rw-r--r--gcc/testsuite/gnat.dg/deref4_pkg.ads8
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/deref4.adb b/gcc/testsuite/gnat.dg/deref4.adb
new file mode 100644
index 0000000..586a6186
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/deref4.adb
@@ -0,0 +1,9 @@
+-- { dg-do compile }
+-- { dg-options "-gnatX" }
+
+with Deref4_Pkg; use Deref4_Pkg;
+
+procedure Deref4 is
+begin
+ Obj.Proc (null);
+end;
diff --git a/gcc/testsuite/gnat.dg/deref4_pkg.ads b/gcc/testsuite/gnat.dg/deref4_pkg.ads
new file mode 100644
index 0000000..9410d0d
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/deref4_pkg.ads
@@ -0,0 +1,8 @@
+package Deref4_Pkg is
+
+ type A is tagged null record;
+ type A_Ptr is access A;
+ procedure Proc (This : in out A'Class; Some_Parameter : A_Ptr) is null;
+ Obj : A_Ptr;
+
+end Deref4_Pkg;