// RUN: %clang_cc1 -analyze -analyzer-checker=core,unix,osx,experimental.unix,experimental.security.taint -analyzer-store region -verify %s

class Evil {
public:
  void system(int); // taint checker
  void malloc(void *); // taint checker, malloc checker
  void free(); // malloc checker, keychain checker
  void fopen(); // stream checker
  void feof(int, int); // stream checker
  void open(); // unix api checker
};

void test(Evil &E) {
  // no warnings, no crashes
  E.system(0);
  E.malloc(0);
  E.free();
  E.fopen();
  E.feof(0,1);
  E.open();
}
