From b094d6c4bf572654a031ecc4afe675154c886dc5 Mon Sep 17 00:00:00 2001 From: Jing Yu Date: Thu, 22 Jul 2010 14:03:48 -0700 Subject: commit gcc-4.4.3 which is used to build gcc-4.4.3 Android toolchain in master. The source is based on fsf gcc-4.4.3 and contains local patches which are recorded in gcc-4.4.3/README.google. Change-Id: Id8c6d6927df274ae9749196a1cc24dbd9abc9887 --- .../testsuite/gnat.dg/self_aggregate_with_call.adb | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 gcc-4.4.3/gcc/testsuite/gnat.dg/self_aggregate_with_call.adb (limited to 'gcc-4.4.3/gcc/testsuite/gnat.dg/self_aggregate_with_call.adb') diff --git a/gcc-4.4.3/gcc/testsuite/gnat.dg/self_aggregate_with_call.adb b/gcc-4.4.3/gcc/testsuite/gnat.dg/self_aggregate_with_call.adb new file mode 100644 index 000000000..4979bd4fc --- /dev/null +++ b/gcc-4.4.3/gcc/testsuite/gnat.dg/self_aggregate_with_call.adb @@ -0,0 +1,30 @@ +-- { dg-do run } +-- { dg-options "-O2" } + +procedure self_aggregate_with_call is + + type Values is array (1 .. 8) of Natural; + + type Vector is record + Components : Values; + end record; + + function Clone (Components: Values) return Values is + begin + return Components; + end; + + procedure Process (V : in out Vector) is + begin + V.Components (Values'First) := 1; + V := (Components => Clone (V.Components)); + + if V.Components (Values'First) /= 1 then + raise Program_Error; + end if; + end; + + V : Vector; +begin + Process (V); +end; -- cgit v1.2.3