diff options
| author | Roland Reichwein <mail@reichwein.it> | 2020-11-09 16:55:10 +0100 | 
|---|---|---|
| committer | Roland Reichwein <mail@reichwein.it> | 2020-11-09 16:55:10 +0100 | 
| commit | 8f2e3e7af0360cca7f8918ae41cc573f8cd88d7f (patch) | |
| tree | d75230f12d1c25105aa68f96ce5759b8a547a2a2 | |
| parent | fe063834e53e856823b9a42ad3a5e04153446849 (diff) | |
Support empty translation unit
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | grammer.cpp | 3 | ||||
| -rw-r--r-- | tests/test-cpp.cpp | 4 | 
3 files changed, 4 insertions, 5 deletions
| @@ -91,7 +91,7 @@ TESTSRC=\  SRC=$(PROGSRC) mcc.cpp  all: test-$(PROJECTNAME) mcc -	./test-$(PROJECTNAME) --gtest_filter='CppTest.compile_2_times' +	./test-$(PROJECTNAME) #--gtest_filter='CppTest.compile_2_times'  # testsuite ----------------------------------------------  test-$(PROJECTNAME): $(TESTSRC:.cpp=.o) diff --git a/grammer.cpp b/grammer.cpp index 31a4bbf..3f3a0f1 100644 --- a/grammer.cpp +++ b/grammer.cpp @@ -392,9 +392,6 @@ std::vector<TreeNode> Compiler::compile(std::vector<Token> p_tokens)   clear();   tokens = p_tokens; - if (tokens.size() == 0) -  throw std::runtime_error("No tokens"); -   //   // top-down algorithm:   // diff --git a/tests/test-cpp.cpp b/tests/test-cpp.cpp index 0a0276e..e80f2d6 100644 --- a/tests/test-cpp.cpp +++ b/tests/test-cpp.cpp @@ -57,7 +57,9 @@ TEST_F(CppTest, preprocessing_tokenize_empty) {   auto nodes = cpp.analysis(tokens); - ASSERT_EQ(nodes.size(), 0); + ASSERT_EQ(nodes.size(), 1); + + ASSERT_EQ(nodes[0].type, "translation-unit");  }  TEST_F(CppTest, preprocessing_tokenize_compile_error) { | 
