summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/cxx-decls.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-06-16 20:26:19 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-06-16 20:26:19 +0000
commit675d279af405d594552613c40a1507516039c694 (patch)
tree0a261a5d60f673e2c1d0c83e9363ef8c070652a6 /clang/test/Modules/cxx-decls.cpp
parent50f518be65ce3ea3be9ec06fcb103a752af18005 (diff)
downloadbcm5719-llvm-675d279af405d594552613c40a1507516039c694.tar.gz
bcm5719-llvm-675d279af405d594552613c40a1507516039c694.zip
[modules] When we merge redecl chains or mark a decl used with an update
record, mark all subsequent decls as 'used' too, to maintain the AST invariant that getPreviousDecl()->Used implies this->Used. llvm-svn: 211050
Diffstat (limited to 'clang/test/Modules/cxx-decls.cpp')
-rw-r--r--clang/test/Modules/cxx-decls.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Modules/cxx-decls.cpp b/clang/test/Modules/cxx-decls.cpp
index 49ba8340d3e..5498b47fc9f 100644
--- a/clang/test/Modules/cxx-decls.cpp
+++ b/clang/test/Modules/cxx-decls.cpp
@@ -1,5 +1,6 @@
// RUN: rm -rf %t
// RUN: %clang_cc1 -x objective-c++ -fmodules -fmodules-cache-path=%t -I %S/Inputs %s -verify -std=c++11
+// RUN: %clang_cc1 -x objective-c++ -fmodules -fmodules-cache-path=%t -I %S/Inputs %s -ast-dump -ast-dump-filter merge -std=c++11 | FileCheck %s
// expected-no-diagnostics
@@ -26,3 +27,10 @@ static_assert(!__is_trivial(HasNontrivialDefaultConstructor), "");
static_assert(!__has_trivial_constructor(HasNontrivialDefaultConstructor), "");
void use_implicit_new_again() { operator new[](3); }
+
+int importMergeUsedFlag = getMergeUsedFlag();
+
+@import cxx_decls_merged;
+
+// CHECK: VarDecl [[mergeUsedFlag:0x[0-9a-f]*]] {{.*}} in cxx_decls.imported used mergeUsedFlag
+// CHECK: VarDecl {{0x[0-9a-f]*}} prev [[mergeUsedFlag]] {{.*}} in cxx_decls_merged used mergeUsedFlag
OpenPOWER on IntegriCloud