> Have you tried running make doxygen in the docs folder to make sure there 
are no warnings?

  I just ran Doxygen, no warnings.

  > Don't forget to update MigratorUsage.rst.

  Thanks, I didn't notice this one, usage added.


================
Comment at: cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.h:15
@@ +14,3 @@
+//===----------------------------------------------------------------------===//
+#ifndef LLVM_TOOLS_CLANG_TOOLS_EXTRA_CPP11_MIGRATE_REPLACE_AUTO_PTR_H
+#define LLVM_TOOLS_CLANG_TOOLS_EXTRA_CPP11_MIGRATE_REPLACE_AUTO_PTR_H
----------------
Edwin Vane wrote:
> Any new files we've been adding have been using the much shorter header guard 
> style of:
> 
> CPP11_MIGRATE_<filename>
> 
> I haven't got around to fixing all the other files yet (CM-82).
Fixed.

================
Comment at: cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtr.h:24
@@ +23,3 @@
+///
+/// Note that both the \c std::auto_ptr type and the transfer of ownership are
+/// transformed. The latter requires to wrap the assigned expression with an
----------------
Edwin Vane wrote:
> Perhaps an extra added note about the difference in semantics between 
> auto_ptr and unique_ptr to explain why ownership transfer requries std::move.
Done.

================
Comment at: cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtrActions.h:11
@@ +10,3 @@
+/// \file
+/// \brief This file contains the declaration(s) of the ASTMatcher callback(s)
+/// for the ReplaceAutoPtr transform.
----------------
Edwin Vane wrote:
> You can remove the `(s)`.
Done.

================
Comment at: cpp11-migrate/ReplaceAutoPtr/ReplaceAutoPtrMatchers.cpp:82
@@ +81,3 @@
+
+/// \brief Matcher that finds expressions that are candidates to be wrapped 
with
+/// \c std::move().
----------------
Edwin Vane wrote:
> For private implementations you don't need to follow doxygen style for 
> documentation. LLVM at the least requires public interfaces to be documented. 
> Private interfaces in headers can be documented if you like but stuff inside 
> source files doesn't need doxygen style.
Slightly modified.

================
Comment at: docs/ReplaceAutoPtrTransform.rst:38
@@ +37,3 @@
+  transform because declarations in headers will stay unchanged while the code
+  using them will be changed.
+
----------------
Edwin Vane wrote:
> Since you mention third party libraries below, you might indicate that such 
> libraries whose headers we're not allowed to change will also cause a problem 
> even when header transforms work properly.
I rephrased this limitation.

================
Comment at: docs/ReplaceAutoPtrTransform.rst:40
@@ +39,3 @@
+
+* Code that can't that can't be migrated, such as 3\ :sup:`rd` party libraries,
+  returning non-rvalue references to ``std::auto_ptr`` or ``const
----------------
Edwin Vane wrote:
> can't that can't.
Fixed.

================
Comment at: docs/ReplaceAutoPtrTransform.rst:41
@@ +40,3 @@
+* Code that can't that can't be migrated, such as 3\ :sup:`rd` party libraries,
+  returning non-rvalue references to ``std::auto_ptr`` or ``const
+  std::auto_ptr`` will produce wrong code. Theses patterns don't make much 
sense
----------------
Edwin Vane wrote:
> I'd just say lvalue instead of non-rvalue.
I rewrote this limitation.
My brain was a bit confused about xvalue  that's why I use the negative form 
twice, sorry about that.

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/Inputs/basic.h:4
@@ +3,3 @@
+
+#include <memory>
+
----------------
Edwin Vane wrote:
> I'd prefer you didn't include a standard header here and that you define your 
> own stub header for the purposes of the test. Otherwise this test might start 
> failing on systems due to weirdnesses in the standard headers whereas we'd 
> like our tests to test the quality of OUR code.
> 
> As you've discovered, there are different ways std::auto_ptr can be revealed 
> by the various standard libs out there so I recommend you make several stub 
> headers to test each method. We can use lit to control which header gets 
> included and just run the test multiple times.
Done!

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/Inputs/basic.h:19
@@ +18,3 @@
+// Test function parameters
+void f_6(const std::auto_ptr<int> &);
+// CHECK: void f_6(const std::unique_ptr<int> &);
----------------
Edwin Vane wrote:
> Can you add a test for passing auto_ptr by value to a func?
I added a test where the function takes the argument by value. But the tests 
testing `std::move()` are in move.cpp if that's what you wanted (and taking by 
value is tested there).

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/Inputs/basic.h:31
@@ +30,3 @@
+
+// Test template WITH instanciation
+template <typename T> struct B {
----------------
Edwin Vane wrote:
> Instantiation.
Fixed.

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/basic.cpp:19
@@ +18,3 @@
+  std :: auto_ptr < char > c(new char());
+  // CHECK: std :: unique_ptr < char > c(new char());
+
----------------
Edwin Vane wrote:
> FYI: we don't care too much about spaces. Sometimes we can't help but make 
> whitespace changes. Using libformat after transforms will help eventually.
Yeah, I wasn't too worried about this, in this case I just want to check that 
we are modifying only the "auto_ptr token", there is no need to change more.

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/basic.cpp:64
@@ +63,3 @@
+
+  // Test template WITH instanciation (instanciation)
+  B<double> o;
----------------
Edwin Vane wrote:
> typo here again.
Fixed.

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/move.cpp:33
@@ +32,3 @@
+  take_ownership_fn(wrapper_a.get_wrapped());
+  // CHECK: take_ownership_fn(std::move(wrapper_a.get_wrapped()));
+
----------------
Edwin Vane wrote:
> Could we have a test where
> 
>   std::auto_ptr<int> a = some_func_returning_auto_ptr_by_value();
Added.

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/template_fail.cpp:8
@@ +7,3 @@
+
+// Fail to modify when the template is never instanciated.
+//
----------------
Edwin Vane wrote:
> Several other transforms face this problem too but it's worth noting it in 
> the RST docs for this transform anyway. The other transforms should be 
> updated similarly one day.
Done.

================
Comment at: test/cpp11-migrate/ReplaceAutoPtr/template_fail.cpp:21
@@ +20,2 @@
+template <typename T> using aaaaaaaa = auto_ptr<T>;
+// CHECK: template <typename T> using aaaaaaaa = unique_ptr<T>;
----------------
Edwin Vane wrote:
> Log a bug so we can track it.
Done!


http://llvm-reviews.chandlerc.com/D1074
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to