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
10 lines
369 B
C++
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;
|