LCOV - code coverage report
Current view: top level - clang/Basic - LLVM.h (source / functions) Hit Total Coverage
Test: clang.info Lines: 1 1 100.0 %
Date: 2016-01-31 12:01:00 Functions: 1 1 100.0 %

          Line data    Source code
       1             : //===--- LLVM.h - Import various common LLVM datatypes ----------*- 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             : /// \file
      11             : /// \brief Forward-declares and imports various common LLVM datatypes that
      12             : /// clang wants to use unqualified.
      13             : ///
      14             : //===----------------------------------------------------------------------===//
      15             : 
      16             : #ifndef LLVM_CLANG_BASIC_LLVM_H
      17             : #define LLVM_CLANG_BASIC_LLVM_H
      18             : 
      19             : // Do not proliferate #includes here, require clients to #include their
      20             : // dependencies.
      21             : // Casting.h has complex templates that cannot be easily forward declared.
      22             : #include "llvm/Support/Casting.h"
      23             : // None.h includes an enumerator that is desired & cannot be forward declared
      24             : // without a definition of NoneType.
      25             : #include "llvm/ADT/None.h"
      26             : 
      27             : namespace llvm {
      28             :   // ADT's.
      29             :   class StringRef;
      30             :   class Twine;
      31             :   template<typename T> class ArrayRef;
      32             :   template<typename T> class MutableArrayRef;
      33             :   template<unsigned InternalLen> class SmallString;
      34           2 :   template<typename T, unsigned N> class SmallVector;
      35             :   template<typename T> class SmallVectorImpl;
      36             :   template<typename T> class Optional;
      37             : 
      38             :   template<typename T>
      39             :   struct SaveAndRestore;
      40             : 
      41             :   // Reference counting.
      42             :   template <typename T> class IntrusiveRefCntPtr;
      43             :   template <typename T> struct IntrusiveRefCntPtrInfo;
      44             :   template <class Derived> class RefCountedBase;
      45             :   class RefCountedBaseVPTR;
      46             : 
      47             :   class raw_ostream;
      48             :   class raw_pwrite_stream;
      49             :   // TODO: DenseMap, ...
      50             : }
      51             : 
      52             : 
      53             : namespace clang {
      54             :   // Casting operators.
      55             :   using llvm::isa;
      56             :   using llvm::cast;
      57             :   using llvm::dyn_cast;
      58             :   using llvm::dyn_cast_or_null;
      59             :   using llvm::cast_or_null;
      60             :   
      61             :   // ADT's.
      62             :   using llvm::None;
      63             :   using llvm::Optional;
      64             :   using llvm::StringRef;
      65             :   using llvm::Twine;
      66             :   using llvm::ArrayRef;
      67             :   using llvm::MutableArrayRef;
      68             :   using llvm::SmallString;
      69             :   using llvm::SmallVector;
      70             :   using llvm::SmallVectorImpl;
      71             :   using llvm::SaveAndRestore;
      72             : 
      73             :   // Reference counting.
      74             :   using llvm::IntrusiveRefCntPtr;
      75             :   using llvm::IntrusiveRefCntPtrInfo;
      76             :   using llvm::RefCountedBase;
      77             :   using llvm::RefCountedBaseVPTR;
      78             : 
      79             :   using llvm::raw_ostream;
      80             :   using llvm::raw_pwrite_stream;
      81             : } // end namespace clang.
      82             : 
      83             : #endif

Generated by: LCOV version 1.11