{"bitset", "<bitset>", cxx11},
/* <complex>. */
{"complex", "<complex>", cxx98},
- {"complex_literals", "<complex>", cxx98},
+ {"complex_literals", "<complex>", cxx14},
/* <condition_variable>. */
{"condition_variable", "<condition_variable>", cxx11},
{"condition_variable_any", "<condition_variable>", cxx11},
{"allocator", "<memory>", cxx98},
{"allocator_traits", "<memory>", cxx11},
{"make_shared", "<memory>", cxx11},
- {"make_unique", "<memory>", cxx11},
+ {"make_unique", "<memory>", cxx14},
{"shared_ptr", "<memory>", cxx11},
{"unique_ptr", "<memory>", cxx11},
{"weak_ptr", "<memory>", cxx11},
+2019-08-14 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/91436
+ * g++.dg/lookup/missing-std-include-5.C: Limit test to C++14 and up.
+ * g++.dg/lookup/missing-std-include-6.C: Don't check make_unique in
+ test that runs for C++11.
+ * g++.dg/lookup/missing-std-include-8.C: Check make_unique here.
+
2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.c-torture/execute/noinit-attribute.c: Fix typo.
// { dg-error "expected primary-expression before '\\)' token" "" { target *-*-* } .-3 }
}
-template<class T>
-void test_make_unique ()
-{
- auto p = std::make_unique<T>(); // { dg-error "'make_unique' is not a member of 'std'" }
- // { dg-message "'#include <memory>'" "" { target *-*-* } .-1 }
- // { dg-error "expected primary-expression before '>' token" "" { target *-*-* } .-2 }
- // { dg-error "expected primary-expression before '\\)' token" "" { target *-*-* } .-3 }
-}
-
std::shared_ptr<int> test_shared_ptr; // { dg-error "'shared_ptr' in namespace 'std' does not name a template type" }
// { dg-message "'#include <memory>'" "" { target *-*-* } .-1 }
// { dg-error "expected primary-expression before '\\)' token" "" { target *-*-* } .-3 }
}
+template<class T>
+void test_make_unique ()
+{
+ std::make_unique<T>(); // { dg-error "'make_unique' is not a member of 'std'" }
+ // { dg-message "'std::make_unique' is only available from C\\+\\+14 onwards" "" { target *-*-* } .-1 }
+ // { dg-error "expected primary-expression before '>' token" "" { target *-*-* } .-2 }
+ // { dg-error "expected primary-expression before '\\)' token" "" { target *-*-* } .-3 }
+}
+
void test_array ()
{
std::array a; // { dg-error "'array' is not a member of 'std'" }