[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