diff --git a/src/mln_bignum.c b/src/mln_bignum.c index e60b47f4..8c7111f2 100644 --- a/src/mln_bignum.c +++ b/src/mln_bignum.c @@ -894,9 +894,9 @@ void mln_bignum_dump(mln_bignum_t *bn) mln_u32_t i; fprintf(stderr, "Data:\n"); for (i = 0; i < M_BIGNUM_SIZE; ++i) { -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) fprintf(stderr, "\t%I64x\n", bn->data[i]); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) fprintf(stderr, "\t%llx\n", bn->data[i]); #else fprintf(stderr, "\t%lx\n", bn->data[i]); diff --git a/src/mln_conf.c b/src/mln_conf.c index b609c816..68cec4b2 100644 --- a/src/mln_conf.c +++ b/src/mln_conf.c @@ -1046,8 +1046,10 @@ static int mln_conf_dump_domain_iterate_handler(mln_rbtree_node_t *node, void *u #if defined(WIN32) #if defined(i386) || defined(__arm__) printf("INT [%ld]\n", ci->val.i); - #else + #elif defined(__pentiumpro__) printf("INT [%I64d]\n", ci->val.i); + #else + printf("INT [%lld]\n", ci->val.i); #endif #else printf("INT [%ld]\n", ci->val.i); diff --git a/src/mln_json.c b/src/mln_json.c index bad9f1b4..eea91661 100644 --- a/src/mln_json.c +++ b/src/mln_json.c @@ -978,9 +978,9 @@ mln_json_write_content(mln_json_t *j, mln_s8ptr_t buf) { mln_s64_t i = (mln_s64_t)(j->data.m_j_number); if (i == j->data.m_j_number) -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) n = snprintf(buf, 512, "%I64d", i); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) n = snprintf(buf, 512, "%lld", i); #else n = snprintf(buf, 512, "%ld", i); diff --git a/src/mln_lang_ast.c b/src/mln_lang_ast.c index 8495d56f..a01379ea 100644 --- a/src/mln_lang_ast.c +++ b/src/mln_lang_ast.c @@ -3482,26 +3482,26 @@ static int mln_lang_semantic_factorint(mln_factor_t *left, mln_factor_t **right, mln_s64_t i; if (ls->text->len > 1 && num[0] == '0') { if (num[1] == 'x' || num[1] == 'X') { -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) sscanf(num, "%I64x", &i); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) sscanf(num, "%llx", &i); #else sscanf(num, "%lx", &i); #endif } else { -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) sscanf(num, "%I64o", &i); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) sscanf(num, "%llo", &i); #else sscanf(num, "%lo", &i); #endif } } else { -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) sscanf(num, "%I64d", &i); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) sscanf(num, "%lld", &i); #else sscanf(num, "%ld", &i); diff --git a/src/mln_lang_int.c b/src/mln_lang_int.c index 61653e49..5ee5ccb5 100644 --- a/src/mln_lang_int.c +++ b/src/mln_lang_int.c @@ -194,9 +194,9 @@ static inline mln_s64_t mln_lang_int_var_toint(mln_lang_var_t *var) if (buf == NULL) break; memcpy(buf, s->data, s->len); buf[s->len] = 0; -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) sscanf((char *)buf, "%I64d", &i); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) sscanf((char *)buf, "%lld", &i); #else sscanf((char *)buf, "%ld", &i); diff --git a/src/mln_lang_str.c b/src/mln_lang_str.c index 6121b7cf..8be52b57 100644 --- a/src/mln_lang_str.c +++ b/src/mln_lang_str.c @@ -190,9 +190,9 @@ static inline mln_string_t *__mln_lang_str_var_tostring(mln_alloc_t *pool, mln_l n = snprintf(buf, sizeof(buf)-1, "Array"); break; case M_LANG_VAL_TYPE_INT: -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) n = snprintf(buf, sizeof(buf)-1, "%I64d", val->data.i); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) n = snprintf(buf, sizeof(buf)-1, "%lld", val->data.i); #else n = snprintf(buf, sizeof(buf)-1, "%ld", val->data.i); diff --git a/src/mln_lex.c b/src/mln_lex.c index d14a5461..541f9464 100644 --- a/src/mln_lex.c +++ b/src/mln_lex.c @@ -406,9 +406,9 @@ char *mln_lex_strerror(mln_lex_t *lex) int n = 0; if (lex->cur != NULL && lex->cur->fd >= 0) n += snprintf(lex->err_msg + n, len - n, "%s:", (char *)(lex->cur->data->data)); -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) n += snprintf(lex->err_msg + n, len - n, "%I64u: %s", lex->line, mln_lex_errmsg[lex->error]); -#elif defined(i386) || defined(__arm__) || defined(__wasm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) || defined(__wasm__) n += snprintf(lex->err_msg + n, len - n, "%llu: %s", lex->line, mln_lex_errmsg[lex->error]); #else n += snprintf(lex->err_msg + n, len - n, "%lu: %s", lex->line, mln_lex_errmsg[lex->error]); diff --git a/src/mln_log.c b/src/mln_log.c index c65acb27..7ecbd201 100644 --- a/src/mln_log.c +++ b/src/mln_log.c @@ -484,8 +484,10 @@ _mln_sys_log_process(mln_log_t *log, \ #if defined(WIN32) #if defined(i386) || defined(__arm__) int n = snprintf(line_str, sizeof(line_str)-1, "%ld", num); - #else + #elif defined(__pentiumpro__) int n = snprintf(line_str, sizeof(line_str)-1, "%I64d", num); + #else + int n = snprintf(line_str, sizeof(line_str)-1, "%lld", num); #endif #else int n = snprintf(line_str, sizeof(line_str)-1, "%ld", num); @@ -550,10 +552,10 @@ _mln_sys_log_process(mln_log_t *log, \ case 'i': { memset(line_str, 0, sizeof(line_str)); -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) long long num = va_arg(arg, long long); int n = snprintf(line_str, sizeof(line_str)-1, "%I64d", num); -#elif defined(i386) || defined(__arm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) long long num = va_arg(arg, long long); int n = snprintf(line_str, sizeof(line_str)-1, "%lld", num); #else @@ -566,10 +568,10 @@ _mln_sys_log_process(mln_log_t *log, \ case 'I': { memset(line_str, 0, sizeof(line_str)); -#if defined(WIN32) +#if defined(WIN32) && defined(__pentiumpro__) unsigned long long num = va_arg(arg, unsigned long long); int n = snprintf(line_str, sizeof(line_str)-1, "%I64u", num); -#elif defined(i386) || defined(__arm__) +#elif defined(WIN32) || defined(i386) || defined(__arm__) unsigned long long num = va_arg(arg, unsigned long long); int n = snprintf(line_str, sizeof(line_str)-1, "%llu", num); #else diff --git a/src/mln_matrix.c b/src/mln_matrix.c index 32b2f4a9..0456460b 100644 --- a/src/mln_matrix.c +++ b/src/mln_matrix.c @@ -140,7 +140,9 @@ void mln_matrix_dump(mln_matrix_t *matrix) { if (matrix == NULL) return; mln_size_t i, sum = matrix->row * matrix->col; -#if defined(i386) || defined(__arm__) || defined(WIN32) +#if defined(WIN32) && !defined(__pentiumpro__) + printf("Matrix row:%llu col:%llu\n ", matrix->row, matrix->col); +#elif defined(i386) || defined(__arm__) || defined(WIN32) printf("Matrix row:%u col:%u\n ", matrix->row, matrix->col); #else printf("Matrix row:%lu col:%lu\n ", matrix->row, matrix->col); diff --git a/src/mln_parser_generator.c b/src/mln_parser_generator.c index 829e22f7..0884027f 100644 --- a/src/mln_parser_generator.c +++ b/src/mln_parser_generator.c @@ -868,11 +868,16 @@ void mln_pg_output_state(mln_pg_state_t *s) s->id, \ s->input==NULL?"(null)":(char *)(s->input->token->data), \ (unsigned long long)(s->nr_item)); - #else + #elif defined(__pentiumpro__) printf("State %I64d: input: [%s] nr_item:%I64u\n", \ s->id, \ s->input==NULL?"(null)":(char *)(s->input->token->data), \ (unsigned long long)(s->nr_item)); + #else + printf("State %lld: input: [%s] nr_item:%llu\n", \ + s->id, \ + s->input==NULL?"(null)":(char *)(s->input->token->data), \ + (unsigned long long)(s->nr_item)); #endif #else printf("State %ld: input: [%s] nr_item:%llu\n", \ @@ -887,7 +892,11 @@ void mln_pg_output_state(mln_pg_state_t *s) if (it->pos == i) printf("."); printf(" %s", (char *)((it->rule->rights[i])->token->data)); } +#if defined(WIN32) && !defined(__pentiumpro__) + printf("\t\tread:[%s] goto_id:%lld", it->read==NULL?"(null)":(char *)(it->read->token->data), it->goto_id); +#else printf("\t\tread:[%s] goto_id:%ld", it->read==NULL?"(null)":(char *)(it->read->token->data), it->goto_id); +#endif printf("\tLookahead:"); mln_rbtree_iterate(it->lookahead_set, mln_pg_output_state_iterate_handler, NULL); printf("\n"); diff --git a/src/mln_rs.c b/src/mln_rs.c index 7cae278a..9b87a775 100644 --- a/src/mln_rs.c +++ b/src/mln_rs.c @@ -358,7 +358,9 @@ void mln_rs_matrix_dump(mln_rs_matrix_t *matrix) { if (matrix == NULL) return; mln_size_t i, sum = matrix->row * matrix->col; -#if defined(i386) || defined(__arm__) || defined(WIN32) +#if defined(WIN32) && !defined(__pentiumpro__) + printf("Matrix row:%llu col:%llu\n ", matrix->row, matrix->col); +#elif defined(i386) || defined(__arm__) || defined(WIN32) printf("Matrix row:%u col:%u\n ", matrix->row, matrix->col); #else printf("Matrix row:%lu col:%lu\n ", matrix->row, matrix->col);