Fix compilation error in Clang 3.4.

According to C++ standard, the default destructor will be
deleted if one of the destructor of the base classes is
inaccessible.  In our cases, the private inheritance will
make the destructor inaccessible to the derived class.
In this commit, we are going to change the "private"
inheritance to "protected" inheritance so that this test
case can be standard compliant.

This commit is cherry-picked from libc++abi upstream
r187429, which is written by Howard Hinnant.  The original
commit message:

------------------------------------------------------------
commit 41458a0681f60e9b6778dbb799cbb5647db628eb
Author: Howard Hinnant <hhinnant apple com>
Date:   Tue Jul 30 19:00:45 2013 +0000

    tip-of-trunk clang has corrected some access checks for
    special members in a virtual inheritance hierarchy.
    Change a few private inheritances to protected.  This
    change will not impact what the test was testing.  This
    fixes PR16753.
------------------------------------------------------------

Change-Id: Ibf0a534276f7e93ea027790a560b17fef1080f84
diff --git a/sources/cxx-stl/gabi++/tests/dynamic_cast3.cpp b/sources/cxx-stl/gabi++/tests/dynamic_cast3.cpp
index a4c946b..8872257 100644
--- a/sources/cxx-stl/gabi++/tests/dynamic_cast3.cpp
+++ b/sources/cxx-stl/gabi++/tests/dynamic_cast3.cpp
@@ -1041,7 +1041,7 @@
 };
 
 struct A2
-    : private virtual A1
+    : protected virtual A1
 {
     char _[34981];
     virtual ~A2() {}
@@ -1216,7 +1216,7 @@
 };
 
 struct A2
-    : private virtual A1
+    : protected virtual A1
 {
     char _[34981];
     virtual ~A2() {}
@@ -1330,7 +1330,7 @@
 };
 
 struct A2
-    : private virtual A1
+    : protected virtual A1
 {
     char _[34981];
     virtual ~A2() {}
@@ -1387,7 +1387,7 @@
 };
 
 struct A2
-    : private virtual A1
+    : protected virtual A1
 {
     char _[34981];
     virtual ~A2() {}