diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-06-16 20:26:19 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-06-16 20:26:19 +0000 |
commit | 675d279af405d594552613c40a1507516039c694 (patch) | |
tree | 0a261a5d60f673e2c1d0c83e9363ef8c070652a6 /clang/test/Modules/cxx-decls.cpp | |
parent | 50f518be65ce3ea3be9ec06fcb103a752af18005 (diff) | |
download | bcm5719-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.cpp | 8 |
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 |