forked from OSchip/llvm-project
Add test case that was broken by r311970.
See also discussion here: https://reviews.llvm.org/rL301963 As far as I can tell, this discussion was never resolved. llvm-svn: 312109
This commit is contained in:
parent
542c84b2a1
commit
1a7c369e08
|
@ -604,6 +604,22 @@ static_assert(NATDCArray{}[1][1].n == 0, "");
|
|||
|
||||
}
|
||||
|
||||
// Tests for indexes into arrays of unknown bounds.
|
||||
namespace ArrayOfUnknownBound {
|
||||
// This is a corner case of the language where it's not clear whether this
|
||||
// should be an error: When we see the initializer for Z::a, the bounds of
|
||||
// Z::b aren't known yet, but they will be known by the end of the translation
|
||||
// unit, so the compiler can in theory check the indexing into Z::b.
|
||||
// For the time being, as long as this is unclear, we want to make sure that
|
||||
// this compiles.
|
||||
struct Z {
|
||||
static const void *const a[];
|
||||
static const void *const b[];
|
||||
};
|
||||
constexpr const void *Z::a[] = {&b[0], &b[1]};
|
||||
constexpr const void *Z::b[] = {&a[0], &a[1]};
|
||||
}
|
||||
|
||||
namespace DependentValues {
|
||||
|
||||
struct I { int n; typedef I V[10]; };
|
||||
|
|
Loading…
Reference in New Issue