// RUN: rm -rf %t
// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -Wreturn-type -fmodules-cache-path=%t -I %S/Inputs %s -verify -Wno-objc-root-class
@class C2;
@class C3;
@class C3;
@import redecl_merge_left;
typedef struct my_struct_type *my_struct_ref;
@protocol P4;
@class C3;
@class C3;
int * // expected-warning{{non-void function does not return a value}}
int * // expected-warning{{non-void function does not return a value}}
@import redecl_merge_right;
int *
int *
void
@class A;
B *
@class B;
void
;
;
void
void
void
void
// Test redeclarations of entities in explicit submodules, to make
// sure we're maintaining the declaration chains even when normal name
// lookup can't see what we're looking for.
void
// Test resolution of declarations from multiple modules with no
// common original declaration.
void
void
void
C4 *global_C4;
ClassWithDef *cwd1;
@import redecl_merge_left_left;
void
void
@import redecl_merge_bottom;
void
void
p4;
p3;
// Make sure we don't get conflicts with 'id'.
funcptr_with_id fid;
id id_global;