mirror of git://gcc.gnu.org/git/gcc.git
re PR c++/80979 (ice in lookup_mark, at cp/tree.c:2298)
PR c++/80979 * name-lookup.c (adl_class_only): Don't add visible friends. From-SVN: r248922
This commit is contained in:
parent
4ebcc903bf
commit
25d446fd38
|
|
@ -1,3 +1,8 @@
|
||||||
|
2017-06-06 Nathan Sidwell <nathan@acm.org>
|
||||||
|
|
||||||
|
PR c++/80979
|
||||||
|
* name-lookup.c (adl_class_only): Don't add visible friends.
|
||||||
|
|
||||||
2017-06-05 Volker Reichelt <v.reichelt@netcologne.de>
|
2017-06-05 Volker Reichelt <v.reichelt@netcologne.de>
|
||||||
|
|
||||||
* parser.c (cp_parser_base_specifier): Fix typos in error messages.
|
* parser.c (cp_parser_base_specifier): Fix typos in error messages.
|
||||||
|
|
|
||||||
|
|
@ -801,6 +801,12 @@ name_lookup::adl_class_only (tree type)
|
||||||
if (CP_DECL_CONTEXT (fn) != context)
|
if (CP_DECL_CONTEXT (fn) != context)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/* Only interested in anticipated friends. (Non-anticipated
|
||||||
|
ones will have been inserted during the namespace
|
||||||
|
adl.) */
|
||||||
|
if (!DECL_ANTICIPATED (fn))
|
||||||
|
continue;
|
||||||
|
|
||||||
/* Template specializations are never found by name lookup.
|
/* Template specializations are never found by name lookup.
|
||||||
(Templates themselves can be found, but not template
|
(Templates themselves can be found, but not template
|
||||||
specializations.) */
|
specializations.) */
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
// pr C++/80979 ICE with late discovery of using directives during ADL
|
||||||
|
// of a friend declaration.
|
||||||
|
|
||||||
|
namespace Tiny {
|
||||||
|
class Handsome {};
|
||||||
|
void Dahl (Handsome &, Handsome &);
|
||||||
|
|
||||||
|
namespace Jack {
|
||||||
|
class Vladof {
|
||||||
|
friend void Dahl (Vladof &, Vladof &);
|
||||||
|
};
|
||||||
|
void Dahl (Vladof &, Vladof &);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct BDonk {};
|
||||||
|
|
||||||
|
namespace Tina {
|
||||||
|
void Dahl (BDonk &, Jack::Vladof &);
|
||||||
|
}
|
||||||
|
using Tina::Dahl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BoomBoom (Tiny::BDonk &vault, Tiny::Jack::Vladof &hunter)
|
||||||
|
{
|
||||||
|
Dahl (vault, hunter);
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue