Attempt to clarify a vexing-parse diagnostic.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 19 Dec 2012 03:15:32 +0000 (03:15 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 19 Dec 2012 03:15:32 +0000 (03:15 +0000)
llvm-svn: 170492

clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/test/SemaTemplate/temp_arg_nontype.cpp

index 950fc4b..c49b875 100644 (file)
@@ -2631,7 +2631,7 @@ def err_template_arg_must_be_type_suggest : Error<
 def err_template_arg_must_be_expr : Error<
   "template argument for non-type template parameter must be an expression">;
 def err_template_arg_nontype_ambig : Error<
-  "template argument for non-type template parameter is treated as type %0">;
+  "template argument for non-type template parameter is treated as function type %0">;
 def err_template_arg_must_be_template : Error<
   "template argument for template template parameter must be a class template%select{| or type alias template}0">;
 def ext_template_arg_local_type : ExtWarn<
index 747ddcc..31947d2 100644 (file)
@@ -3,7 +3,7 @@ template<int N> struct A; // expected-note 5{{template parameter is declared her
 
 A<0> *a0;
 
-A<int()> *a1; // expected-error{{template argument for non-type template parameter is treated as type 'int ()'}}
+A<int()> *a1; // expected-error{{template argument for non-type template parameter is treated as function type 'int ()'}}
 
 A<int> *a2; // expected-error{{template argument for non-type template parameter must be an expression}}