UninitializedValues.h revision f7bafc77ba12bb1beb665243a0334cd81e024728
1//= UninitializedValues.h - Finding uses of uninitialized values --*- C++ -*-==//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines APIs for invoking and reported uninitialized values
11// warnings.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_CLANG_UNINIT_VALS_H
16#define LLVM_CLANG_UNINIT_VALS_H
17
18namespace clang {
19
20class AnalysisContext;
21class CFG;
22class DeclContext;
23class Expr;
24class VarDecl;
25
26class UninitVariablesHandler {
27public:
28  UninitVariablesHandler() {}
29  virtual ~UninitVariablesHandler();
30
31  virtual void handleUseOfUninitVariable(const Expr *ex,
32                                         const VarDecl *vd,
33                                         bool isAlwaysUninit) {}
34};
35
36void runUninitializedVariablesAnalysis(const DeclContext &dc, const CFG &cfg,
37                                       AnalysisContext &ac,
38                                       UninitVariablesHandler &handler);
39
40}
41#endif
42