Skip to content

Commit e916c8d

Browse files
committed
Revert "[Clang] Warn about 'z' printf modifier in old MSVC."
This reverts commit fe0d1b6. Makes Analysis/taint-generic.c fail on some Windows systems.
1 parent 4b414d9 commit e916c8d

File tree

2 files changed

+0
-18
lines changed

2 files changed

+0
-18
lines changed

clang/lib/AST/FormatString.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -748,15 +748,6 @@ bool FormatSpecifier::hasValidLengthModifier(const TargetInfo &Target,
748748
case LengthModifier::AsIntMax:
749749
case LengthModifier::AsSizeT:
750750
case LengthModifier::AsPtrDiff:
751-
if (LM.getKind() == LengthModifier::AsSizeT &&
752-
Target.getTriple().isOSMSVCRT() &&
753-
!LO.isCompatibleWithMSVC(LangOptions::MSVC2015)) {
754-
// The standard libraries before MSVC2015 didn't support the 'z' length
755-
// modifier for size_t. So if the MS compatibility version is less than
756-
// that, reject.
757-
return false;
758-
}
759-
760751
switch (CS.getKind()) {
761752
case ConversionSpecifier::dArg:
762753
case ConversionSpecifier::DArg:

clang/test/Sema/format-strings-ms.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility -triple=i386-pc-win32 %s
2-
// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility -triple=i386-pc-win32 -fms-compatibility-version=18 %s
3-
// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility -triple=i386-pc-win32 -fms-compatibility-version=19 -DSIZE_T_OK %s
42
// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility -triple=i386-pc-win32 -Wformat-non-iso -DNON_ISO_WARNING %s
53

64
int printf(const char *format, ...) __attribute__((format(printf, 1, 2)));
@@ -87,11 +85,4 @@ void z_test(void *p) {
8785
scanf("%Z", p); // expected-warning{{invalid conversion specifier 'Z'}}
8886
}
8987

90-
void size_t_test(size_t s) {
91-
printf("%zu", s);
92-
#ifndef SIZE_T_OK
93-
// expected-warning@-2 {{length modifier 'z' results in undefined behavior or no effect with 'u' conversion specifier}}
94-
#endif
95-
}
96-
9788
#endif

0 commit comments

Comments
 (0)