From f9e11b40856ec26d721d174384e6e3261d23e30d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 13 Jul 2022 10:51:31 +0200 Subject: Ensure #error works. --- module/c/preprocessor2.scm | 3 ++- tests/test/cpp/preprocessor2.scm | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/module/c/preprocessor2.scm b/module/c/preprocessor2.scm index d7bf3b64..ee6f2d9f 100644 --- a/module/c/preprocessor2.scm +++ b/module/c/preprocessor2.scm @@ -642,7 +642,8 @@ ((define) resolve-define) ((undef) (lambda (env body) (remove-identifier env (identifier-token? (car body))))) ((line) handle-line-directive) - ((error) (lambda (_ body) (throw 'cpp-error body))) + ((error) (lambda (_ tokens) + (throw 'cpp-error-directive (unlex tokens)))) ((pragma) handle-pragma) (else (err "Unknown preprocessing directive: ~s" (list line-tokens)))))) diff --git a/tests/test/cpp/preprocessor2.scm b/tests/test/cpp/preprocessor2.scm index 39bbd39c..9b71e1ca 100644 --- a/tests/test/cpp/preprocessor2.scm +++ b/tests/test/cpp/preprocessor2.scm @@ -762,8 +762,9 @@ X ") ) -;; TODO -;; #error +(test-error "#error directive" + 'cpp-error-directive + (run "#error anything goes here")) (test-group "Pragma" (test-group "#pragma" -- cgit v1.2.3