libstdc++: [_GLIBCXX_DEBUG] Make constant evaluation compatible

Cleanup _Safe_iterator and _Safe_local_iterator implementations.

Use base constructor for the special _Unchecked constructor.

Remove intermediate typedefs, use directly the template parameter type and the base class.

libstdc++-v3/ChangeLog:

        * include/debug/safe_iterator.h
        (_Safe_iterator::_Iter_base, _Safe_iterator::_Safe_base): Remove.
        (_Safe_iterator(const _Safe_iterator&, _Unchecked)): Delegate to correct base classes
        constructors.
        * include/debug/safe_local_iterator.h
        (_Safe_local_iterator::_Iter_base, _Safe_local_iterator::_Safe_base): Remove.         (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): Delegate to the correct
        base classes constructors.

Tested under Linux x86_64 _GLIBCXX_DEBUG mode.

François

diff --git a/gcc/testsuite/objc.dg/gnu-api-2-class.m 
b/gcc/testsuite/objc.dg/gnu-api-2-class.m
index d11dae0e6dc..c91ac5fd4f4 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-class.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-class.m
@@ -87,7 +87,7 @@ log_2_of (unsigned int x)
   return result;
 }
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-ivar.m 
b/gcc/testsuite/objc.dg/gnu-api-2-ivar.m
index 072d2655bb8..dcd3272ef4e 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-ivar.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-ivar.m
@@ -47,7 +47,7 @@
 @end
 
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-method.m 
b/gcc/testsuite/objc.dg/gnu-api-2-method.m
index ea1da8d138f..bd8da218cd8 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-method.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-method.m
@@ -49,7 +49,7 @@
 @end
 
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-objc.m 
b/gcc/testsuite/objc.dg/gnu-api-2-objc.m
index e9ec5d7ab94..58d4ea9f1d1 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-objc.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-objc.m
@@ -68,7 +68,7 @@ log_2_of (unsigned int x)
   return result;
 }
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-objc_msg_lookup.m 
b/gcc/testsuite/objc.dg/gnu-api-2-objc_msg_lookup.m
index d417225cdfb..307dade18d5 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-objc_msg_lookup.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-objc_msg_lookup.m
@@ -40,7 +40,7 @@
 - (int) test { return 11; }
 @end
 
-int main (int argc, void **args)
+int main (int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-object.m 
b/gcc/testsuite/objc.dg/gnu-api-2-object.m
index 20c4342d267..9db012dbc27 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-object.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-object.m
@@ -56,7 +56,7 @@
 
 
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
   
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-property.m 
b/gcc/testsuite/objc.dg/gnu-api-2-property.m
index 0ef4d79f9b3..4fc8d3b0a4e 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-property.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-property.m
@@ -41,7 +41,7 @@
 @end
 
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-protocol.m 
b/gcc/testsuite/objc.dg/gnu-api-2-protocol.m
index 682adcd716e..3fc7f1cbaf0 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-protocol.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-protocol.m
@@ -51,7 +51,7 @@
 @end
 
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-resolve-method.m 
b/gcc/testsuite/objc.dg/gnu-api-2-resolve-method.m
index 6eaa3dd72a3..e2005b9911d 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-resolve-method.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-resolve-method.m
@@ -165,7 +165,7 @@ static int hitCount = 0;
 @end
 
 
-int main (int argc, void **args)
+int main (int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-api-2-sel.m 
b/gcc/testsuite/objc.dg/gnu-api-2-sel.m
index bc581bec2f7..1a721635cc6 100644
--- a/gcc/testsuite/objc.dg/gnu-api-2-sel.m
+++ b/gcc/testsuite/objc.dg/gnu-api-2-sel.m
@@ -63,7 +63,7 @@
 - (void) conflictingSelectorMethod { return; }
 @end
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   /* Functions are tested in alphabetical order.  */
 
diff --git a/gcc/testsuite/objc.dg/gnu-runtime-2.m 
b/gcc/testsuite/objc.dg/gnu-runtime-2.m
index 9903d29727c..f34320f5cc9 100644
--- a/gcc/testsuite/objc.dg/gnu-runtime-2.m
+++ b/gcc/testsuite/objc.dg/gnu-runtime-2.m
@@ -22,7 +22,7 @@
 -(unsigned int) length  { return len; }
 @end
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   if (strcmp ([@"this is a string" cString], "this is a string"))
     abort ();
diff --git a/gcc/testsuite/objc.dg/gnu-runtime-3.m 
b/gcc/testsuite/objc.dg/gnu-runtime-3.m
index d26f48cf980..6ed5d9739a6 100644
--- a/gcc/testsuite/objc.dg/gnu-runtime-3.m
+++ b/gcc/testsuite/objc.dg/gnu-runtime-3.m
@@ -7,7 +7,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   [TestsuiteObject new];
   return 0;
diff --git a/gcc/testsuite/objc.dg/pr48177.m b/gcc/testsuite/objc.dg/pr48177.m
index 0d7ff2979c4..1f9d562b51c 100644
--- a/gcc/testsuite/objc.dg/pr48177.m
+++ b/gcc/testsuite/objc.dg/pr48177.m
@@ -5,7 +5,7 @@
 #include <objc/runtime.h>
 #include <stdlib.h>
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
 #ifdef __GNU_LIBOBJC__
   /* This special test tests that, if you have a selector already
diff --git a/gcc/testsuite/objc.dg/torture/strings/string1.m 
b/gcc/testsuite/objc.dg/torture/strings/string1.m
index 455b5f1bff1..e0686330977 100644
--- a/gcc/testsuite/objc.dg/torture/strings/string1.m
+++ b/gcc/testsuite/objc.dg/torture/strings/string1.m
@@ -14,7 +14,7 @@
 #include "../../../objc-obj-c++-shared/nsconstantstring-class.h"
 #endif
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   if (strcmp ([@"this is a string" cString], "this is a string"))
     abort ();
diff --git a/gcc/testsuite/objc.dg/torture/strings/string2.m 
b/gcc/testsuite/objc.dg/torture/strings/string2.m
index 030ba602db5..51b9a546e7c 100644
--- a/gcc/testsuite/objc.dg/torture/strings/string2.m
+++ b/gcc/testsuite/objc.dg/torture/strings/string2.m
@@ -14,7 +14,7 @@
 #include "../../../objc-obj-c++-shared/nsconstantstring-class.h"
 #endif
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   if (strcmp ([@"this " @"is " @"a " @"string" cString],
               "this " "is " "a " "string"))
diff --git a/gcc/testsuite/objc.dg/torture/strings/string3.m 
b/gcc/testsuite/objc.dg/torture/strings/string3.m
index b08dfb242b3..3b0acd01e08 100644
--- a/gcc/testsuite/objc.dg/torture/strings/string3.m
+++ b/gcc/testsuite/objc.dg/torture/strings/string3.m
@@ -16,7 +16,7 @@
 
 #define STRING "this is a string"
 
-int main (int argc, void **args)
+int main (int argc, char **args)
 {
   if (strcmp ([@STRING cString], STRING))
     abort ();
diff --git a/gcc/testsuite/objc.dg/torture/strings/string4.m 
b/gcc/testsuite/objc.dg/torture/strings/string4.m
index 425ccc080ea..0e3eada58a4 100644
--- a/gcc/testsuite/objc.dg/torture/strings/string4.m
+++ b/gcc/testsuite/objc.dg/torture/strings/string4.m
@@ -14,7 +14,7 @@
 #include "../../../objc-obj-c++-shared/nsconstantstring-class.h"
 #endif
 
-int main(int argc, void **args)
+int main(int argc, char **args)
 {
   if ([@"this is a string" length] != strlen ("this is a string"))
     abort ();

Reply via email to