OSDN Git Service

* gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 Apr 2010 14:53:08 +0000 (14:53 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 05:33:38 +0000 (14:33 +0900)
issue warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158469 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gcc-interface/utils2.c

index b68d535..d24a07d 100644 (file)
@@ -1,5 +1,10 @@
 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
 
 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
 
+       * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
+       issue warning.
+
+2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
+
        * uintp.h (UI_Lt): Declare.
        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
        computation in sizetype.
        * uintp.h (UI_Lt): Declare.
        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
        computation in sizetype.
index 31c5136..9b00c0d 100644 (file)
@@ -1080,9 +1080,8 @@ build_unary_op (enum tree_code op_code, tree result_type, tree operand)
        case ARRAY_RANGE_REF:
        case COMPONENT_REF:
        case BIT_FIELD_REF:
        case ARRAY_RANGE_REF:
        case COMPONENT_REF:
        case BIT_FIELD_REF:
-           /* If this is for 'Address, find the address of the prefix and
-              add the offset to the field.  Otherwise, do this the normal
-              way.  */
+           /* If this is for 'Address, find the address of the prefix and add
+              the offset to the field.  Otherwise, do this the normal way.  */
          if (op_code == ATTR_ADDR_EXPR)
            {
              HOST_WIDE_INT bitsize;
          if (op_code == ATTR_ADDR_EXPR)
            {
              HOST_WIDE_INT bitsize;
@@ -1109,11 +1108,6 @@ build_unary_op (enum tree_code op_code, tree result_type, tree operand)
              if (!offset)
                offset = size_zero_node;
 
              if (!offset)
                offset = size_zero_node;
 
-             if (bitpos % BITS_PER_UNIT != 0)
-               post_error
-                 ("taking address of object not aligned on storage unit?",
-                  error_gnat_node);
-
              offset = size_binop (PLUS_EXPR, offset,
                                   size_int (bitpos / BITS_PER_UNIT));
 
              offset = size_binop (PLUS_EXPR, offset,
                                   size_int (bitpos / BITS_PER_UNIT));