Skip to content

Commit e34d073

Browse files
committed
Add MSVC support for changes made in the commit e0ae277
1 parent 443920d commit e34d073

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/packcc.c

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2898,9 +2898,13 @@ static code_reach_t generate_quantifying_code(generate_t *gen, const node_t *exp
28982898
indent += 4;
28992899
}
29002900
stream__write_characters(gen->stream, ' ', indent);
2901-
stream__puts(gen->stream, "const size_t p MARK_VAR_AS_USED = ctx->cur;\n");
2901+
stream__puts(gen->stream, "MARK_VAR_AS_USED\n");
29022902
stream__write_characters(gen->stream, ' ', indent);
2903-
stream__puts(gen->stream, "const size_t n MARK_VAR_AS_USED = chunk->thunks.len;\n");
2903+
stream__puts(gen->stream, "const size_t p = ctx->cur;\n");
2904+
stream__write_characters(gen->stream, ' ', indent);
2905+
stream__puts(gen->stream, "MARK_VAR_AS_USED\n");
2906+
stream__write_characters(gen->stream, ' ', indent);
2907+
stream__puts(gen->stream, "const size_t n = chunk->thunks.len;\n");
29042908
{
29052909
const int l = ++gen->label;
29062910
if (generate_code(gen, expr, l, indent, FALSE) != CODE_REACH__ALWAYS_SUCCEED) {
@@ -3024,9 +3028,13 @@ static code_reach_t generate_alternative_code(generate_t *gen, const node_array_
30243028
indent += 4;
30253029
}
30263030
stream__write_characters(gen->stream, ' ', indent);
3027-
stream__puts(gen->stream, "const size_t p MARK_VAR_AS_USED = ctx->cur;\n");
3031+
stream__puts(gen->stream, "MARK_VAR_AS_USED\n");
3032+
stream__write_characters(gen->stream, ' ', indent);
3033+
stream__puts(gen->stream, "const size_t p = ctx->cur;\n");
3034+
stream__write_characters(gen->stream, ' ', indent);
3035+
stream__puts(gen->stream, "MARK_VAR_AS_USED\n");
30283036
stream__write_characters(gen->stream, ' ', indent);
3029-
stream__puts(gen->stream, "const size_t n MARK_VAR_AS_USED = chunk->thunks.len;\n");
3037+
stream__puts(gen->stream, "const size_t n = chunk->thunks.len;\n");
30303038
for (i = 0; i < nodes->len; i++) {
30313039
const bool_t c = (i + 1 < nodes->len) ? TRUE : FALSE;
30323040
const int l = ++gen->label;
@@ -3365,8 +3373,9 @@ static bool_t generate(context_t *ctx) {
33653373
"#else\n"
33663374
"#define MARK_FUNC_AS_USED __attribute__((__unused__))\n"
33673375
"#endif\n"
3376+
"\n"
33683377
"#ifdef _MSC_VER\n"
3369-
"#define MARK_VAR_AS_USED\n"
3378+
"#define MARK_VAR_AS_USED __pragma(warning(suppress:4189))\n"
33703379
"#else\n"
33713380
"#define MARK_VAR_AS_USED __attribute__((__unused__))\n"
33723381
"#endif\n"

0 commit comments

Comments
 (0)