diff options
| author | David Blaikie <dblaikie@gmail.com> | 2019-03-11 23:10:33 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2019-03-11 23:10:33 +0000 |
| commit | eae78b5157dc0582cf32710d2ade9bbcd7f0fc94 (patch) | |
| tree | 8692ab2013540204cfde41c1026201fce202378b /llvm/lib/Target/Hexagon/RDFLiveness.cpp | |
| parent | 157d23f79e3dbe32401678a62bf1fc3d443cd94e (diff) | |
| download | bcm5719-llvm-eae78b5157dc0582cf32710d2ade9bbcd7f0fc94.tar.gz bcm5719-llvm-eae78b5157dc0582cf32710d2ade9bbcd7f0fc94.zip | |
Hexagon RDF: Replace function template (plus explicit specializations) with non-template overloads
For the design in question, overloads seem to be a much simpler and less subtle solution.
This removes ODR issues, and errors of the kind where code that uses the
specialization in question will accidentally and erroneously specialize
the primary template. This only "works" by accident; the program is
ill-formed NDR.
(Found with -Wundefined-func-template.)
Patch by Thomas Köppe!
Differential Revision: https://reviews.llvm.org/D58998
llvm-svn: 355880
Diffstat (limited to 'llvm/lib/Target/Hexagon/RDFLiveness.cpp')
| -rw-r--r-- | llvm/lib/Target/Hexagon/RDFLiveness.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/RDFLiveness.cpp b/llvm/lib/Target/Hexagon/RDFLiveness.cpp index 6a3c82566ba..9cd304aa10b 100644 --- a/llvm/lib/Target/Hexagon/RDFLiveness.cpp +++ b/llvm/lib/Target/Hexagon/RDFLiveness.cpp @@ -57,7 +57,6 @@ static cl::opt<unsigned> MaxRecNest("rdf-liveness-max-rec", cl::init(25), namespace llvm { namespace rdf { - template<> raw_ostream &operator<< (raw_ostream &OS, const Print<Liveness::RefMap> &P) { OS << '{'; for (auto &I : P.Obj) { |

