Message ID | 5059EAF8.7030501@oracle.com |
---|---|
State | New |
Headers | show |
OK. Jason
On 09/20/2012 06:08 AM, Jason Merrill wrote:
> OK.
Thanks Jason.
Unfortunately I can't apply the patch because apparently it triggers
rather mysterious failures in the library testsuite, ICEs as Seg faults
in 17_intro/headers/c++1998.
I have troubles debugging it because I can't reproduce outside the
testsuite (apparently it requires the library PCHs), also, if I run the
testsuite again after build & install the failures disappear. I even
fear hardware problems on my machine. If somebody has the time to give
the patchlet a try I would be curious to know if I'm alone in seeing
such weird behaviors.
Thanks,
Paolo.
On 09/20/2012 12:58 PM, Paolo Carlini wrote: > On 09/20/2012 06:08 AM, Jason Merrill wrote: >> OK. > Thanks Jason. > > Unfortunately I can't apply the patch because apparently it triggers > rather mysterious failures in the library testsuite, ICEs as Seg > faults in 17_intro/headers/c++1998. Ah, ah, with today's mainline I see the weird failures also *without* the patch! Let's see if somebody else is experiencing the same issue, or it's just something broken on my system. Paolo.
Index: testsuite/g++.dg/cpp0x/decltype32.C =================================================================== --- testsuite/g++.dg/cpp0x/decltype32.C (revision 191479) +++ testsuite/g++.dg/cpp0x/decltype32.C (working copy) @@ -3,10 +3,10 @@ template <typename T> auto make_array(const T& il) -> -decltype(make_array(il)) // { dg-error "not declared" } +decltype(make_array(il)) // { dg-error "not declared|no matching|exceeds" } { } int main() { - int z = make_array(1); // { dg-error "no match" } + int z = make_array(1); // { dg-error "no matching" } } Index: cp/pt.c =================================================================== --- cp/pt.c (revision 191483) +++ cp/pt.c (working copy) @@ -13771,7 +13771,8 @@ tsubst_copy_and_build (tree t, } if (TREE_CODE (function) == IDENTIFIER_NODE) { - unqualified_name_lookup_error (function); + if (complain & tf_error) + unqualified_name_lookup_error (function); release_tree_vector (call_args); RETURN (error_mark_node); }