| // RUN: %clang_analyze_cc1 -std=c++11 -verify %s \ |
| // RUN: -analyzer-checker=core \ |
| // RUN: -analyzer-checker=cplusplus.NewDelete \ |
| // RUN: -analyzer-checker=unix.MismatchedDeallocator |
| // RUN: %clang_analyze_cc1 -std=c++11 -verify %s \ |
| // RUN: -analyzer-checker=core \ |
| // RUN: -analyzer-checker=cplusplus.NewDelete \ |
| // RUN: -analyzer-checker=cplusplus.NewDeleteLeaks \ |
| // RUN: -analyzer-checker=unix.MismatchedDeallocator |
| // expected-no-diagnostics |
| typedef __typeof(sizeof(int)) size_t; |
| //------------------------------------------------------------------ |
| // Check that alpha.cplusplus.NewDelete + unix.MismatchedDeallocator |
| // does not enable warnings produced by the unix.Malloc checker. |
| //------------------------------------------------------------------ |
| void testMallocFreeNoWarn() { |
| int *p1 = (int *)malloc(sizeof(int)); |
| int *p2 = (int *)malloc(sizeof(int)); |
| int *p3 = (int *)malloc(sizeof(int)); // no warn |
| int *p4 = (int *)malloc(sizeof(int)); |