From 6bd285316c4bceb38d5a7e5e9967cc84302056b4 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 3 Nov 2023 14:56:31 +0200 Subject: Generalize and export cc::lexer --- libbuild2/cc/lexer.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'libbuild2/cc/lexer.cxx') diff --git a/libbuild2/cc/lexer.cxx b/libbuild2/cc/lexer.cxx index 467c0b1..96bd887 100644 --- a/libbuild2/cc/lexer.cxx +++ b/libbuild2/cc/lexer.cxx @@ -214,7 +214,7 @@ namespace build2 // #line [] ... // # [] ... // - // Also diagnose #include while at it. + // Also diagnose #include while at it if preprocessed. // if (!(c >= '0' && c <= '9')) { @@ -222,10 +222,13 @@ namespace build2 if (t.type == type::identifier) { - if (t.value == "include") - fail (l) << "unexpected #include directive"; - else if (t.value != "line") + if (t.value != "line") + { + if (preprocessed_ && t.value == "include") + fail (l) << "unexpected #include directive"; + continue; + } } else continue; -- cgit v1.1