summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp')
-rw-r--r--clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp b/clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp
index b16a071c01e..9d281ecdd67 100644
--- a/clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp
+++ b/clang-tools-extra/cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.cpp
@@ -48,3 +48,18 @@ ReplaceAutoPtrTransform::apply(FileOverrides &InputStates,
return 0;
}
+
+struct ReplaceAutoPtrFactory : TransformFactory {
+ Transform *createTransform(const TransformOptions &Opts) LLVM_OVERRIDE {
+ return new ReplaceAutoPtrTransform(Opts);
+ }
+};
+
+// Register the factory using this statically initialized variable.
+static TransformFactoryRegistry::Add<ReplaceAutoPtrFactory>
+X("replace-auto_ptr", "Replace std::auto_ptr (deprecated) by std::unique_ptr"
+ " (EXPERIMENTAL)");
+
+// This anchor is used to force the linker to link in the generated object file
+// and thus register the factory.
+volatile int ReplaceAutoPtrTransformAnchorSource = 0;
OpenPOWER on IntegriCloud