teak-llvm/clang/test/Analysis/diagnostics/implicit-cxx-std-suppression.cpp
Dominic Chen feaf9ff5ee Reland 3: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
Summary: Replace calls to %clang/%clang_cc1 with %clang_analyze_cc1 when invoking static analyzer, and perform runtime substitution to select the appropriate constraint manager, per D28952.

Reviewers: xazax.hun, NoQ, zaks.anna, dcoughlin

Subscribers: mgorny, rgov, mikhail.ramalho, a.sidorin, cfe-commits

Differential Revision: https://reviews.llvm.org/D30373

llvm-svn: 296837
2017-03-02 23:05:45 +00:00

38 lines
1.3 KiB
C++

// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc,cplusplus.NewDelete,debug.ExprInspection -analyzer-config c++-container-inlining=true -analyzer-config c++-stdlib-inlining=false -std=c++11 -verify %s
// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc,cplusplus.NewDelete,debug.ExprInspection -analyzer-config c++-container-inlining=true -analyzer-config c++-stdlib-inlining=true -std=c++11 -verify %s
// expected-no-diagnostics
#include "../Inputs/system-header-simulator-cxx-std-suppression.h"
void testList_pop_front(std::list<int> list) {
while(!list.empty())
list.pop_front(); // no-warning
}
void testBasicStringSuppression() {
std::basic_string<uint8_t> v;
v.push_back(1); // no-warning
}
void testBasicStringSuppression_append() {
std::basic_string<char32_t> v;
v += 'c'; // no-warning
}
void testBasicStringSuppression_assign(std::basic_string<char32_t> &v,
const std::basic_string<char32_t> &v2) {
v = v2; // no-warning
}
class MyEngine;
void testSuppression_independent_bits_engine(MyEngine& e) {
std::__independent_bits_engine<MyEngine, unsigned int> x(e, 64); // no-warning
}
void testSuppression_std_shared_pointer() {
std::shared_ptr<int> p(new int(1));
p = nullptr; // no-warning
}