[PATCH] D21396: [libcxxabi] Reorder base class initializers in libc++abi tests to prevent -Wreorder

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 15 12:32:46 PDT 2016


EricWF created this revision.
EricWF added reviewers: mclow.lists, howard.hinnant.
EricWF added a subscriber: cfe-commits.

This patch fixes -Wreorder warnings on test classes with virtual bases. Since the compiler is performing the reordering anyway this change *should* have NFC.

However the test notes that it is checking that "virtual base classes work properly". Since initialization order is clearly part of correctness I want to confirm that this wasn't an intentional mistake.



http://reviews.llvm.org/D21396

Files:
  test/catch_class_04.pass.cpp
  test/catch_ptr.pass.cpp

Index: test/catch_ptr.pass.cpp
===================================================================
--- test/catch_ptr.pass.cpp
+++ test/catch_ptr.pass.cpp
@@ -66,8 +66,8 @@
 {
     static int count;
     int id_;
-    explicit A(int id) : C1(id-1), C2(id-2), B(id+3), id_(id) {count++;}
-    A(const A& a) : C1(a.id_-1), C2(a.id_-2), B(a.id_+3), id_(a.id_) {count++;}
+    explicit A(int id) : B(id+3), C1(id-1), C2(id-2), id_(id) {count++;}
+    A(const A& a) : B(a.id_+3), C1(a.id_-1), C2(a.id_-2),  id_(a.id_) {count++;}
     ~A() {count--;}
 };
 
Index: test/catch_class_04.pass.cpp
===================================================================
--- test/catch_class_04.pass.cpp
+++ test/catch_class_04.pass.cpp
@@ -66,8 +66,8 @@
 {
     static int count;
     int id_;
-    explicit A(int id) : C1(id-1), C2(id-2), B(id+3), id_(id) {count++;}
-    A(const A& a) : C1(a.id_-1), C2(a.id_-2), B(a.id_+3), id_(a.id_) {count++;}
+    explicit A(int id) : B(id+3), C1(id-1), C2(id-2), id_(id) {count++;}
+    A(const A& a) :  B(a.id_+3), C1(a.id_-1), C2(a.id_-2), id_(a.id_) {count++;}
     ~A() {count--;}
 };
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21396.60876.patch
Type: text/x-patch
Size: 1117 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160615/f32bae79/attachment.bin>


More information about the cfe-commits mailing list