1ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// RUN: %clang_cc1 -triple i686-win32 -verify -std=c++11 %s 2ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// RUN: %clang_cc1 -triple i686-mingw32 -verify -std=c++11 %s 3ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 4ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesextern int __attribute__((dllimport)) var; 5ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesconstexpr int *varp = &var; // expected-error {{must be initialized by a constant expression}} 6ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 7ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesextern __attribute__((dllimport)) void fun(); 8ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesconstexpr void (*funp)(void) = &fun; // expected-error {{must be initialized by a constant expression}} 9ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 10ef8225444452a1486bd721f3285301fe84643b00Stephen Hinestemplate <void (*)()> 11ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesstruct S {}; 12ef8225444452a1486bd721f3285301fe84643b00Stephen HinesS<&fun> x; 13ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 14ef8225444452a1486bd721f3285301fe84643b00Stephen Hinestemplate <int *> 15ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesstruct U {}; 16ef8225444452a1486bd721f3285301fe84643b00Stephen HinesU<&var> y; 17