ProgramState_Fwd.h revision a5888f61be9f8d76e9b48a453dbced50523bd2e0
1//== ProgramState_Fwd.h - Incomplete declarations of ProgramState -*- 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#ifndef LLVM_CLANG_PROGRAMSTATE_FWD_H 11#define LLVM_CLANG_PROGRAMSTATE_FWD_H 12 13#include "llvm/ADT/IntrusiveRefCntPtr.h" 14 15namespace clang { 16namespace ento { 17 class ProgramState; 18 class ProgramStateManager; 19 void ProgramStateRetain(const ProgramState *state); 20 void ProgramStateRelease(const ProgramState *state); 21} 22} 23 24namespace llvm { 25 template <> struct IntrusiveRefCntPtrInfo<const clang::ento::ProgramState> { 26 static void retain(const clang::ento::ProgramState *state) { 27 clang::ento::ProgramStateRetain(state); 28 } 29 static void release(const clang::ento::ProgramState *state) { 30 clang::ento::ProgramStateRelease(state); 31 } 32 }; 33} 34 35namespace clang { 36namespace ento { 37 typedef llvm::IntrusiveRefCntPtr<const ProgramState> ProgramStateRef; 38} 39} 40 41#endif 42 43