Author: baldrick
Date: Wed Jan  2 18:28:10 2008
New Revision: 45523

URL: http://llvm.org/viewvc/llvm-project?rev=45523&view=rev
Log:
If the TYPE_SIZE is set from an initial value, set
the entire type from the initial value.  The testcase
is FrontendAda/init_size.ads.

Modified:
    llvm-gcc-4.2/trunk/gcc/ada/decl.c

Modified: llvm-gcc-4.2/trunk/gcc/ada/decl.c
URL: 
http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ada/decl.c?rev=45523&r1=45522&r2=45523&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ada/decl.c (original)
+++ llvm-gcc-4.2/trunk/gcc/ada/decl.c Wed Jan  2 18:28:10 2008
@@ -577,9 +577,12 @@
            && CONTAINS_PLACEHOLDER_P (TYPE_SIZE (gnu_type)))
          {
            if (gnu_expr && kind == E_Constant)
-             gnu_size
-               = SUBSTITUTE_PLACEHOLDER_IN_EXPR
-                 (TYPE_SIZE (TREE_TYPE (gnu_expr)), gnu_expr);
+/* LLVM local begin */
+              {
+                gnu_type = TREE_TYPE (gnu_expr);
+                gnu_size = TYPE_SIZE (gnu_type);
+              }
+/* LLVM local end */
 
            /* We may have no GNU_EXPR because No_Initialization is
               set even though there's an Expression.  */
@@ -587,10 +590,15 @@
                     && (Nkind (Declaration_Node (gnat_entity))
                         == N_Object_Declaration)
                     && Present (Expression (Declaration_Node (gnat_entity))))
-             gnu_size
-               = TYPE_SIZE (gnat_to_gnu_type
-                            (Etype
-                             (Expression (Declaration_Node (gnat_entity)))));
+/* LLVM local begin */
+              {
+                gnu_type
+                  = gnat_to_gnu_type
+                    (Etype (Expression (Declaration_Node (gnat_entity))));
+                gnu_size
+                  = TYPE_SIZE (gnu_type);
+              }
+/* LLVM local end */
            else
              {
                gnu_size = max_size (TYPE_SIZE (gnu_type), true);


_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to