// DR 2387 template extern const int a; template static const int b = N; template extern const int c; template extern const volatile int d; template extern const int e; extern const int *pa, *pb, *pc, *pe; extern const volatile int *pd; int main () { if (pa != &a <42> || pb == &b <42> || pc != &c <42> || pd != &d <42> || pe != &e <43>) __builtin_abort (); }