diff options
| author | Douglas Gregor <dgregor@apple.com> | 2012-01-05 01:11:47 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2012-01-05 01:11:47 +0000 |
| commit | 5c193c7ed6eb50a6f96000f306727d988cde43d2 (patch) | |
| tree | fe18fae502378d81cc0acbf48c8210d990cc2198 /clang/test/Modules | |
| parent | 31a8d051ddc88fb654ad676ffa0a90bb6decb0c8 (diff) | |
| download | bcm5719-llvm-5c193c7ed6eb50a6f96000f306727d988cde43d2.tar.gz bcm5719-llvm-5c193c7ed6eb50a6f96000f306727d988cde43d2.zip | |
When we're performing name lookup for a tag, we still allow ourselves
to see hidden declarations because every tag lookup is effectively a
redeclaration lookup. For example, image that
struct foo;
is declared in a submodule that is known but hasn't been imported. If
someone later writes
struct foo *foo_p;
then "struct foo" is either a reference or a redeclaration. To keep
the redeclaration chains sound, we treat it like a redeclaration for
name-lookup purposes.
llvm-svn: 147588
Diffstat (limited to 'clang/test/Modules')
| -rw-r--r-- | clang/test/Modules/Inputs/redecl-merge-top-explicit.h | 2 | ||||
| -rw-r--r-- | clang/test/Modules/redecl-merge.m | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/test/Modules/Inputs/redecl-merge-top-explicit.h b/clang/test/Modules/Inputs/redecl-merge-top-explicit.h index 54aab33e6ca..e06ff7aedaf 100644 --- a/clang/test/Modules/Inputs/redecl-merge-top-explicit.h +++ b/clang/test/Modules/Inputs/redecl-merge-top-explicit.h @@ -5,3 +5,5 @@ int *explicit_func(void); struct explicit_struct { int member; }; #define ONE 1 + +typedef struct my_struct_type *my_struct_ref; diff --git a/clang/test/Modules/redecl-merge.m b/clang/test/Modules/redecl-merge.m index b41986609c0..09898a5b3b8 100644 --- a/clang/test/Modules/redecl-merge.m +++ b/clang/test/Modules/redecl-merge.m @@ -1,11 +1,11 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -fmodule-cache-path %t -I %S/Inputs %s -verify +// RUN: %clang_cc1 -fmodules -fmodule-cache-path %t -Wno-typedef-redefinition -I %S/Inputs %s -verify // RUN: %clang_cc1 -x objective-c++ -fmodules -fmodule-cache-path %t -I %S/Inputs %s -verify @class C2; @class C3; @class C3; @import redecl_merge_left; - +typedef struct my_struct_type *my_struct_ref; @protocol P4; @class C3; @class C3; |

