diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2012-10-24 22:03:59 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2012-10-24 22:03:59 +0000 |
commit | 2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7 (patch) | |
tree | 804a11ce287bcb12b3493eecdd67e6c94bcdd116 /utils/TableGen/SetTheory.h | |
parent | aacb68806f4cb05b0b8102a188726e5b13f2a759 (diff) | |
download | external_llvm-2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7.zip external_llvm-2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7.tar.gz external_llvm-2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7.tar.bz2 |
Don't use stack unwinding to provide the location information for
SetTheory, but pass down the location explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166629 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/SetTheory.h')
-rw-r--r-- | utils/TableGen/SetTheory.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/utils/TableGen/SetTheory.h b/utils/TableGen/SetTheory.h index b394058..122372a 100644 --- a/utils/TableGen/SetTheory.h +++ b/utils/TableGen/SetTheory.h @@ -49,6 +49,7 @@ #include "llvm/ADT/StringMap.h" #include "llvm/ADT/SetVector.h" +#include "llvm/Support/SourceMgr.h" #include <map> #include <vector> @@ -72,7 +73,8 @@ public: /// apply - Apply this operator to Expr's arguments and insert the result /// in Elts. - virtual void apply(SetTheory&, DagInit *Expr, RecSet &Elts) =0; + virtual void apply(SetTheory&, DagInit *Expr, RecSet &Elts, + ArrayRef<SMLoc> Loc) =0; }; /// Expander - A callback function that can transform a Record representing a @@ -119,13 +121,13 @@ public: void addOperator(StringRef Name, Operator*); /// evaluate - Evaluate Expr and append the resulting set to Elts. - void evaluate(Init *Expr, RecSet &Elts); + void evaluate(Init *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc); /// evaluate - Evaluate a sequence of Inits and append to Elts. template<typename Iter> - void evaluate(Iter begin, Iter end, RecSet &Elts) { + void evaluate(Iter begin, Iter end, RecSet &Elts, ArrayRef<SMLoc> Loc) { while (begin != end) - evaluate(*begin++, Elts); + evaluate(*begin++, Elts, Loc); } /// expand - Expand a record into a set of elements if possible. Return a |