diff options
Diffstat (limited to 'clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp')
| -rw-r--r-- | clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp b/clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp deleted file mode 100644 index 690ede26533..00000000000 --- a/clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp +++ /dev/null @@ -1,154 +0,0 @@ -// RUN: mkdir -p %T/Inputs -// -// Without inline namespace: -// -// RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp -// RUN: grep -Ev "// *[A-Z-]+:" %S/Inputs/basic.h > %T/Inputs/basic.h -// RUN: grep -Ev "// *[A-Z-]+:" %S/Inputs/memory_stub.h > %T/Inputs/memory_stub.h -// RUN: cpp11-migrate -headers -include=%T -replace-auto_ptr %t.cpp -- \ -// RUN: -std=c++11 -I %T -// RUN: FileCheck -input-file=%t.cpp %s -// RUN: FileCheck -input-file=%T/Inputs/basic.h %S/Inputs/basic.h -// -// With inline namespace: -// -// RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp -// RUN: grep -Ev "// *[A-Z-]+:" %S/Inputs/basic.h > %T/Inputs/basic.h -// RUN: grep -Ev "// *[A-Z-]+:" %S/Inputs/memory_stub.h > %T/Inputs/memory_stub.h -// RUN: cpp11-migrate -headers -include=%T -replace-auto_ptr %t.cpp -- \ -// RUN: -DUSE_INLINE_NAMESPACE=1 -std=c++11 -I %T -// RUN: FileCheck -input-file=%t.cpp %s -// RUN: FileCheck -input-file=%T/Inputs/basic.h %S/Inputs/basic.h - -#include "Inputs/basic.h" - -void f_1() { - std::auto_ptr<int> a; - // CHECK: std::unique_ptr<int> a; - - // check that spaces aren't modified unnecessarily - std:: auto_ptr <int> b; - // CHECK: std:: unique_ptr <int> b; - std :: auto_ptr < char > c(new char()); - // CHECK: std :: unique_ptr < char > c(new char()); - - // Test construction from a temporary - std::auto_ptr<char> d = std::auto_ptr<char>(); - // CHECK: std::unique_ptr<char> d = std::unique_ptr<char>(); - - typedef std::auto_ptr<int> int_ptr_t; - // CHECK: typedef std::unique_ptr<int> int_ptr_t; - int_ptr_t e(new int()); - // CHECK: int_ptr_t e(new int()); - - // Test pointers - std::auto_ptr<int> *f; - // CHECK: std::unique_ptr<int> *f; - - // Test 'static' declarations - static std::auto_ptr<int> g; - // CHECK: static std::unique_ptr<int> g; - - // Test with cv-qualifiers - const std::auto_ptr<int> h; - // CHECK: const std::unique_ptr<int> h; - volatile std::auto_ptr<int> i; - // CHECK: volatile std::unique_ptr<int> i; - const volatile std::auto_ptr<int> j; - // CHECK: const volatile std::unique_ptr<int> j; - - // Test auto and initializer-list - auto k = std::auto_ptr<int>{}; - // CHECK: auto k = std::unique_ptr<int>{}; - std::auto_ptr<int> l{std::auto_ptr<int>()}; - // CHECK: std::unique_ptr<int> l{std::unique_ptr<int>()}; - - // Test interlocked auto_ptr - std::auto_ptr<std::auto_ptr<int> > m; - // CHECK: std::unique_ptr<std::unique_ptr<int> > m; - - // Test temporaries - std::auto_ptr<char>(); - // CHECK: std::unique_ptr<char>(); - - // Test void-specialization - std::auto_ptr<void> n; - // CHECK: std::unique_ptr<void> n; - - // Test template WITH instantiation (instantiation) - B<double> o; - std::auto_ptr<double> p(o.create()); - // CHECK: std::unique_ptr<double> p(o.create()); - - // Test 'using' in a namespace ("definition") - ns_1::auto_ptr<int> q; - // CHECK: ns_1::unique_ptr<int> q; - - // Test construction with an 'auto_ptr_ref' - std::auto_ptr<Base> r(create_derived_ptr()); - // CHECK: std::unique_ptr<Base> r(create_derived_ptr()); -} - -// Test without the nested name specifiers -void f_2() { - using namespace std; - - auto_ptr<int> a; - // CHECK: unique_ptr<int> a; -} - -// Test using declaration -void f_3() { - using std::auto_ptr; - // CHECK: using std::unique_ptr; - - auto_ptr<int> a; - // CHECK: unique_ptr<int> a; -} - -// Test messing-up with macros -void f_4() { -#define MACRO_1 <char> - std::auto_ptr MACRO_1 p(new char()); -// CHECK: std::unique_ptr MACRO_1 p(new char()); -#define MACRO_2 auto_ptr - std::MACRO_2<int> q; -// CHECK: #define MACRO_2 unique_ptr -#define MACRO_3(Type) std::auto_ptr<Type> - MACRO_3(float)r(new float()); -// CHECK: #define MACRO_3(Type) std::unique_ptr<Type> -#define MACRO_4 std::auto_ptr - using MACRO_4; -// CHECK: #define MACRO_4 std::unique_ptr -#undef MACRO_1 -#undef MACRO_2 -#undef MACRO_3 -#undef MACRO_4 -} - -// Test function return values (definition) -std::auto_ptr<char> f_5() -// CHECK: std::unique_ptr<char> f_5() -{ - // Test constructor - return std::auto_ptr<char>(new char()); - // CHECK: return std::unique_ptr<char>(new char()); -} - -// Test that non-std auto_ptr aren't replaced -void f_8() { - ns_2::auto_ptr<char> a; - // CHECK: ns_2::auto_ptr<char> a; - using namespace ns_2; - auto_ptr<int> b; - // CHECK: auto_ptr<int> b; -} - -namespace std { -template <typename T> using aaaaaaaa = auto_ptr<T>; -} -// We want to avoid replacing 'aaaaaaaa' by unique_ptr here. It's better to -// change the type alias directly. -// XXX: maybe another test will be more relevant to test this potential error. -std::aaaaaaaa<int> d; -// CHECK: std::aaaaaaaa<int> d; |

