// RUN: %clang_cc1 -fsyntax-only -DNOEXCEPT= -verify %s
// RUN: %clang_cc1 -fsyntax-only -std=c++1z -DNOEXCEPT= -verify %s
// RUN: %clang_cc1 -fsyntax-only -std=c++1z -DNOEXCEPT=noexcept -verify %s
T NOEXCEPT;
int NOEXCEPT;
// -- an object or reference being initialized
;
void
// -- the left side of an assignment (5.17),
void
// -- a parameter of a function (5.2.2),
void ;
void
// -- a parameter of a user-defined operator (13.5),
;
void ;
void ;
void ;
void ;
void
// -- the return value of a function, operator function, or conversion (6.6.3),
int
int
int
float
float
float
// -- an explicit type conversion (5.2.3, 5.2.9, 5.4), or
void
// -- a non-type template-parameter(14.3.2).
;
;
;
;
Y0<f0> y0;
Y0<&f0> y0a;
Y1<f0> y1;
Y1<&f0> y1a;
Y2<f0> y2;
Y3<f0> y3;
// expected-no-diagnostics