blob: 98978df3c42e48b7aa8e12956b692468ff6c8682 [file] [edit]
// RUN: rm -rf %t
// RUN: split-file %s %t
//
// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t/cache -fimplicit-module-maps \
// RUN: -I%S/Inputs -verify -x objective-c %t/macro-module-name.m
//
// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t/cache -fimplicit-module-maps \
// RUN: -I%S/Inputs -verify -x objective-c %t/macro-at-import.m
//
// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t/cache -fimplicit-module-maps \
// RUN: -I%S/Inputs -verify -x objective-c %t/macro-func-import.m
//--- macro-module-name.m
// expected-no-diagnostics
#define M dummy
@import M;
#ifndef DUMMY_H
#error "macros from module not visible after @import with macro module name"
#endif
void *p = &dummy1;
//--- macro-at-import.m
#define imp @import
imp dummy;
#ifdef DUMMY_H
#error "module should not be imported via macro-constructed @import"
#endif
void *p = &dummy1; // expected-error {{use of undeclared identifier 'dummy1'}}
//--- macro-func-import.m
#define IMPORT(X) @import X
IMPORT(dummy);
#ifdef DUMMY_H
#error "module should not be imported via function-like macro @import"
#endif
void *p = &dummy1; // expected-error {{use of undeclared identifier 'dummy1'}}