1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -verify %s 2*f4a2713aSLionel Sambuc // expected-no-diagnostics 3*f4a2713aSLionel Sambuc 4*f4a2713aSLionel Sambuc bool is_char_ptr( const char* ); 5*f4a2713aSLionel Sambuc 6*f4a2713aSLionel Sambuc template< class T > 7*f4a2713aSLionel Sambuc long is_char_ptr( T /* r */ ); 8*f4a2713aSLionel Sambuc 9*f4a2713aSLionel Sambuc // Note: the const here does not lead to a qualification conversion 10*f4a2713aSLionel Sambuc template< class T > 11*f4a2713aSLionel Sambuc void make_range( T* const r, bool ); 12*f4a2713aSLionel Sambuc 13*f4a2713aSLionel Sambuc template< class T > 14*f4a2713aSLionel Sambuc void make_range( T& r, long ); 15*f4a2713aSLionel Sambuc first_finder(const char * & Search)16*f4a2713aSLionel Sambucvoid first_finder( const char*& Search ) 17*f4a2713aSLionel Sambuc { 18*f4a2713aSLionel Sambuc make_range( Search, is_char_ptr(Search) ); 19*f4a2713aSLionel Sambuc } 20