[CPP PATCH] node field bits
authorNathan Sidwell <nathan@acm.org>
Mon, 20 Aug 2018 17:45:42 +0000 (17:45 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 20 Aug 2018 17:45:42 +0000 (17:45 +0000)
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01171.html
* include/cpplib.h: Fixup some whitespace.
(cpp_hashnode): Reduce type to 2 bit & flags to 8.

From-SVN: r263669

libcpp/ChangeLog
libcpp/include/cpplib.h

index 8998c0dace9321d6478baefc023ba9966a15a948..de6f5421b12d98218ddf6459a4abbd77041fe844 100644 (file)
@@ -1,5 +1,8 @@
 2018-08-20  Nathan Sidwell  <nathan@acm.org>
 
+       * include/cpplib.h: Fixup some whitespace.
+       (cpp_hashnode): Reduce type to 2 bit & flags to 8.
+
        * include/cpplib.h (NODE_BUILTIN, NODE_MACRO_ARG): Delete.
        Renumber others.
        (enum node_type): Replace NT_MACRO with NT_USER_MACRO,
index e7a933b1787d4d3c930e3d8eb13065e4eba7a43e..85aa09fc9f35be52c9a56072d05d2695189b6bc5 100644 (file)
@@ -813,8 +813,10 @@ struct GTY(()) cpp_hashnode {
                                           then index into directive table.
                                           Otherwise, a NODE_OPERATOR.  */
   unsigned char rid_code;              /* Rid code - for front ends.  */
-  ENUM_BITFIELD(node_type) type : 6;   /* CPP node type.  */
-  unsigned int flags : 10;             /* CPP flags.  */
+  ENUM_BITFIELD(node_type) type : 2;   /* CPP node type.  */
+  unsigned int flags : 8;              /* CPP flags.  */
+
+  /* 6 bits spare (plus another 32 on 64-bit hosts).  */
 
   union _cpp_hashnode_value GTY ((desc ("%1.type"))) value;
 };
@@ -940,7 +942,6 @@ extern const cpp_token *cpp_get_token_with_location (cpp_reader *,
 inline bool cpp_user_macro_p (const cpp_hashnode *node)
 {
   return node->type == NT_USER_MACRO;
-
 }
 inline bool cpp_builtin_macro_p (const cpp_hashnode *node)
 {
@@ -950,6 +951,7 @@ inline bool cpp_macro_p (const cpp_hashnode *node)
 {
   return node->type & NT_MACRO_MASK;
 }
+
 /* Returns true if NODE is a function-like user macro.  */
 inline bool cpp_fun_like_macro_p (cpp_hashnode *node)
 {