OSDN Git Service

(decl_attributes): Support attributes `volatile'
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Aug 1993 01:08:12 +0000 (01:08 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Aug 1993 01:08:12 +0000 (01:08 +0000)
with alias `noreturn', and `const'.

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

gcc/c-common.c

index fae1e44..b5a1cdd 100644 (file)
@@ -222,6 +222,17 @@ decl_attributes (decl, attributes)
        /* We can't set DECL_PACKED for a VAR_DECL, because the bit is
           used for DECL_REGISTER.  It wouldn't mean anything anyway.  */
       }
+    else if (TREE_VALUE (a) == get_identifier ("noreturn")
+            || TREE_VALUE (a) == get_identifier ("volatile"))
+      {
+       if (TREE_CODE (decl) == FUNCTION_DECL)
+         TREE_THIS_VOLATILE (decl) = 1;
+      }
+    else if (TREE_VALUE (a) == get_identifier ("const"))
+      {
+       if (TREE_CODE (decl) == FUNCTION_DECL)
+         TREE_READONLY (decl) = 1;
+      }
     else if (TREE_VALUE (a) != 0
             && TREE_CODE (TREE_VALUE (a)) == TREE_LIST
             && TREE_PURPOSE (TREE_VALUE (a)) == get_identifier ("mode"))