diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2011-03-04 17:20:30 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2011-03-04 17:20:30 +0000 |
commit | abfb4059e5c4c5ce35649f328d6917b1b6c1ba9c (patch) | |
tree | afd006de15976923353cb6267138c034937654ff /lib/AST/DeclBase.cpp | |
parent | 4a85a73466bfb541cd9c7b57a99292a0b6900b9b (diff) |
Fixed source range for function template specializations.
template <class T> void foo();
template <> void foo<int>(); /* Spec 1 */
template <> void foo<int>(); /* Spec 2 */
If we look at the main location of the first explicit specialization (Spec 1) it can be seen that it points to the name of the *second* explicit specialization (Spec 2), which is a redeclaration of Spec1.
Hence, the source range obtained for Spec1 is not only inaccurate, but also invalid (the end location comes before the start location).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclBase.cpp')
0 files changed, 0 insertions, 0 deletions