
The code is/was already correct for the case where a parameter is a parameter of its enclosing lexical DeclContext (functions and classes). But for other templates (alias and variable templates) they don't create their own scope to be members of - in those cases, they parameter should be considered visible if any definition of the lexical decl context is visible. [this should cleanup the failure on the libstdc++ modules buildbot] [this doesn't actually fix the variable template case for a secondary/compounding reason (its lexical decl context is incorrectly considered to be the translation unit)] Test covers all 4 kinds of templates with default args, including a regression test for the still broken variable template case. Reviewers: rsmith Differential Revision: https://reviews.llvm.org/D60892 llvm-svn: 358795
25 lines
316 B
Plaintext
25 lines
316 B
Plaintext
module ALIAS1 {
|
|
header "alias1.h"
|
|
module ALIAS2 {
|
|
header "alias2.h"
|
|
}
|
|
}
|
|
module VAR1 {
|
|
header "var1.h"
|
|
module VAR2 {
|
|
header "var2.h"
|
|
}
|
|
}
|
|
module FUNC1 {
|
|
header "func1.h"
|
|
module FUNC2 {
|
|
header "func2.h"
|
|
}
|
|
}
|
|
module STRCT1 {
|
|
header "strct1.h"
|
|
module STRCT2 {
|
|
header "strct2.h"
|
|
}
|
|
}
|