authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-11-03 18:40:38-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2017-11-03 18:40:38-04:00
log75afe73c662307fe07283e497da38adce676de01
tree5aa6cd7dcf94946896cae1996f3f58d837692618
parentd4c1ed95acb1c301cd29ee7b452e739df0976dc1
parent1ef6cb1b64e926a74db562401ebef3c673c3d7cf
signature Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #581 from Dimenus/line_endings

Add support for windows line endings with c macros within a c_import.

1 files changed, 4 insertions(+), 1 deletions(-)

src/c_tokenizer.cpp+4-1
......@@ -91,6 +91,9 @@
9191 IDENT_START: \
9292 case DIGIT
9393
94#define LINE_ENDING \
95 '\r': \
96 case '\n'
9497
9598static void begin_token(CTokenize *ctok, CTokId id) {
9699 assert(ctok->cur_tok == nullptr);
......@@ -191,7 +194,7 @@ void tokenize_c_macro(CTokenize *ctok, const uint8_t *c) {
191194 case '\\':
192195 ctok->state = CTokStateBackslash;
193196 break;
194 case '\n':
197 case LINE_ENDING:
195198 goto found_end_of_macro;
196199 case IDENT_START:
197200 ctok->state = CTokStateIdentifier;