From b9a3c7888822732a0de92741cfe1a3e1b6bb272f Mon Sep 17 00:00:00 2001 From: Marco Aurelio da Costa Date: Mon, 26 Apr 2021 13:30:54 -0300 Subject: [PATCH] Parse file included inside a macro at definition time --- src/ca65/macro.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ca65/macro.c b/src/ca65/macro.c index 988493976..56791eb66 100644 --- a/src/ca65/macro.c +++ b/src/ca65/macro.c @@ -510,6 +510,22 @@ void MacDef (unsigned Style) } } + if (CurTok.Tok == TOK_INCLUDE) { + /* Include another file */ + NextTok (); + /* Name must follow */ + if (CurTok.Tok != TOK_STRCON) { + ErrorSkip ("String constant expected"); + } else { + SB_Terminate (&CurTok.SVal); + if (NewInputFile (SB_GetConstBuf (&CurTok.SVal)) == 0) { + /* Error opening the file, skip remainder of line */ + SkipUntilSep (); + } + } + NextTok (); + } + /* Check for a .LOCAL declaration */ if (CurTok.Tok == TOK_LOCAL && Style == MAC_STYLE_CLASSIC) {