DEFINE: Don't label a declaration, for C99 compatibility.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 11 Sep 2022 19:08:43 +0000 (12:08 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 11 Sep 2022 19:08:43 +0000 (12:08 -0700)
Thanks to Friedrich Beckmann for reporting the problem.

Fixes: 36fc62cea799 ("macro: Coding style improvement in macro_tokens_from_string().")Fixes: b8f7ae6610f0 ("DEFINE: Improve error messages for parsing macro body.")
src/language/control/define.c

index 7b1807be1e220b3dbcaddf8b06d2d3248c01b5a4..c439c64571b75d2637c3e79df5980584e71ba9a7 100644 (file)
@@ -139,19 +139,21 @@ parse_macro_body (struct lexer *lexer, struct macro_tokens *mts)
           break;
 
         case TOKENIZE_ERROR:
-          size_t start_offset = mt.syntax.string - body.ss.string;
-          size_t end_offset = start_offset + (mt.syntax.length ? mt.syntax.length - 1 : 0);
-
-          const struct msg_location loc = {
-            .file_name = intern_new_if_nonnull (lex_get_file_name (lexer)),
-            .start = msg_point_advance (start, ss_buffer (body.ss.string, start_offset)),
-            .end = msg_point_advance (start, ss_buffer (body.ss.string, end_offset)),
-            .src = CONST_CAST (struct lex_source *, lex_source (lexer)),
-          };
-          msg_at (SE, &loc, "%s", mt.token.string.string);
-          intern_unref (loc.file_name);
-
-          ok = false;
+          {
+            size_t start_offset = mt.syntax.string - body.ss.string;
+            size_t end_offset = start_offset + (mt.syntax.length ? mt.syntax.length - 1 : 0);
+
+            const struct msg_location loc = {
+              .file_name = intern_new_if_nonnull (lex_get_file_name (lexer)),
+              .start = msg_point_advance (start, ss_buffer (body.ss.string, start_offset)),
+              .end = msg_point_advance (start, ss_buffer (body.ss.string, end_offset)),
+              .src = CONST_CAST (struct lex_source *, lex_source (lexer)),
+            };
+            msg_at (SE, &loc, "%s", mt.token.string.string);
+            intern_unref (loc.file_name);
+
+            ok = false;
+          }
           break;
         }