diff options
Diffstat (limited to 'include/llvm/CompilerDriver')
-rw-r--r-- | include/llvm/CompilerDriver/BuiltinOptions.h | 1 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/Common.td | 21 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/CompilationGraph.h | 4 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/ForceLinkage.h | 40 |
4 files changed, 58 insertions, 8 deletions
diff --git a/include/llvm/CompilerDriver/BuiltinOptions.h b/include/llvm/CompilerDriver/BuiltinOptions.h index 492dffd..fe44c30 100644 --- a/include/llvm/CompilerDriver/BuiltinOptions.h +++ b/include/llvm/CompilerDriver/BuiltinOptions.h @@ -22,6 +22,7 @@ namespace SaveTempsEnum { enum Values { Cwd, Obj, Unset }; } extern llvm::cl::list<std::string> InputFilenames; extern llvm::cl::opt<std::string> OutputFilename; +extern llvm::cl::opt<std::string> TempDirname; extern llvm::cl::list<std::string> Languages; extern llvm::cl::opt<bool> DryRun; extern llvm::cl::opt<bool> VerboseMode; diff --git a/include/llvm/CompilerDriver/Common.td b/include/llvm/CompilerDriver/Common.td index 1f6bacc..5b7c543 100644 --- a/include/llvm/CompilerDriver/Common.td +++ b/include/llvm/CompilerDriver/Common.td @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// // -// This file contains common definitions used in llvmc2 tool description files. +// This file contains common definitions used in llvmc tool description files. // //===----------------------------------------------------------------------===// @@ -39,29 +39,35 @@ def prefix_list_option; def extern; def help; def hidden; +def init; def multi_val; def one_or_more; def really_hidden; def required; def zero_or_one; -// Empty DAG marker. -def empty; - // The 'case' construct. def case; +// Boolean constants. +def true; +def false; + // Boolean operators. def and; def or; +def not; // Primitive tests. def switch_on; def parameter_equals; def element_in_list; def input_languages_contain; +def empty; def not_empty; def default; +def single_input_file; +def multiple_input_files; // Possible actions. @@ -76,6 +82,9 @@ def error; def inc_weight; def dec_weight; +// Empty DAG marker. +def empty_dag_marker; + // Used to specify plugin priority. class PluginPriority<int p> { int priority = p; @@ -105,10 +114,10 @@ class EdgeBase<string t1, string t2, dag d> { dag weight = d; } -class Edge<string t1, string t2> : EdgeBase<t1, t2, (empty)>; +class Edge<string t1, string t2> : EdgeBase<t1, t2, (empty_dag_marker)>; // Edge and SimpleEdge are synonyms. -class SimpleEdge<string t1, string t2> : EdgeBase<t1, t2, (empty)>; +class SimpleEdge<string t1, string t2> : EdgeBase<t1, t2, (empty_dag_marker)>; // Optionally enabled edge. class OptionalEdge<string t1, string t2, dag props> : EdgeBase<t1, t2, props>; diff --git a/include/llvm/CompilerDriver/CompilationGraph.h b/include/llvm/CompilerDriver/CompilationGraph.h index 825d4c4..3daafd5 100644 --- a/include/llvm/CompilerDriver/CompilationGraph.h +++ b/include/llvm/CompilerDriver/CompilationGraph.h @@ -18,7 +18,6 @@ #include "llvm/ADT/GraphTraits.h" #include "llvm/ADT/IntrusiveRefCntPtr.h" -#include "llvm/ADT/iterator.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringSet.h" @@ -242,7 +241,8 @@ namespace llvmc { /// NodeChildIterator - Another auxiliary class needed by GraphTraits. - class NodeChildIterator : public bidirectional_iterator<Node, ptrdiff_t> { + class NodeChildIterator : public + std::iterator<std::bidirectional_iterator_tag, Node, ptrdiff_t> { typedef NodeChildIterator ThisType; typedef Node::container_type::iterator iterator; diff --git a/include/llvm/CompilerDriver/ForceLinkage.h b/include/llvm/CompilerDriver/ForceLinkage.h index 58ea167..830c04e 100644 --- a/include/llvm/CompilerDriver/ForceLinkage.h +++ b/include/llvm/CompilerDriver/ForceLinkage.h @@ -41,6 +41,26 @@ namespace llvmc { LLVMC_FORCE_LINKAGE_DECL(LLVMC_BUILTIN_PLUGIN_5); #endif +#ifdef LLVMC_BUILTIN_PLUGIN_6 + LLVMC_FORCE_LINKAGE_DECL(LLVMC_BUILTIN_PLUGIN_6); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_7 + LLVMC_FORCE_LINKAGE_DECL(LLVMC_BUILTIN_PLUGIN_7); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_8 + LLVMC_FORCE_LINKAGE_DECL(LLVMC_BUILTIN_PLUGIN_8); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_9 + LLVMC_FORCE_LINKAGE_DECL(LLVMC_BUILTIN_PLUGIN_9); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_10 + LLVMC_FORCE_LINKAGE_DECL(LLVMC_BUILTIN_PLUGIN_10); +#endif + namespace force_linkage { struct LinkageForcer { @@ -68,6 +88,26 @@ namespace force_linkage { LLVMC_FORCE_LINKAGE_CALL(LLVMC_BUILTIN_PLUGIN_5); #endif +#ifdef LLVMC_BUILTIN_PLUGIN_6 + LLVMC_FORCE_LINKAGE_CALL(LLVMC_BUILTIN_PLUGIN_6); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_7 + LLVMC_FORCE_LINKAGE_CALL(LLVMC_BUILTIN_PLUGIN_7); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_8 + LLVMC_FORCE_LINKAGE_CALL(LLVMC_BUILTIN_PLUGIN_8); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_9 + LLVMC_FORCE_LINKAGE_CALL(LLVMC_BUILTIN_PLUGIN_9); +#endif + +#ifdef LLVMC_BUILTIN_PLUGIN_10 + LLVMC_FORCE_LINKAGE_CALL(LLVMC_BUILTIN_PLUGIN_10); +#endif + } }; } // End namespace force_linkage. |