pt.c (convert_template_argument): Use inform instead of error in three places.
/cp 2014-07-02 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (convert_template_argument): Use inform instead of error in three places. /testsuite 2014-07-02 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error. * g++.dg/cpp0x/variadic-ex14.C: Likewise. * g++.dg/parse/error11.C: Likewise. * g++.old-deja/g++.brendan/template17.C: Likewise. From-SVN: r212223
This commit is contained in:
parent
d570d364e6
commit
bca23ca20c
7 changed files with 33 additions and 15 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-07-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* pt.c (convert_template_argument): Use inform instead of error in
|
||||
three places.
|
||||
|
||||
2014-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||||
|
||||
PR c++/58781
|
||||
|
|
24
gcc/cp/pt.c
24
gcc/cp/pt.c
|
@ -6468,13 +6468,16 @@ convert_template_argument (tree parm,
|
|||
"parameter list for %qD",
|
||||
i + 1, in_decl);
|
||||
if (is_type)
|
||||
error (" expected a constant of type %qT, got %qT",
|
||||
TREE_TYPE (parm),
|
||||
(DECL_P (arg) ? DECL_NAME (arg) : orig_arg));
|
||||
inform (input_location,
|
||||
" expected a constant of type %qT, got %qT",
|
||||
TREE_TYPE (parm),
|
||||
(DECL_P (arg) ? DECL_NAME (arg) : orig_arg));
|
||||
else if (requires_tmpl_type)
|
||||
error (" expected a class template, got %qE", orig_arg);
|
||||
inform (input_location,
|
||||
" expected a class template, got %qE", orig_arg);
|
||||
else
|
||||
error (" expected a type, got %qE", orig_arg);
|
||||
inform (input_location,
|
||||
" expected a type, got %qE", orig_arg);
|
||||
}
|
||||
}
|
||||
return error_mark_node;
|
||||
|
@ -6487,9 +6490,11 @@ convert_template_argument (tree parm,
|
|||
"parameter list for %qD",
|
||||
i + 1, in_decl);
|
||||
if (is_tmpl_type)
|
||||
error (" expected a type, got %qT", DECL_NAME (arg));
|
||||
inform (input_location,
|
||||
" expected a type, got %qT", DECL_NAME (arg));
|
||||
else
|
||||
error (" expected a class template, got %qT", orig_arg);
|
||||
inform (input_location,
|
||||
" expected a class template, got %qT", orig_arg);
|
||||
}
|
||||
return error_mark_node;
|
||||
}
|
||||
|
@ -6537,8 +6542,9 @@ convert_template_argument (tree parm,
|
|||
error ("type/value mismatch at argument %d in "
|
||||
"template parameter list for %qD",
|
||||
i + 1, in_decl);
|
||||
error (" expected a template of type %qD, got %qT",
|
||||
parm, orig_arg);
|
||||
inform (input_location,
|
||||
" expected a template of type %qD, got %qT",
|
||||
parm, orig_arg);
|
||||
}
|
||||
|
||||
val = error_mark_node;
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2014-07-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error.
|
||||
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
|
||||
* g++.dg/parse/error11.C: Likewise.
|
||||
* g++.old-deja/g++.brendan/template17.C: Likewise.
|
||||
|
||||
2014-07-02 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
* gfortran.dg/coarray/get_array.f90: Add missing SYNC ALL.
|
||||
|
|
|
@ -5,5 +5,5 @@ Tuple<> t0; // Types contains no arguments
|
|||
Tuple<int> t1; // Types contains one argument: int
|
||||
Tuple<int, float> t2; // Types contains two arguments: int and float
|
||||
Tuple<0> error; // { dg-error "mismatch" "mismatch" }
|
||||
// { dg-error "expected a type" "expected a type" { target *-*-* } 7 }
|
||||
// { dg-message "expected a type" "expected a type" { target *-*-* } 7 }
|
||||
// { dg-error "in declaration" "in declaration" { target *-*-* } 7 }
|
||||
|
|
|
@ -9,10 +9,10 @@ template<template<class...> class Q> class Y { /* ... */ };
|
|||
|
||||
X<A> xA; // okay
|
||||
X<B> xB; // { dg-error "mismatch" "mismatch" }
|
||||
// { dg-error "expected a template" "expected" { target *-*-* } 11 }
|
||||
// { dg-message "expected a template" "expected" { target *-*-* } 11 }
|
||||
// { dg-error "invalid type" "invalid" { target *-*-* } 11 }
|
||||
X<C> xC; // { dg-error "mismatch" "mismatch" }
|
||||
// { dg-error "expected a template" "expected" { target *-*-* } 14 }
|
||||
// { dg-message "expected a template" "expected" { target *-*-* } 14 }
|
||||
// { dg-error "invalid type" "invalid" { target *-*-* } 14 }
|
||||
Y<A> yA;
|
||||
Y<B> yB;
|
||||
|
|
|
@ -33,7 +33,7 @@ template <int N> struct Foo2 {};
|
|||
template struct Foo2<::B>; // { dg-error "21:'<::' cannot begin" "begin" { target { ! c++11 } } }
|
||||
// { dg-message "21:'<:' is an alternate" "alt" { target { ! c++11 } } 33 }
|
||||
// { dg-message "25:type/value mismatch" "mismatch" { target *-*-* } 33 }
|
||||
// { dg-error "25:expected a constant" "const" { target *-*-* } 33 }
|
||||
// { dg-message "25:expected a constant" "const" { target *-*-* } 33 }
|
||||
|
||||
int value = 0;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ public:
|
|||
};
|
||||
|
||||
const Regex NDAMName<'L'>::pattern("^[Ll](.*)$", 1);// { dg-error "type/value mismatch" "mismatch" }
|
||||
// { dg-error "expected a type" "expected" { target *-*-* } 11 }
|
||||
// { dg-message "expected a type" "expected" { target *-*-* } 11 }
|
||||
// { dg-warning "deprecated" "depr" { target *-*-* } 11 }
|
||||
unsigned NDAMName<'L'>::sequence_number = 0;// { dg-error "type/value mismatch" "mismatch" }
|
||||
// { dg-error "expected a type" "exp" { target *-*-* } 14 }
|
||||
// { dg-message "expected a type" "exp" { target *-*-* } 14 }
|
||||
|
|
Loading…
Add table
Reference in a new issue