Files
clang-p2996/clang/test/Modules/merge-decl-order.cpp
Richard Smith 8807e83037 [modules] When collecting declarations to complete a redeclaration chain for an
entity, put the originally-canonical decl IDs in the right places in the redecl
chain rather than reordering them all to the start. If we don't ensure that the
redecl chain order is consistent with the topological module order, we can fail
to make a declaration visible if later declarations are in more IDNSs than
earlier ones (for instance, because the earlier decls are invisible friends).

llvm-svn: 228978
2015-02-12 23:21:45 +00:00

10 lines
369 B
C++

// RUN: rm -rf %t
// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/merge-decl-order -verify %s
// expected-no-diagnostics
// Check that we include all decls from 'a' before the decls from 'b' in foo's
// redecl chain. If we don't, then name lookup only finds invisible friend
// declarations and the lookup below will fail.
#include "b.h"
N::foo *use;