http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538

Markus Trippelsdorf <markus at trippelsdorf dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markus at trippelsdorf dot
                   |                            |de

--- Comment #5 from Markus Trippelsdorf <markus at trippelsdorf dot de> 
2012-09-10 14:13:29 UTC ---
Both icpc and clang++ reject the testcase:

clang:
pr54538.ii:283:13: error: no matching function for call to 'range'
  auto r9 = range (v9);
            ^~~~~
pr54538.ii:277:66: note: candidate template ignored: substitution failure [with
Rn = std::vector<int, std::allocator<int> > &]: non-type template
      argument is not a constant expression
  template <class Rn> eIF <is_range <Rn> (), chain_range <Rn &&>>range (Rn &&
rn)
                           ~~~~~~~~                              ^
pr54538.ii:284:14: error: no matching function for call to 'range'
  auto rr9 = range (mk_v9 ());
             ^~~~~
pr54538.ii:277:66: note: candidate template ignored: substitution failure [with
Rn = std::vector<int, std::allocator<int> >]: non-type template
      argument is not a constant expression
  template <class Rn> eIF <is_range <Rn> (), chain_range <Rn &&>>range (Rn &&
rn)

icpc:
...
pr54538.ii(283): error: no instance of function template "std::range" matches
the argument list
            argument types are: (std::vector<int, std::allocator<int>>)
    auto r9 = range (v9);
              ^

pr54538.ii(284): error: no instance of function template "std::range" matches
the argument list
            argument types are: (std::vector<int, std::allocator<int>>)
    auto rr9 = range (mk_v9 ());

Reply via email to