Remove LA_PRINT_STRING
authorTom Tromey <tom@tromey.com>
Sat, 22 Jan 2022 23:32:48 +0000 (16:32 -0700)
committerTom Tromey <tom@tromey.com>
Mon, 14 Feb 2022 13:22:33 +0000 (06:22 -0700)
This removes the LA_PRINT_STRING macro, in favor of using ordinary
method calls.

gdb/c-valprint.c
gdb/language.h
gdb/valprint.c
gdb/varobj.c

index 047e5687b0aab35c38fe3b589fdf7921f802b35c..0d30700c06d17f68ccbb3389b648834f68659df5 100644 (file)
@@ -277,7 +277,7 @@ c_value_print_array (struct value *val,
                   ++temp_len)
                ;
 
-             /* Force LA_PRINT_STRING to print ellipses if
+             /* Force printstr to print ellipses if
                 we've printed the maximum characters and
                 the next character is not \000.  */
              if (temp_len == options->print_max && temp_len < len)
@@ -292,8 +292,8 @@ c_value_print_array (struct value *val,
              len = temp_len;
            }
 
-         LA_PRINT_STRING (stream, unresolved_elttype, valaddr, len,
-                          NULL, force_ellipses, options);
+         current_language->printstr (stream, unresolved_elttype, valaddr, len,
+                                     NULL, force_ellipses, options);
        }
       else
        {
index 4eb414bbe127e2eb4e9e2f5d3afaaf9b1d037b54..f2885000259b2df35dbd0f555a15323f88c22630 100644 (file)
@@ -750,15 +750,6 @@ extern void language_info ();
 extern enum language set_language (enum language);
 \f
 
-/* This page contains functions that return things that are
-   specific to languages.  Each of these functions is based on
-   the current setting of working_lang, which the user sets
-   with the "set language" command.  */
-
-#define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options) \
-  (current_language->printstr (stream, elttype, string, length, \
-                              encoding, force_ellipses,options))
-
 /* Test a character to decide whether it can be printed in literal form
    or needs to be printed in another representation.  For example,
    in C the literal form of the character with octal value 141 is 'a'
index 07bc324be5db015a3ec2c4fe8f3b891c80ac2ba3..d6ec64845f4be9bd3eb10664ac86cb623d5b3b42 100644 (file)
@@ -2767,10 +2767,9 @@ val_print_string (struct type *elttype, const char *encoding,
      But if we fetch something and then get an error, print the string
      and then the error message.  */
   if (err == 0 || bytes_read > 0)
-    {
-      LA_PRINT_STRING (stream, elttype, buffer.get (), bytes_read / width,
-                      encoding, force_ellipsis, options);
-    }
+    current_language->printstr (stream, elttype, buffer.get (),
+                               bytes_read / width,
+                               encoding, force_ellipsis, options);
 
   if (err != 0)
     {
index 80216a455e8636e9c7300a0dbcff2ae7c71952aa..5617131da2012192dcc3e3352dfacdd67ffeaf69 100644 (file)
@@ -2232,8 +2232,8 @@ varobj_value_get_print_value (struct value *value,
 
   /* If the THEVALUE has contents, it is a regular string.  */
   if (!thevalue.empty ())
-    LA_PRINT_STRING (&stb, type, (gdb_byte *) thevalue.c_str (),
-                    len, encoding.get (), 0, &opts);
+    current_language->printstr (&stb, type, (gdb_byte *) thevalue.c_str (),
+                               len, encoding.get (), 0, &opts);
   else if (string_print)
     /* Otherwise, if string_print is set, and it is not a regular
        string, it is a lazy string.  */