diff --git a/lib/checkio.cpp b/lib/checkio.cpp index c8c0e52d2..4bdd10c91 100644 --- a/lib/checkio.cpp +++ b/lib/checkio.cpp @@ -905,6 +905,9 @@ void CheckIO::checkWrongPrintfScanfArguments() case 'L': if (argInfo.typeToken->str() != "long" || !argInfo.typeToken->isLong()) invalidScanfArgTypeError_int(tok, numFormat, specifier, &argInfo, true); + else if (argInfo.typeToken->originalName() == "size_t" || + argInfo.typeToken->originalName() == "uintmax_t") + invalidScanfArgTypeError_int(tok, numFormat, specifier, &argInfo, true); break; default: if (argInfo.typeToken->str() != "int") diff --git a/test/testio.cpp b/test/testio.cpp index 66ecabebb..2d4ac7522 100644 --- a/test/testio.cpp +++ b/test/testio.cpp @@ -1163,7 +1163,7 @@ private: check(code, true, false, Settings::Win32A); ASSERT_EQUALS(result, errout.str()); check(code, true, false, Settings::Win64); - // FIXME ASSERT_EQUALS(result_win64, errout.str()); + ASSERT_EQUALS(result_win64, errout.str()); } {