Change selttest.c to use use std::vector
authorTom Tromey <tom@tromey.com>
Fri, 23 Sep 2016 03:32:03 +0000 (21:32 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 13 Oct 2016 01:43:16 +0000 (19:43 -0600)
This patch changes selftest.c to use std::vector rather than VEC.
I think this is a small net plus.

2016-10-12  Tom Tromey  <tom@tromey.com>

* selftest.c: Include <vector>, not "vec.h".
(self_test_function_ptr): Remove.
(tests): Now a std::vector.
(register_self_test, run_self_tests): Update.

gdb/ChangeLog
gdb/selftest.c

index 2a9352a..7507648 100644 (file)
@@ -1,3 +1,10 @@
+2016-10-12  Tom Tromey  <tom@tromey.com>
+
+       * selftest.c: Include <vector>, not "vec.h".
+       (self_test_function_ptr): Remove.
+       (tests): Now a std::vector.
+       (register_self_test, run_self_tests): Update.
+
 2016-10-13  Pedro Alves  <palves@redhat.com>
            Tom Tromey  <tom@tromey.com>
 
index c63c06d..110b9e5 100644 (file)
 
 #include "defs.h"
 #include "selftest.h"
-#include "vec.h"
-
-typedef self_test_function *self_test_function_ptr;
-
-DEF_VEC_P (self_test_function_ptr);
+#include <vector>
 
 /* All the tests that have been registered.  */
 
-static VEC (self_test_function_ptr) *tests;
+static std::vector<self_test_function *> tests;
 
 /* See selftest.h.  */
 
 void
 register_self_test (self_test_function *function)
 {
-  VEC_safe_push (self_test_function_ptr, tests, function);
+  tests.push_back (function);
 }
 
 /* See selftest.h.  */
@@ -41,17 +37,15 @@ register_self_test (self_test_function *function)
 void
 run_self_tests (void)
 {
-  int i;
-  self_test_function_ptr func;
   int failed = 0;
 
-  for (i = 0; VEC_iterate (self_test_function_ptr, tests, i, func); ++i)
+  for (int i = 0; i < tests.size (); ++i)
     {
       QUIT;
 
       TRY
        {
-         (*func) ();
+         tests[i] ();
        }
       CATCH (ex, RETURN_MASK_ERROR)
        {
@@ -62,6 +56,6 @@ run_self_tests (void)
       END_CATCH
     }
 
-  printf_filtered (_("Ran %u unit tests, %d failed\n"),
-                  VEC_length (self_test_function_ptr, tests), failed);
+  printf_filtered (_("Ran %lu unit tests, %d failed\n"),
+                  (long) tests.size (), failed);
 }