[llvm-commits] [llvm] r65463 - in /llvm/trunk/test/FrontendAda: Support/element_copy.ads element_copy.adb
Duncan Sands
baldrick at free.fr
Wed Feb 25 10:10:49 PST 2009
Author: baldrick
Date: Wed Feb 25 12:10:49 2009
New Revision: 65463
URL: http://llvm.org/viewvc/llvm-project?rev=65463&view=rev
Log:
Check that records with a known constant size are not
copied field by LLVM field if the record has a variable
sized field in it. The problem is that the LLVM field
will not completely cover the variable sized gcc field.
Added:
llvm/trunk/test/FrontendAda/Support/element_copy.ads
llvm/trunk/test/FrontendAda/element_copy.adb
Added: llvm/trunk/test/FrontendAda/Support/element_copy.ads
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FrontendAda/Support/element_copy.ads?rev=65463&view=auto
==============================================================================
--- llvm/trunk/test/FrontendAda/Support/element_copy.ads (added)
+++ llvm/trunk/test/FrontendAda/Support/element_copy.ads Wed Feb 25 12:10:49 2009
@@ -0,0 +1,8 @@
+package Element_Copy is
+ type SmallInt is range 1 .. 4;
+ type SmallStr is array (SmallInt range <>) of Character;
+ type VariableSizedField (D : SmallInt := 2) is record
+ S : SmallStr (1 .. D) := "Hi";
+ end record;
+ function F return VariableSizedField;
+end;
Added: llvm/trunk/test/FrontendAda/element_copy.adb
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FrontendAda/element_copy.adb?rev=65463&view=auto
==============================================================================
--- llvm/trunk/test/FrontendAda/element_copy.adb (added)
+++ llvm/trunk/test/FrontendAda/element_copy.adb Wed Feb 25 12:10:49 2009
@@ -0,0 +1,8 @@
+-- RUN: %llvmgcc -S -O2 %s -I%p/Support -o - | grep 105 | count 2
+package body Element_Copy is
+ function F return VariableSizedField is
+ X : VariableSizedField;
+ begin
+ return X;
+ end;
+end;
More information about the llvm-commits
mailing list