summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp')
-rw-r--r--clang-tools-extra/test/cpp11-migrate/ReplaceAutoPtr/basic.cpp154
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;
OpenPOWER on IntegriCloud