diff --git a/libcxx/test/libcxx/type_traits/is_scalar.objc.pass.mm b/libcxx/test/libcxx/type_traits/is_scalar.objc.pass.mm --- a/libcxx/test/libcxx/type_traits/is_scalar.objc.pass.mm +++ b/libcxx/test/libcxx/type_traits/is_scalar.objc.pass.mm @@ -17,7 +17,9 @@ // Make sure we report that blocks are scalar types. #include +#if __cplusplus >= 201703L #include +#endif // C++17 struct Foo { }; template struct Arg { }; @@ -35,6 +37,10 @@ int main(int, char**) { +#if __cplusplus >= 201703L + // Make sure that std::optional can be used with a block, which is the + // underlying motivation for making blocks satisfy std::is_scalar. std::optional)> opt; (void)opt; +#endif // C++17 return 0; }