C++11 constexpr function's argument passed in template argument
This used to work some weeks ago:

    template <typename T, T t>
    T            tfunc()
    {
        return t + 10;
    }
    
    template <typename T>
    constexpr T       func(T t)
    {
        return tfunc<T, t>();
    }
    
    int main()
    {
        std::cout << func(10) << std::endl;
        return 0;
    }

But now `g++ -std=c++0x` says:

    main.cpp: In function ‘constexpr T func(T) [with T = int]’:
    main.cpp:29:25:   instantiated from here
    main.cpp:24:24: error: no matching function for call to ‘tfunc()’
    main.cpp:24:24: note: candidate is:
    main.cpp:16:14: note: template<class T, T t> T tfunc()
    main.cpp:25:1: warning: control reaches end of non-void function [-Wreturn-type]

`clang++ -std=c++11` says that template's parameters of `tfunc<T, t>()` are ignored because invalid.

Is that a bug, or a fix ?

PS:

`g++ --version` => `g++ (GCC) 4.6.2 20120120 (prerelease)`

`clang++ --version` => `clang version 3.0 (tags/RELEASE_30/final)` (3.0.1)

C++11 constexpr function's argument passed in template argument
===

This used to work some weeks ago:

    template <typename T, T t>
    T            tfunc()
    {
        return t + 10;
    }
    
    template <typename T>
    constexpr T       func(T t)
    {
        return tfunc<T, t>();
    }
    
    int main()
    {
        std::cout << func(10) << std::endl;
        return 0;
    }

But now `g++ -std=c++0x` says:

    main.cpp: In function ‘constexpr T func(T) [with T = int]’:
    main.cpp:29:25:   instantiated from here
    main.cpp:24:24: error: no matching function for call to ‘tfunc()’
    main.cpp:24:24: note: candidate is:
    main.cpp:16:14: note: template<class T, T t> T tfunc()
    main.cpp:25:1: warning: control reaches end of non-void function [-Wreturn-type]

`clang++ -std=c++11` says that template's parameters of `tfunc<T, t>()` are ignored because invalid.

Is that a bug, or a fix ?

PS:

`g++ --version` => `g++ (GCC) 4.6.2 20120120 (prerelease)`

`clang++ --version` => `clang version 3.0 (tags/RELEASE_30/final)` (3.0.1)
