Dear all,

GNU global 6.5.4 has trouble with the following template specialisation snippet:

template <typename T>
struct Foo<typename std::enable_if<sizeof(T) <= 2* sizeof(size_t)>::type>
{};

gtags: failed to parse template [+2 ./foo.cpp].

If I use "<" instead of "<=" it still fails, but it works if I use ">". It's probably not expecting operator< to appear inside a template.

Cheers,
Lorenz


Full file, valid C++11:
#include <type_traits>

template <typename T, typename Enable = void>
struct Foo{};

template <typename T>
struct Foo<T, typename std::enable_if<(sizeof(T) < 8)>::type>
{};

int main(void) {
    Foo<int> foo;
}

- fails on line 7

_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global

Reply via email to