--
Prepare to remove CONST_CAST2 macro from gcc/system.h
gcc/ChangeLog:
* collect2.cc: Migrate from CONST_CAST2() macro to
const_cast<>() C++ expression.
* config/sparc/driver-sparc.cc: Likewise.
* gcc-ar.cc: Likewise.
* gcc.cc: Likewise.
* toplev.c: Likewise.
* tree-nested.cc: Likewise.
Signed-off-by: Torbjörn SVENSSON <[email protected]>
---
gcc/collect2.cc | 33 +++++++++++++++-----------------
gcc/config/sparc/driver-sparc.cc | 5 ++---
gcc/gcc-ar.cc | 5 ++---
gcc/gcc.cc | 2 +-
gcc/toplev.cc | 3 +--
gcc/tree-nested.cc | 2 +-
6 files changed, 22 insertions(+), 28 deletions(-)
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index 228f2006d57..09ae31dcfce 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -579,7 +579,7 @@ static void
maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
const char **object, bool force)
{
- const char **object_file = CONST_CAST2 (const char **, char **, object_lst);
+ const char **object_file = const_cast<const char **> (object_lst);
int num_lto_c_args = 1; /* Allow space for the terminating NULL. */
@@ -623,7 +623,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst,
objects removed. */
lto_c_argv = (char **) xcalloc (num_lto_c_args, sizeof (char *));
- lto_c_ptr = CONST_CAST2 (const char **, char **, lto_c_argv);
+ lto_c_ptr = const_cast<const char **> (lto_c_argv);
*lto_c_ptr++ = lto_wrapper;
@@ -921,11 +921,11 @@ main (int argc, char **argv)
set first, in case a diagnostic is issued. */
ld1_argv = XCNEWVEC (char *, argc + 4);
- ld1 = CONST_CAST2 (const char **, char **, ld1_argv);
+ ld1 = const_cast<const char **> (ld1_argv);
ld2_argv = XCNEWVEC (char *, argc + 11);
- ld2 = CONST_CAST2 (const char **, char **, ld2_argv);
+ ld2 = const_cast<const char **> (ld2_argv);
object_lst = XCNEWVEC (char *, argc);
- object = CONST_CAST2 (const char **, char **, object_lst);
+ object = const_cast<const char **> (object_lst);
#ifdef DEBUG
debug = true;
@@ -1045,7 +1045,7 @@ main (int argc, char **argv)
num_c_args += 8;
c_argv = XCNEWVEC (char *, num_c_args);
- c_ptr = CONST_CAST2 (const char **, char **, c_argv);
+ c_ptr = const_cast<const char **> (c_argv);
if (argc < 2)
fatal_error (input_location, "no arguments");
@@ -1348,13 +1348,12 @@ main (int argc, char **argv)
if (add_nbr >= add_max)
{
int pos =
- object - CONST_CAST2 (const char **, char **,
- object_lst);
+ object - const_cast<const char **> (object_lst);
add_max = (add_max == 0) ? 16 : add_max * 2;
object_lst = XRESIZEVEC (char *, object_lst,
object_nbr + add_max);
- object = CONST_CAST2 (const char **, char **,
- object_lst) + pos;
+ object =
+ const_cast<const char **> (object_lst) + pos;
object_nbr += add_max;
}
*object++ = xstrdup (buf);
@@ -1518,8 +1517,7 @@ main (int argc, char **argv)
would otherwise reference them all, hence drag all the corresponding
objects even if nothing else is referenced. */
{
- const char **export_object_lst
- = CONST_CAST2 (const char **, char **, object_lst);
+ const char **export_object_lst = const_cast<const char **> (object_lst);
struct id *list = libs.first;
@@ -1709,8 +1707,8 @@ main (int argc, char **argv)
if (strip_flag)
{
char **real_strip_argv = XCNEWVEC (char *, 3);
- const char ** strip_argv = CONST_CAST2 (const char **, char **,
- real_strip_argv);
+ const char ** strip_argv =
+ const_cast<const char **> (real_strip_argv);
strip_argv[0] = strip_file_name;
strip_argv[1] = output_file;
@@ -2343,7 +2341,7 @@ scan_prog_file (const char *prog_name, scanpass
which_pass,
void (*quit_handler) (int);
#endif
char *real_nm_argv[4];
- const char **nm_argv = CONST_CAST2 (const char **, char**, real_nm_argv);
+ const char **nm_argv = const_cast<const char **>(real_nm_argv);
int argc = 0;
struct pex_obj *pex;
const char *errmsg;
@@ -2527,7 +2525,7 @@ scan_libraries (const char *prog_name)
void (*quit_handler) (int);
#endif
char *real_ldd_argv[4];
- const char **ldd_argv = CONST_CAST2 (const char **, char **, real_ldd_argv);
+ const char **ldd_argv = const_cast<const char **>(real_ldd_argv);
int argc = 0;
struct pex_obj *pex;
const char *errmsg;
@@ -3029,8 +3027,7 @@ do_dsymutil (const char *output_file) {
const char *dsymutil = 0;
struct pex_obj *pex;
char **real_argv = XCNEWVEC (char *, verbose ? 4 : 3);
- const char ** argv = CONST_CAST2 (const char **, char **,
- real_argv);
+ const char ** argv = const_cast<const char **>(real_argv);
/* For cross-builds search the PATH using target-qualified name if we
have not already found a suitable dsymutil. In practice, all modern
versions of dsymutil handle all supported archs, however the approach
diff --git a/gcc/config/sparc/driver-sparc.cc b/gcc/config/sparc/driver-sparc.cc
index d22d36679c6..993dc020bea 100644
--- a/gcc/config/sparc/driver-sparc.cc
+++ b/gcc/config/sparc/driver-sparc.cc
@@ -127,13 +127,12 @@ host_detect_local_cpu (int argc, const char **argv)
kc = kstat_open ();
if (kc != NULL)
{
- ksp = kstat_lookup (kc, CONST_CAST2 (char *, const char *, "cpu_info"),
- -1, NULL);
+ ksp = kstat_lookup (kc, const_cast<char *> ("cpu_info"), -1, NULL);
if (ksp != NULL
&& kstat_read (kc, ksp, NULL) != -1
&& ksp->ks_type == KSTAT_TYPE_NAMED)
brand = (kstat_named_t *)
- kstat_data_lookup (ksp, CONST_CAST2 (char *, const char *, "brand"));
+ kstat_data_lookup (ksp, const_cast<char *> ("brand"));
if (brand != NULL && brand->data_type == KSTAT_DATA_STRING)
buf = KSTAT_NAMED_STR_PTR (brand);
}
diff --git a/gcc/gcc-ar.cc b/gcc/gcc-ar.cc
index c173ee067e1..755dbb88914 100644
--- a/gcc/gcc-ar.cc
+++ b/gcc/gcc-ar.cc
@@ -249,8 +249,7 @@ main (int ac, char **av)
fprintf (stderr, "Cannot open temporary file %s\n", rsp_file);
exit (1);
}
- status = writeargv (
- CONST_CAST2 (char * const *, const char **, nargv) + 1, f);
+ status = writeargv (const_cast<char * const *> (nargv) + 1, f);
if (status)
{
fprintf (stderr, "Cannot write to temporary file %s\n", rsp_file);
@@ -273,7 +272,7 @@ main (int ac, char **av)
/* ??? the const is misplaced in pex_one's argv? */
err_msg = pex_one (PEX_LAST|PEX_SEARCH,
exe_name,
- CONST_CAST2 (char * const *, const char **, nargv),
+ const_cast<char * const *> (nargv),
concat ("gcc-", exe_name, NULL),
NULL,NULL, &status, &err);
if (err_msg)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 6b6f6f87c52..f906198359d 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -7891,7 +7891,7 @@ run_attempt (const char **new_argv, const char *out_temp,
fatal_error (input_location, "%<pex_init%> failed: %m");
errmsg = pex_run (pex, pex_flags, new_argv[0],
- CONST_CAST2 (char *const *, const char **, &new_argv[1]),
+ const_cast<char *const *> (&new_argv[1]),
out_temp, err_temp, &err);
if (errmsg != NULL)
{
diff --git a/gcc/toplev.cc b/gcc/toplev.cc
index 9c93eb8ce1d..682459220a2 100644
--- a/gcc/toplev.cc
+++ b/gcc/toplev.cc
@@ -2328,8 +2328,7 @@ toplev::main (int argc, char **argv)
/* Convert the options to an array. */
decode_cmdline_options_to_array_default_mask (argc,
- CONST_CAST2 (const char **,
- char **, argv),
+ const_cast<const char **>
(argv),
&save_decoded_options,
&save_decoded_options_count);
diff --git a/gcc/tree-nested.cc b/gcc/tree-nested.cc
index 090d1b5264a..cdccc51d33e 100644
--- a/gcc/tree-nested.cc
+++ b/gcc/tree-nested.cc
@@ -3397,7 +3397,7 @@ fixup_vla_decls (tree block)
bool
fold_mem_refs (tree *const &e, void *data ATTRIBUTE_UNUSED)
{
- tree *ref_p = CONST_CAST2 (tree *, const tree *, (const tree *)e);
+ tree *ref_p = const_cast<tree *> (e);
*ref_p = fold (*ref_p);
return true;
}