(mark_addressable, case COMPONENT_REF): Give error if taking address
authorRichard Kenner <kenner@gcc.gnu.org>
Sun, 24 Dec 1995 23:15:12 +0000 (18:15 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 24 Dec 1995 23:15:12 +0000 (18:15 -0500)
of a bit field.

From-SVN: r10858

gcc/c-typeck.c

index d76e724..d8e4ff1 100644 (file)
@@ -3292,8 +3292,15 @@ mark_addressable (exp)
   while (1)
     switch (TREE_CODE (x))
       {
-      case ADDR_EXPR:
       case COMPONENT_REF:
+       if (DECL_C_BIT_FIELD (TREE_OPERAND (x, 1)))
+         error ("cannot take address of bitfield `%s'",
+                IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (x, 1))));
+       return 0;
+
+       /* ... fall through ... */
+
+      case ADDR_EXPR:
       case ARRAY_REF:
       case REALPART_EXPR:
       case IMAGPART_EXPR: