diff options
| author | seyko <seyko2@gmail.com> | 2015-04-21 15:46:29 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2015-04-21 15:46:29 +0300 |
| commit | b08ce880822875d4bef103719179501d6ba38730 (patch) | |
| tree | 7a5a70341c168eb93ee92afbe6d9b81d2516118d /tccpp.c | |
| parent | 0c8447db7970813292a8be74ee50e49091be5d15 (diff) | |
| download | tinycc-b08ce880822875d4bef103719179501d6ba38730.tar.gz tinycc-b08ce880822875d4bef103719179501d6ba38730.tar.bz2 | |
"#pragma once" implementation
Diffstat (limited to 'tccpp.c')
| -rw-r--r-- | tccpp.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1478,6 +1478,8 @@ static void pragma_parse(TCCState *s1) } next(); skip(')'); + } else if (tok == TOK_once) { + add_cached_include(s1, file->filename, TOK_once); } else { tcc_warning("unknown #pragma %s", get_tok_str(tok, &tokc)); } @@ -1618,7 +1620,7 @@ ST_FUNC void preprocess(int is_bof) } e = search_cached_include(s1, buf1); - if (e && define_find(e->ifndef_macro)) { + if (e && (define_find(e->ifndef_macro) || e->ifndef_macro == TOK_once)) { /* no need to parse the include because the 'ifndef macro' is defined */ #ifdef INC_DEBUG |
