================
@@ -1,48 +1,38 @@
// Test 1: Without C11 and without flag - should NOT warn
-// RUN: %clang_analyze_cc1 %s -verify -std=gnu99 \
-// RUN:
-analyzer-checker=security.insecureAPI.DeprecatedOrUnsafeBufferHandling \
-// RUN: -DEXPECT_NO_WARNINGS
+// RUN: %clang_analyze_cc1 %s -verify=c99-noflag -std=gnu99 \
+// RUN:
-analyzer-checker=security.insecureAPI.DeprecatedOrUnsafeBufferHandling
// Test 2: Without C11 but with flag enabled - should warn
-// RUN: %clang_analyze_cc1 %s -verify -std=gnu99 \
+// RUN: %clang_analyze_cc1 %s -verify=c99-withflag -std=gnu99 \
// RUN:
-analyzer-checker=security.insecureAPI.DeprecatedOrUnsafeBufferHandling \
-// RUN: -analyzer-config
security.insecureAPI.DeprecatedOrUnsafeBufferHandling:AllowWithoutC11=true \
-// RUN: -DEXPECT_WARNINGS
+// RUN: -analyzer-config
security.insecureAPI.DeprecatedOrUnsafeBufferHandling:AllowWithoutC11=true
// Test 3: With C11 - should warn (existing behavior)
-// RUN: %clang_analyze_cc1 %s -verify -std=gnu11 \
-// RUN:
-analyzer-checker=security.insecureAPI.DeprecatedOrUnsafeBufferHandling \
-// RUN: -DEXPECT_WARNINGS
+// RUN: %clang_analyze_cc1 %s -verify=c11 -std=gnu11 \
+// RUN:
-analyzer-checker=security.insecureAPI.DeprecatedOrUnsafeBufferHandling
#include "Inputs/system-header-simulator.h"
extern char buf[128];
extern char src[128];
+// c99-noflag-no-diagnostics
+
void test_memcpy(void) {
memcpy(buf, src, 10);
-#ifdef EXPECT_WARNINGS
- // expected-warning@-2{{Call to function 'memcpy' is insecure as it does not
provide security checks introduced in the C11 standard}}
-#else
- // expected-no-diagnostics
-#endif
+ // c99-withflag-warning@-1{{Call to function 'memcpy' is insecure as it does
not provide security checks introduced in the C11 standard}}
+ // c11-warning@-2{{Call to function 'memcpy' is insecure as it does not
provide security checks introduced in the C11 standard}}
----------------
gamesh411 wrote:
I have considered it. It just occurred to me whether explicitly spelling out
the cases after the warning line is more demonstrative/(easy to see which cases
report) and whether the message duplication that comes with it is a tradeoff
worth taking.
But of course, we can eliminate the duplication with a common case. (Just give
this a nod, and I'll remove the duplication).
https://github.com/llvm/llvm-project/pull/168704
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits