// RUN: %clang_cc1 -fmodules-ts -verify -std=c++17 %s
// RUN: %clang_cc1 -fmodules-ts -verify -std=c++17 %s -DEXPORT
// RUN: %clang_cc1 -fmodules-ts -verify -std=c++17 %s -DUSING
extern int var; // expected-note {{previous declaration is here}}
int ; // expected-note {{previous declaration is here}}
; // expected-note {{previous declaration is here}}
using type = int;
extern int var_tpl; // expected-note {{previous declaration is here}}
int ; // expected-note {{previous declaration is here}}
; // expected-note {{previous declaration is here}}
using type_tpl = int; // expected-note {{previous declaration is here}}
typedef int type;
;
export module M;
using ::var;
using ::func;
using ::str;
using ::type;
using ::var_tpl;
using ::func_tpl;
using ::str_tpl;
using ::type_tpl;
export EXPORT
}