]> git.saurik.com Git - bison.git/blobdiff - src/muscle-tab.h
lalr1.cc: check (and fix) %initial-action exception safety
[bison.git] / src / muscle-tab.h
index 6c658be6cc3f132433a2013f2ba5b6139a597dec..696103f393f161b69e93afd882ca019c40656300 100644 (file)
@@ -43,14 +43,14 @@ extern struct obstack muscle_obstack;
 
 #define MUSCLE_INSERT_INT(Key, Value)                           \
   do {                                                          \
 
 #define MUSCLE_INSERT_INT(Key, Value)                           \
   do {                                                          \
-    obstack_fgrow1 (&muscle_obstack, "%d", Value);              \
+    obstack_printf (&muscle_obstack, "%d", Value);              \
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
 
 #define MUSCLE_INSERT_LONG_INT(Key, Value)                      \
   do {                                                          \
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
 
 #define MUSCLE_INSERT_LONG_INT(Key, Value)                      \
   do {                                                          \
-    obstack_fgrow1 (&muscle_obstack, "%ld", Value);             \
+    obstack_printf (&muscle_obstack, "%ld", Value);             \
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
@@ -64,30 +64,15 @@ extern struct obstack muscle_obstack;
 
 #define MUSCLE_INSERT_STRING(Key, Value)                        \
   do {                                                          \
 
 #define MUSCLE_INSERT_STRING(Key, Value)                        \
   do {                                                          \
-    MUSCLE_OBSTACK_SGROW (&muscle_obstack, Value);              \
+    obstack_escape (&muscle_obstack, Value);                    \
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
 
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
 
-#define MUSCLE_OBSTACK_SGROW(Obstack, Value)                    \
-  do {                                                          \
-    char const *p;                                              \
-    for (p = Value; *p; p++)                                    \
-      switch (*p)                                               \
-        {                                                       \
-        case '$': obstack_sgrow (Obstack, "$]["); break;        \
-        case '@': obstack_sgrow (Obstack, "@@" ); break;        \
-        case '[': obstack_sgrow (Obstack, "@{" ); break;        \
-        case ']': obstack_sgrow (Obstack, "@}" ); break;        \
-        default: obstack_1grow (Obstack, *p); break;            \
-        }                                                       \
-  } while (0)
-
 #define MUSCLE_INSERT_C_STRING(Key, Value)                      \
   do {                                                          \
 #define MUSCLE_INSERT_C_STRING(Key, Value)                      \
   do {                                                          \
-    MUSCLE_OBSTACK_SGROW (&muscle_obstack,                      \
-                          quotearg_style (c_quoting_style,      \
-                                          Value));              \
+    obstack_escape (&muscle_obstack,                            \
+                    quotearg_style (c_quoting_style, Value));   \
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
     obstack_1grow (&muscle_obstack, 0);                         \
     muscle_insert (Key, obstack_finish (&muscle_obstack));      \
   } while (0)
@@ -112,14 +97,6 @@ void muscle_code_grow (const char *key, const char *value, location loc);
 void muscle_pair_list_grow (const char *muscle,
                             const char *a1, const char *a2);
 
 void muscle_pair_list_grow (const char *muscle,
                             const char *a1, const char *a2);
 
-/* In the format `[[file_name:line.column]], [[file_name:line.column]]', append
-   LOC to MUSCLE.  Use digraphs for special characters in each file name.  */
-void muscle_location_grow (char const *key, location loc);
-
-/* In the format `file_name:line.column', append BOUND to MUSCLE.  Use digraphs
-   for special characters in the file name.  */
-void muscle_boundary_grow (char const *key, boundary bound);
-
 /* Grow KEY for the occurrence of the name USER_NAME at LOC appropriately for
    use with b4_check_user_names in ../data/bison.m4.  USER_NAME is not escaped
    with digraphs, so it must not contain `[' or `]'.  */
 /* Grow KEY for the occurrence of the name USER_NAME at LOC appropriately for
    use with b4_check_user_names in ../data/bison.m4.  USER_NAME is not escaped
    with digraphs, so it must not contain `[' or `]'.  */