Polly 23.0.0git
clang_wrap.h File Reference
#include <isl-interface/config.h>
#include <memory>
#include <llvm/Support/Host.h>
#include <clang/AST/ASTContext.h>
#include <clang/Basic/Builtins.h>
#include <clang/Basic/DiagnosticOptions.h>
#include <clang/Basic/FileManager.h>
#include <clang/Basic/TargetOptions.h>
#include <clang/Basic/TargetInfo.h>
#include <clang/Basic/Version.h>
#include <clang/Driver/Compilation.h>
#include <clang/Driver/Driver.h>
#include <clang/Driver/Tool.h>
#include <clang/Frontend/CompilerInstance.h>
#include <clang/Frontend/CompilerInvocation.h>
#include <clang/Frontend/TextDiagnosticPrinter.h>
#include <clang/Lex/HeaderSearch.h>
#include <clang/Lex/PreprocessorOptions.h>
#include <clang/Lex/Preprocessor.h>

Go to the source code of this file.

Classes

struct  isl::clang::ClangAPI
struct  isl::clang::Wrap

Namespaces

namespace  clang
namespace  clang::driver
namespace  isl
 These are automatically generated conversions between the default and the checked C++ bindings for isl.
namespace  isl::clang

Macros

#define ISL_CLANG_RESOURCE_DIR    ISL_CLANG_PREFIX "/lib/clang/" CLANG_VERSION_STRING
#define ISL_VALID_EXPR_FOR_TEMPLATE_ARG(CLASS, EXPR)

Functions

static Driver * isl::clang::construct_driver (const char *binary, DiagnosticsEngine &Diags)
static void isl::clang::create_from_args (CompilerInvocation &invocation, const ArgStringList *args, DiagnosticsEngine &Diags)
static void isl::clang::set_sysroot (ArgStringList &args)
static void isl::clang::construct_invocation (CompilerInstance *Clang, const char *filename, DiagnosticsEngine &Diags)
static TargetInfo * isl::clang::create_target_info (CompilerInstance *Clang, DiagnosticsEngine &Diags)
static void isl::clang::create_diagnostics (CompilerInstance *Clang)
static void isl::clang::create_preprocessor (CompilerInstance *Clang)
static void isl::clang::add_path (HeaderSearchOptions &HSO, std::string Path)
template<typename T>
static void isl::clang::create_main_file_id (SourceManager &SM, const T &file)
static void isl::clang::set_lang_defaults (CompilerInstance *Clang)
template<class T>
static const FileEntry * isl::clang::ignore_error_helper (const T obj, int, int[1][sizeof(obj.getError())])
template<class T>
static const FileEntry * isl::clang::ignore_error_helper (const T obj, long, void *)
template<class T>
static const FileEntry * isl::clang::ignore_error (const T obj)
 isl::clang::ISL_VALID_EXPR_FOR_TEMPLATE_ARG (HasGetFileRef, std::declval< U >().getFileRef(std::declval< const std::string & >())) template< typename T
template<typename T, typename std::enable_if<!TakesDiagnosticOptionsRef< T >::value, bool >::type = true>
static DiagnosticOptions * isl::clang::diag_opts_type ()

Variables

static const char * isl::clang::ResourceDir = ISL_CLANG_RESOURCE_DIR

Macro Definition Documentation

◆ ISL_CLANG_RESOURCE_DIR

#define ISL_CLANG_RESOURCE_DIR    ISL_CLANG_PREFIX "/lib/clang/" CLANG_VERSION_STRING

Definition at line 42 of file clang_wrap.h.

Referenced by isl::clang::Wrap::invoke().

◆ ISL_VALID_EXPR_FOR_TEMPLATE_ARG

#define ISL_VALID_EXPR_FOR_TEMPLATE_ARG ( CLASS,
EXPR )
Value:
template <typename T> \
struct CLASS { \
private: \
template <typename U> \
static auto test(int) -> decltype(EXPR, std::true_type()); \
\
template <typename> \
static std::false_type test(...); \
\
public: \
using type = decltype(test<T>(0)); \
static constexpr bool value = type::value; \
};
isl_bool isl_bool(* test)(__isl_keep ISL_KEY *key, __isl_keep ISL_VAL *val, void *user)
Definition hmap.h:41
enum isl_fold type
Definition isl_test.c:3810

Definition at line 250 of file clang_wrap.h.