gcc/ChangeLog:
PR middle-end/123892
* attribs.cc: Replace CONST_CAST with const_cast<>.
* builtins.cc: Likewise.
* collect2.cc: Likewise.
* config/bpf/core-builtins.cc: Likewise.
* config/gcn/mkoffload.cc: Likewise.
* config/nvptx/mkoffload.cc: Likewise.
* config/nvptx/nvptx.cc: Likewise.
* ctfc.cc: Likewise.
* dumpfile.cc: Likewise.
* gcc.cc: Likewise.
* gcov.cc: Likewise.
* gengtype-parse.cc: Likewise.
* gengtype-state.cc: Likewise.
* gengtype.cc: Likewise.
* genoutput.cc: Likewise.
* ggc-page.cc: Likewise.
* godump.cc: Likewise.
* lto-section-in.cc: Likewise.
* lto-wrapper.cc: Likewise.
* omp-offload.cc: Likewise.
* passes.cc: Likewise.
* plugin.cc: Likewise.
* prefix.cc: Likewise.
* pretty-print.cc: Likewise.
* selftest.cc: Likewise.
* statistics.cc: Likewise.
* stringpool.cc: Likewise.
* tree.h: Likewise.
* tree-profile.cc: Likewise.
* vec.h: Likewise.
* system.h (CONST_CAST2): Remove.
(CONST_CAST): Likewise.
* tsystem.h (CONST_CAST2): Remove.
(CONST_CAST): Likewise.
gcc/c-family/ChangeLog:
PR middle-end/123892
* c-common.cc: Replace CONST_CAST with const_cast<>.
* c-lex.cc: Likewise.
gcc/c/ChangeLog:
PR middle-end/123892
* c-decl.cc: Replace CONST_CAST with const_cast<>.
* c-parser.cc: Likewise.
gcc/cp/ChangeLog:
PR middle-end/123892
* call.cc: Replace CONST_CAST with const_cast<>.
* parser.cc: Likewise.
gcc/d/ChangeLog:
PR middle-end/123892
* d-builtins.cc: Replace CONST_CAST with const_cast<>.
* d-incpath.cc: Likewise.
* d-lang.cc: Likewise.
* d-spec.cc: Likewise.
* decl.cc: Likewise.
gcc/fortran/ChangeLog:
PR middle-end/123892
* gfortran.h: Replace CONST_CAST with const_cast<>.
* module.cc: Likewise.
* openmp.cc: Likewise.
* options.cc: Likewise.
* parse.cc: Likewise.
* scanner.cc: Likewise.
* st.cc: Likewise.
* trans-intrinsic.cc: Likewise.
gcc/lto/ChangeLog:
PR middle-end/123892
* lto-common.cc: Replace CONST_CAST with const_cast<>.
* lto.cc: Likewise.
Signed-off-by: Torbjörn SVENSSON <[email protected]>
---
gcc/attribs.cc | 2 +-
gcc/builtins.cc | 10 ++++----
gcc/c-family/c-common.cc | 2 +-
gcc/c-family/c-lex.cc | 6 ++---
gcc/c/c-decl.cc | 2 +-
gcc/c/c-parser.cc | 2 +-
gcc/collect2.cc | 2 +-
gcc/config/bpf/core-builtins.cc | 4 +--
gcc/config/gcn/mkoffload.cc | 13 ++++++----
gcc/config/nvptx/mkoffload.cc | 6 ++---
gcc/config/nvptx/nvptx.cc | 2 +-
gcc/cp/call.cc | 2 +-
gcc/cp/parser.cc | 2 +-
gcc/ctfc.cc | 6 ++---
gcc/d/d-builtins.cc | 2 +-
gcc/d/d-incpath.cc | 4 +--
gcc/d/d-lang.cc | 4 +--
gcc/d/d-spec.cc | 4 +--
gcc/d/decl.cc | 4 +--
gcc/dumpfile.cc | 8 +++---
gcc/fortran/gfortran.h | 7 +++++-
gcc/fortran/module.cc | 14 +++++------
gcc/fortran/openmp.cc | 2 +-
gcc/fortran/options.cc | 2 +-
gcc/fortran/parse.cc | 2 +-
gcc/fortran/scanner.cc | 4 +--
gcc/fortran/st.cc | 2 +-
gcc/fortran/trans-intrinsic.cc | 2 +-
gcc/gcc.cc | 36 +++++++++++++--------------
gcc/gcov.cc | 2 +-
gcc/gengtype-parse.cc | 4 +--
gcc/gengtype-state.cc | 2 +-
gcc/gengtype.cc | 28 ++++++++++-----------
gcc/genoutput.cc | 2 +-
gcc/ggc-page.cc | 2 +-
gcc/godump.cc | 12 ++++-----
gcc/lto-section-in.cc | 6 ++---
gcc/lto-wrapper.cc | 8 +++---
gcc/lto/lto-common.cc | 6 ++---
gcc/lto/lto.cc | 2 +-
gcc/omp-offload.cc | 2 +-
gcc/passes.cc | 4 +--
gcc/plugin.cc | 2 +-
gcc/prefix.cc | 2 +-
gcc/pretty-print.cc | 2 +-
gcc/selftest.cc | 2 +-
gcc/statistics.cc | 2 +-
gcc/stringpool.cc | 4 +--
gcc/system.h | 43 ---------------------------------
gcc/tree-profile.cc | 12 ++++-----
gcc/tree.h | 8 +++---
gcc/tsystem.h | 3 ---
gcc/vec.h | 2 +-
53 files changed, 139 insertions(+), 181 deletions(-)
diff --git a/gcc/attribs.cc b/gcc/attribs.cc
index 097efb7a33b..4c7b1b5fcdd 100644
--- a/gcc/attribs.cc
+++ b/gcc/attribs.cc
@@ -371,7 +371,7 @@ register_scoped_attribute (const struct attribute_spec
*attr,
->find_slot_with_hash (&str, substring_hash (str.str, str.length),
INSERT);
gcc_assert (!*slot || attr->name[0] == '*');
- *slot = CONST_CAST (struct attribute_spec *, attr);
+ *slot = const_cast<struct attribute_spec *> (attr);
}
/* Return the spec for the scoped attribute with namespace NS and
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 28454c53777..692e20088c2 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -3788,12 +3788,12 @@ expand_builtin_memory_copy_args (tree dest, tree src,
tree len,
&& CONST_INT_P (len_rtx)
&& (unsigned HOST_WIDE_INT) INTVAL (len_rtx) <= nbytes
&& can_store_by_pieces (INTVAL (len_rtx), builtin_memcpy_read_str,
- CONST_CAST (char *, rep),
+ const_cast<char *> (rep),
dest_align, false))
{
dest_mem = store_by_pieces (dest_mem, INTVAL (len_rtx),
builtin_memcpy_read_str,
- CONST_CAST (char *, rep),
+ const_cast<char *> (rep),
dest_align, false, retmode);
dest_mem = force_operand (XEXP (dest_mem, 0), target);
dest_mem = convert_memory_address (ptr_mode, dest_mem);
@@ -4142,14 +4142,14 @@ expand_builtin_strncpy (tree exp, rtx target)
if (!p || dest_align == 0 || !tree_fits_uhwi_p (len)
|| !can_store_by_pieces (tree_to_uhwi (len),
builtin_strncpy_read_str,
- CONST_CAST (char *, p),
+ const_cast<char *> (p),
dest_align, false))
return NULL_RTX;
dest_mem = get_memory_rtx (dest, len);
store_by_pieces (dest_mem, tree_to_uhwi (len),
builtin_strncpy_read_str,
- CONST_CAST (char *, p), dest_align, false,
+ const_cast<char *> (p), dest_align, false,
RETURN_BEGIN);
dest_mem = force_operand (XEXP (dest_mem, 0), target);
dest_mem = convert_memory_address (ptr_mode, dest_mem);
@@ -4927,7 +4927,7 @@ expand_builtin_memcmp (tree exp, rtx target, bool
result_eq)
result = emit_block_cmp_hints (arg1_rtx, arg2_rtx, len_rtx,
TREE_TYPE (len), target,
result_eq, constfn,
- CONST_CAST (char *, rep),
+ const_cast<char *> (rep),
tree_ctz (len));
if (result)
diff --git a/gcc/c-family/c-common.cc b/gcc/c-family/c-common.cc
index 7f891e1ef49..22d51162d9b 100644
--- a/gcc/c-family/c-common.cc
+++ b/gcc/c-family/c-common.cc
@@ -853,7 +853,7 @@ fix_string_type (tree value)
{
error ("size of string literal is too large");
length = tree_to_shwi (TYPE_MAX_VALUE (ssizetype)) / charsz * charsz;
- char *str = CONST_CAST (char *, TREE_STRING_POINTER (value));
+ char *str = const_cast<char *> (TREE_STRING_POINTER (value));
memset (str + length, '\0',
MIN (TREE_STRING_LENGTH (value) - length, charsz));
TREE_STRING_LENGTH (value) = length;
diff --git a/gcc/c-family/c-lex.cc b/gcc/c-family/c-lex.cc
index 4c0354e63a9..1750fbc3d06 100644
--- a/gcc/c-family/c-lex.cc
+++ b/gcc/c-family/c-lex.cc
@@ -174,7 +174,7 @@ cb_ident (cpp_reader * ARG_UNUSED (pfile),
if (cpp_interpret_string (pfile, str, 1, &cstr, CPP_STRING))
{
targetm.asm_out.output_ident ((const char *) cstr.text);
- free (CONST_CAST (unsigned char *, cstr.text));
+ free (const_cast<unsigned char *> (cstr.text));
}
}
}
@@ -633,7 +633,7 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned
char *cpp_flags,
(const char *) tok->val.str.text);
TREE_TYPE (num_string) = char_array_type_node;
num_string = fix_string_type (num_string);
- str = CONST_CAST (char *, TREE_STRING_POINTER (num_string));
+ str = const_cast<char *> (TREE_STRING_POINTER (num_string));
str[len] = '\0';
literal = build_userdef_literal (suffix_id, *value, overflow,
num_string);
@@ -1700,7 +1700,7 @@ lex_string (const cpp_token *tok, tree *valp, bool
objc_string, bool translate)
(parse_in, strs, concats + 1, &istr, type))
{
value = build_string (istr.len, (const char *) istr.text);
- free (CONST_CAST (unsigned char *, istr.text));
+ free (const_cast<unsigned char *> (istr.text));
if (concats)
{
gcc_assert (locs);
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
index 7dddc23b5e1..1bd2c2a52ec 100644
--- a/gcc/c/c-decl.cc
+++ b/gcc/c/c-decl.cc
@@ -5015,7 +5015,7 @@ c_make_fname_decl (location_t loc, tree id, int type_dep)
DECL_ARTIFICIAL (decl) = 1;
init = build_string (length + 1, name);
- free (CONST_CAST (char *, name));
+ free (const_cast<char *> (name));
TREE_TYPE (init) = type;
DECL_INITIAL (decl) = init;
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 5ab3d84ea80..9816a9425ce 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -9893,7 +9893,7 @@ c_parser_string_literal (c_parser *parser, bool
translate, bool wide_ok)
(parse_in, strs, count, &istr, type)))
{
value = build_string (istr.len, (const char *) istr.text);
- free (CONST_CAST (unsigned char *, istr.text));
+ free (const_cast<unsigned char *> (istr.text));
if (count > 1)
{
location_t *locs = (location_t *) obstack_finish (&loc_ob);
diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index cebdb488781..4353be6e3e7 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -2760,7 +2760,7 @@ scan_prog_file (const char *prog_name, scanpass
which_pass,
non-const char * filename parameter, even though it will not
modify that string. So we must cast away const-ness here,
using CONST_CAST to prevent complaints from -Wcast-qual. */
- if ((ldptr = ldopen (CONST_CAST (char *, prog_name), ldptr)) != NULL)
+ if ((ldptr = ldopen (const_cast<char *> (prog_name), ldptr)) != NULL)
{
if (! MY_ISCOFF (HEADER (ldptr).f_magic))
{
diff --git a/gcc/config/bpf/core-builtins.cc b/gcc/config/bpf/core-builtins.cc
index 9eca8a7a55f..d366b7c06a4 100644
--- a/gcc/config/bpf/core-builtins.cc
+++ b/gcc/config/bpf/core-builtins.cc
@@ -799,7 +799,7 @@ process_field_expr (struct cr_builtins *data)
for (int i = 0; i < nr_accessors; i++)
n += snprintf (str + n, sizeof (str) - n,
i == 0 ? "%u" : ":%u", accessors[i]);
- ret.str = CONST_CAST (char *, ggc_strdup (str));
+ ret.str = const_cast<char *> (ggc_strdup (str));
}
else
gcc_unreachable ();
@@ -916,7 +916,7 @@ process_enum_value (struct cr_builtins *data)
in 6 chars. */
char tmp[6];
sprintf (tmp, "%u", index);
- ret.str = CONST_CAST (char *, ggc_strdup(tmp));
+ ret.str = const_cast<char *> (ggc_strdup (tmp));
return ret;
}
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc
index 2bad9b4e2d3..71e11f0f307 100644
--- a/gcc/config/gcn/mkoffload.cc
+++ b/gcc/config/gcn/mkoffload.cc
@@ -182,7 +182,7 @@ xputenv (const char *string)
{
if (verbose)
fprintf (stderr, "%s\n", string);
- putenv (CONST_CAST (char *, string));
+ putenv (const_cast<char *> (string));
}
/* Parse STR, saving found tokens into PVALUES and return their number.
@@ -839,7 +839,7 @@ compile_native (const char *infile, const char *outfile,
const char *compiler,
obstack_ptr_grow (&argv_obstack, NULL);
const char **new_argv = XOBFINISH (&argv_obstack, const char **);
- fork_execute (new_argv[0], CONST_CAST (char **, new_argv), true,
+ fork_execute (new_argv[0], const_cast<char **> (new_argv), true,
".gccnative_args");
obstack_free (&argv_obstack, NULL);
}
@@ -1366,8 +1366,10 @@ main (int argc, char **argv)
obstack_ptr_grow (&files_to_cleanup, omp_requires_file);
/* Run the compiler pass. */
- xputenv (concat ("GCC_OFFLOAD_OMP_REQUIRES_FILE=", omp_requires_file,
NULL));
- fork_execute (cc_argv[0], CONST_CAST (char **, cc_argv), true,
".gcc_args");
+ xputenv (concat ("GCC_OFFLOAD_OMP_REQUIRES_FILE=", omp_requires_file,
+ NULL));
+ fork_execute (cc_argv[0], const_cast<char **> (cc_argv), true,
+ ".gcc_args");
obstack_free (&cc_argv_obstack, NULL);
unsetenv("GCC_OFFLOAD_OMP_REQUIRES_FILE");
@@ -1395,7 +1397,8 @@ main (int argc, char **argv)
fclose (out);
/* Run the assemble/link pass. */
- fork_execute (ld_argv[0], CONST_CAST (char **, ld_argv), true,
".ld_args");
+ fork_execute (ld_argv[0], const_cast<char **> (ld_argv), true,
+ ".ld_args");
obstack_free (&ld_argv_obstack, NULL);
process_obj (gcn_o_name, cfile, omp_requires);
diff --git a/gcc/config/nvptx/mkoffload.cc b/gcc/config/nvptx/mkoffload.cc
index 3d61339e875..6a2a3bc939b 100644
--- a/gcc/config/nvptx/mkoffload.cc
+++ b/gcc/config/nvptx/mkoffload.cc
@@ -104,7 +104,7 @@ xputenv (const char *string)
{
if (verbose)
fprintf (stderr, "%s\n", string);
- putenv (CONST_CAST (char *, string));
+ putenv (const_cast<char *> (string));
}
@@ -625,7 +625,7 @@ compile_native (const char *infile, const char *outfile,
const char *compiler,
obstack_ptr_grow (&argv_obstack, NULL);
const char **new_argv = XOBFINISH (&argv_obstack, const char **);
- fork_execute (new_argv[0], CONST_CAST (char **, new_argv), true,
+ fork_execute (new_argv[0], const_cast<char **> (new_argv), true,
".gccnative_args");
obstack_free (&argv_obstack, NULL);
}
@@ -842,7 +842,7 @@ main (int argc, char **argv)
omp_requires_file = make_temp_file (".mkoffload.omp_requires");
xputenv (concat ("GCC_OFFLOAD_OMP_REQUIRES_FILE=", omp_requires_file,
NULL));
- fork_execute (new_argv[0], CONST_CAST (char **, new_argv), true,
+ fork_execute (new_argv[0], const_cast<char **> (new_argv), true,
".gcc_args");
obstack_free (&argv_obstack, NULL);
unsetenv("GCC_OFFLOAD_OMP_REQUIRES_FILE");
diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc
index dbe788c7bbc..4cee096cca5 100644
--- a/gcc/config/nvptx/nvptx.cc
+++ b/gcc/config/nvptx/nvptx.cc
@@ -513,7 +513,7 @@ section_for_sym (rtx sym)
static const char *
section_for_decl (const_tree decl)
{
- return section_for_sym (XEXP (DECL_RTL (CONST_CAST (tree, decl)), 0));
+ return section_for_sym (XEXP (DECL_RTL (const_cast<tree> (decl)), 0));
}
/* Check NAME for special function names and redirect them by returning a
diff --git a/gcc/cp/call.cc b/gcc/cp/call.cc
index 979343e8329..c23a615fa1a 100644
--- a/gcc/cp/call.cc
+++ b/gcc/cp/call.cc
@@ -11848,7 +11848,7 @@ name_as_c_string (tree name, tree type, bool *free_p)
else
pretty_name = identifier_to_locale (IDENTIFIER_POINTER (name));
- return CONST_CAST (char *, pretty_name);
+ return const_cast<char *> (pretty_name);
}
/* If CANDIDATES contains exactly one candidate, return it, otherwise
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index 4d988c27cb8..5f1d028de0c 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -5024,7 +5024,7 @@ cp_parser_string_literal_common (cp_parser *parser, bool
translate,
(parse_in, strs, count, &istr, type))
{
value = build_string (istr.len, (const char *)istr.text);
- free (CONST_CAST (unsigned char *, istr.text));
+ free (const_cast<unsigned char *> (istr.text));
if (count > 1)
{
location_t *locs = (location_t *)obstack_finish (&loc_ob);
diff --git a/gcc/ctfc.cc b/gcc/ctfc.cc
index 4609b3dc321..8beca20df8c 100644
--- a/gcc/ctfc.cc
+++ b/gcc/ctfc.cc
@@ -292,7 +292,7 @@ ctfc_strtable_add_str (ctf_strtable_t * str_table, const
char * name,
not add null strings, return the offset to the empty string for them. */
if ((!name || (name != NULL && !strcmp (name, ""))) && str_offset)
{
- ctf_string = CONST_CAST (char *, str_table->ctstab_estr);
+ ctf_string = const_cast<char *> (str_table->ctstab_estr);
str_offset = 0;
}
else
@@ -300,7 +300,7 @@ ctfc_strtable_add_str (ctf_strtable_t * str_table, const
char * name,
gcc_assert (name);
/* Add null-terminated strings to the string table. */
len = strlen (name) + 1;
- ctf_string = CONST_CAST (char *, ggc_strdup (name));
+ ctf_string = const_cast<char *> (ggc_strdup (name));
ctfc_strtable_append_str (str_table, ctf_string);
/* Add string to the string table. Keep number of strings updated. */
@@ -357,7 +357,7 @@ ctf_add_cuname (ctf_container_ref ctfc, const char *
filename)
}
else
/* Filename is an absolute path. */
- cuname = CONST_CAST (char *, ggc_strdup (filename));
+ cuname = const_cast<char *> (ggc_strdup (filename));
ctf_add_string (ctfc, cuname, &(ctfc->ctfc_cuname_offset));
/* Add 1 as CTF strings in the CTF string table are null-terminated
diff --git a/gcc/d/d-builtins.cc b/gcc/d/d-builtins.cc
index e35b8a34de3..ee7b5dc3ef0 100644
--- a/gcc/d/d-builtins.cc
+++ b/gcc/d/d-builtins.cc
@@ -386,7 +386,7 @@ d_eval_constant_expression (const Loc &loc, tree cst)
{
const void *string = TREE_STRING_POINTER (cst);
size_t len = TREE_STRING_LENGTH (cst) - 1;
- return StringExp::create (loc, CONST_CAST (void *, string), len);
+ return StringExp::create (loc, const_cast<void *> (string), len);
}
else if (code == VECTOR_CST)
{
diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc
index aaafc77b0a0..61565005922 100644
--- a/gcc/d/d-incpath.cc
+++ b/gcc/d/d-incpath.cc
@@ -77,7 +77,7 @@ add_globalpaths (Strings &paths)
if (target == NULL || !FileName::exists (target))
{
if (target)
- free (CONST_CAST (char *, target));
+ free (const_cast<char *> (target));
continue;
}
@@ -97,7 +97,7 @@ add_filepaths (Strings &paths)
if (!FileName::exists (target))
{
- free (CONST_CAST (char *, target));
+ free (const_cast<char *> (target));
continue;
}
diff --git a/gcc/d/d-lang.cc b/gcc/d/d-lang.cc
index eed1ee97fe9..8bd1e7c37a4 100644
--- a/gcc/d/d-lang.cc
+++ b/gcc/d/d-lang.cc
@@ -455,7 +455,7 @@ d_handle_option (size_t scode, const char *arg,
HOST_WIDE_INT value,
break;
case OPT_fdebug_:
- if (Identifier::isValidIdentifier (CONST_CAST (char *, arg)))
+ if (Identifier::isValidIdentifier (const_cast<char *> (arg)))
{
DebugCondition::addGlobalIdent (arg);
break;
@@ -700,7 +700,7 @@ d_handle_option (size_t scode, const char *arg,
HOST_WIDE_INT value,
break;
case OPT_fversion_:
- if (Identifier::isValidIdentifier (CONST_CAST (char *, arg)))
+ if (Identifier::isValidIdentifier (const_cast<char *> (arg)))
{
VersionCondition::addGlobalIdent (arg);
break;
diff --git a/gcc/d/d-spec.cc b/gcc/d/d-spec.cc
index c4600b2e9f4..2993d3475b4 100644
--- a/gcc/d/d-spec.cc
+++ b/gcc/d/d-spec.cc
@@ -162,7 +162,7 @@ lang_specific_driver (cl_decoded_option
**in_decoded_options,
break;
case OPT_defaultlib_:
- free (CONST_CAST (char *, defaultlib));
+ free (const_cast<char *> (defaultlib));
if (arg != NULL)
{
args[i] |= SKIPOPT;
@@ -171,7 +171,7 @@ lang_specific_driver (cl_decoded_option
**in_decoded_options,
break;
case OPT_debuglib_:
- free (CONST_CAST (char *, debuglib));
+ free (const_cast<char *> (debuglib));
if (arg != NULL)
{
args[i] |= SKIPOPT;
diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc
index 8e740aedc99..9954fe4f68e 100644
--- a/gcc/d/decl.cc
+++ b/gcc/d/decl.cc
@@ -2050,7 +2050,7 @@ make_thunk (FuncDeclaration *decl, int offset)
unsigned identlen = IDENTIFIER_LENGTH (target_name) + 14;
ident = XNEWVEC (const char, identlen);
- snprintf (CONST_CAST (char *, ident), identlen,
+ snprintf (const_cast<char *> (ident), identlen,
"_DTi%u%s", offset, IDENTIFIER_POINTER (target_name));
}
@@ -2060,7 +2060,7 @@ make_thunk (FuncDeclaration *decl, int offset)
d_keep (thunk);
if (decl->resolvedLinkage () != LINK::cpp)
- free (CONST_CAST (char *, ident));
+ free (const_cast<char *> (ident));
/* Thunks are connected to the definitions of the functions, so thunks are
not produced for external functions. */
diff --git a/gcc/dumpfile.cc b/gcc/dumpfile.cc
index 2541fab85ca..a309877773d 100644
--- a/gcc/dumpfile.cc
+++ b/gcc/dumpfile.cc
@@ -1733,7 +1733,7 @@ dump_enable_all (dump_kind dkind, dump_flags_t flags,
const char *filename)
dump_files[i].pstate = 1;
}
if (old_filename && filename != old_filename)
- free (CONST_CAST (char *, old_filename));
+ free (const_cast<char *> (old_filename));
}
}
@@ -1754,7 +1754,7 @@ dump_enable_all (dump_kind dkind, dump_flags_t flags,
const char *filename)
m_extra_dump_files[i].pstate = 1;
}
if (old_filename && filename != old_filename)
- free (CONST_CAST (char *, old_filename));
+ free (const_cast<char *> (old_filename));
}
}
@@ -1807,7 +1807,7 @@ gcc::dump_manager::update_dfi_for_opt_info
(dump_file_info *dfi) const
if (m_optinfo_filename)
dfi->alt_filename = xstrdup (m_optinfo_filename);
if (old_filename && m_optinfo_filename != old_filename)
- free (CONST_CAST (char *, old_filename));
+ free (const_cast<char *> (old_filename));
return true;
}
@@ -1904,7 +1904,7 @@ dump_switch_p_1 (const char *arg, struct dump_file_info
*dfi, bool doglob)
if (filename)
{
if (dfi->pfilename)
- free (CONST_CAST (char *, dfi->pfilename));
+ free (const_cast<char *> (dfi->pfilename));
dfi->pfilename = xstrdup (filename);
}
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 37b24f97fa3..dda5b6262bf 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -3571,7 +3571,12 @@ vec_push (char **&optr, size_t &osz, const char *elt)
/* {auto,}vec.safe_push () replacement. Don't ask.. */
// if (strlen (elt) < 4) return; premature optimization: eliminated by cutoff
optr = XRESIZEVEC (char *, optr, osz + 2);
- optr[osz] = CONST_CAST (char *, elt);
+ optr[osz] =
+#ifdef __cplusplus
+ const_cast<char *> (elt);
+#else
+ (__extension__ (union {const char *_q; const char *_nq;})(elt))._nq;
+#endif
optr[++osz] = NULL;
}
diff --git a/gcc/fortran/module.cc b/gcc/fortran/module.cc
index eda0bc9e299..47b1c943132 100644
--- a/gcc/fortran/module.cc
+++ b/gcc/fortran/module.cc
@@ -3936,10 +3936,9 @@ mio_expr (gfc_expr **ep)
break;
case EXPR_SUBSTRING:
- e->value.character.string
- = CONST_CAST (gfc_char_t *,
- mio_allocated_wide_string (e->value.character.string,
- e->value.character.length));
+ e->value.character.string = const_cast<gfc_char_t *>
+ (mio_allocated_wide_string (e->value.character.string,
+ e->value.character.length));
mio_ref_list (&e->ref);
break;
@@ -3976,10 +3975,9 @@ mio_expr (gfc_expr **ep)
hwi = e->value.character.length;
mio_hwi (&hwi);
e->value.character.length = hwi;
- e->value.character.string
- = CONST_CAST (gfc_char_t *,
- mio_allocated_wide_string (e->value.character.string,
-
e->value.character.length));
+ e->value.character.string = const_cast<gfc_char_t *>
+ (mio_allocated_wide_string (e->value.character.string,
+ e->value.character.length));
break;
default:
diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc
index af3cb54ad56..11876162d60 100644
--- a/gcc/fortran/openmp.cc
+++ b/gcc/fortran/openmp.cc
@@ -223,7 +223,7 @@ gfc_free_omp_clauses (gfc_omp_clauses *c)
gfc_free_expr_list (c->wait_list);
gfc_free_expr_list (c->tile_list);
gfc_free_expr_list (c->sizes_list);
- free (CONST_CAST (char *, c->critical_name));
+ free (const_cast<char *> (c->critical_name));
if (c->assume)
{
free (c->assume->absent);
diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
index 13b0ffb4538..925a1e38dcf 100644
--- a/gcc/fortran/options.cc
+++ b/gcc/fortran/options.cc
@@ -370,7 +370,7 @@ gfc_post_options (const char **pfilename)
gfc_add_include_path (".", true, true, false, false);
if (canon_source_file != gfc_source_file)
- free (CONST_CAST (char *, canon_source_file));
+ free (const_cast<char *> (canon_source_file));
/* Decide which form the file will be read in as. */
diff --git a/gcc/fortran/parse.cc b/gcc/fortran/parse.cc
index 413d0666df7..e397ea6015c 100644
--- a/gcc/fortran/parse.cc
+++ b/gcc/fortran/parse.cc
@@ -6435,7 +6435,7 @@ parse_omp_structured_block (gfc_statement omp_st, bool
workshare_stmts_only)
new_st.ext.omp_name) != 0))
gfc_error ("Name after !$omp critical and !$omp end critical does "
"not match at %C");
- free (CONST_CAST (char *, new_st.ext.omp_name));
+ free (const_cast<char *> (new_st.ext.omp_name));
new_st.ext.omp_name = NULL;
break;
case EXEC_OMP_END_SINGLE:
diff --git a/gcc/fortran/scanner.cc b/gcc/fortran/scanner.cc
index 1e18385b5bf..6bdbe5593ce 100644
--- a/gcc/fortran/scanner.cc
+++ b/gcc/fortran/scanner.cc
@@ -173,9 +173,7 @@ wide_strchr (const gfc_char_t *s, gfc_char_t c)
{
do {
if (*s == c)
- {
- return CONST_CAST(gfc_char_t *, s);
- }
+ return const_cast<gfc_char_t *> (s);
} while (*s++);
return 0;
}
diff --git a/gcc/fortran/st.cc b/gcc/fortran/st.cc
index edf52912a85..ce4fcad884f 100644
--- a/gcc/fortran/st.cc
+++ b/gcc/fortran/st.cc
@@ -295,7 +295,7 @@ gfc_free_statement (gfc_code *p)
break;
case EXEC_OMP_END_CRITICAL:
- free (CONST_CAST (char *, p->ext.omp_name));
+ free (const_cast<char *> (p->ext.omp_name));
break;
case EXEC_OMP_FLUSH:
diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc
index 722ea933249..97c8fc380c3 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -675,7 +675,7 @@ gfc_adjust_builtins (void)
for (hash_map<nofree_string_hash, int>::iterator it
= gfc_vectorized_builtins->begin ();
it != gfc_vectorized_builtins->end (); ++it)
- free (CONST_CAST (char *, (*it).first));
+ free (const_cast<char *> ((*it).first));
delete gfc_vectorized_builtins;
gfc_vectorized_builtins = NULL;
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index bc66b795df0..065f69c9d8b 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -146,7 +146,7 @@ env_manager::xput (const char *string)
m_keys.safe_push (kv);
}
- ::putenv (CONST_CAST (char *, string));
+ ::putenv (const_cast<char *> (string));
}
/* Undo any xputenv changes made since last restore.
@@ -2155,7 +2155,7 @@ set_spec (const char *name, const char *spec, bool user_p)
/* Free the old spec. */
if (old_spec && sl->alloc_p)
- free (CONST_CAST (char *, old_spec));
+ free (const_cast<char *> (old_spec));
sl->user_p = user_p;
sl->alloc_p = true;
@@ -2316,7 +2316,7 @@ close_at_file (void)
/* Copy the strings over. */
for (i = 0; i < n_args; i++)
- argv[i] = CONST_CAST (char *, at_file_argbuf[i]);
+ argv[i] = const_cast<char *> (at_file_argbuf[i]);
argv[i] = NULL;
at_file_argbuf.truncate (0);
@@ -2568,7 +2568,7 @@ read_specs (const char *filename, bool main_p, bool
user_p)
set_spec (p2, *(sl->ptr_spec), user_p);
if (sl->alloc_p)
- free (CONST_CAST (char *, *(sl->ptr_spec)));
+ free (const_cast<char *> (*(sl->ptr_spec)));
*(sl->ptr_spec) = "";
sl->alloc_p = 0;
@@ -2944,18 +2944,18 @@ for_each_path (const struct path_prefix *paths,
Don't repeat any we have already seen. */
if (multi_dir)
{
- free (CONST_CAST (char *, multi_dir));
+ free (const_cast<char *> (multi_dir));
multi_dir = NULL;
- free (CONST_CAST (char *, multi_suffix));
+ free (const_cast<char *> (multi_suffix));
multi_suffix = machine_suffix;
- free (CONST_CAST (char *, just_multi_suffix));
+ free (const_cast<char *> (just_multi_suffix));
just_multi_suffix = just_machine_suffix;
}
else
skip_multi_dir = true;
if (multi_os_dir)
{
- free (CONST_CAST (char *, multi_os_dir));
+ free (const_cast<char *> (multi_os_dir));
multi_os_dir = NULL;
}
else
@@ -2964,12 +2964,12 @@ for_each_path (const struct path_prefix *paths,
if (multi_dir)
{
- free (CONST_CAST (char *, multi_dir));
- free (CONST_CAST (char *, multi_suffix));
- free (CONST_CAST (char *, just_multi_suffix));
+ free (const_cast<char *> (multi_dir));
+ free (const_cast<char *> (multi_suffix));
+ free (const_cast<char *> (just_multi_suffix));
}
if (multi_os_dir)
- free (CONST_CAST (char *, multi_os_dir));
+ free (const_cast<char *> (multi_os_dir));
if (ret != path)
free (path);
return ret;
@@ -3454,7 +3454,7 @@ execute (void)
errmsg = pex_run (pex,
((i + 1 == n_commands ? PEX_LAST : 0)
| (string == commands[i].prog ? PEX_SEARCH : 0)),
- string, CONST_CAST (char **, commands[i].argv),
+ string, const_cast<char **> (commands[i].argv),
NULL, NULL, &err);
if (errmsg != NULL)
{
@@ -3466,7 +3466,7 @@ execute (void)
}
if (i && string != commands[i].prog)
- free (CONST_CAST (char *, string));
+ free (const_cast<char *> (string));
}
execution_count++;
@@ -3610,7 +3610,7 @@ execute (void)
}
if (commands[0].argv[0] != commands[0].prog)
- free (CONST_CAST (char *, commands[0].argv[0]));
+ free (const_cast<char *> (commands[0].argv[0]));
return ret_code;
}
@@ -7703,13 +7703,13 @@ give_switch (int switchnum, int omit_first_word)
while (length-- && !IS_DIR_SEPARATOR (arg[length]))
if (arg[length] == '.')
{
- (CONST_CAST (char *, arg))[length] = 0;
+ (const_cast<char *> (arg))[length] = 0;
dot = 1;
break;
}
do_spec_1 (arg, 1, NULL);
if (dot)
- (CONST_CAST (char *, arg))[length] = '.';
+ (const_cast<char *> (arg))[length] = '.';
do_spec_1 (suffix_subst, 1, NULL);
}
else
@@ -10148,7 +10148,7 @@ set_multilib_dir (void)
if (multilib_dir == NULL && multilib_os_dir != NULL
&& strcmp (multilib_os_dir, ".") == 0)
{
- free (CONST_CAST (char *, multilib_os_dir));
+ free (const_cast<char *> (multilib_os_dir));
multilib_os_dir = NULL;
}
else if (multilib_dir != NULL && multilib_os_dir == NULL)
diff --git a/gcc/gcov.cc b/gcc/gcov.cc
index 5bed44841c0..6256caa19e9 100644
--- a/gcc/gcov.cc
+++ b/gcc/gcov.cc
@@ -2091,7 +2091,7 @@ create_file_names (const char *file_name)
}
/* Remove the extension. */
- cptr = strrchr (CONST_CAST (char *, lbasename (name)), '.');
+ cptr = strrchr (const_cast<char *> (lbasename (name)), '.');
if (cptr)
*cptr = 0;
diff --git a/gcc/gengtype-parse.cc b/gcc/gengtype-parse.cc
index 530e4f78278..962d94390a7 100644
--- a/gcc/gengtype-parse.cc
+++ b/gcc/gengtype-parse.cc
@@ -237,9 +237,9 @@ string_seq (void)
l1 = strlen (s1);
l2 = strlen (s2);
- buf = XRESIZEVEC (char, CONST_CAST (char *, s1), l1 + l2 + 1);
+ buf = XRESIZEVEC (char, const_cast<char *> (s1), l1 + l2 + 1);
memcpy (buf + l1, s2, l2 + 1);
- XDELETE (CONST_CAST (char *, s2));
+ XDELETE (const_cast<char *> (s2));
s1 = buf;
}
return s1;
diff --git a/gcc/gengtype-state.cc b/gcc/gengtype-state.cc
index 42bc1d2b00b..4f69bae3620 100644
--- a/gcc/gengtype-state.cc
+++ b/gcc/gengtype-state.cc
@@ -52,7 +52,7 @@ type_lineloc (const_type_p ty)
case TYPE_LANG_STRUCT:
case TYPE_USER_STRUCT:
case TYPE_UNDEFINED:
- return CONST_CAST (struct fileloc*, &ty->u.s.line);
+ return const_cast<struct fileloc*> (&ty->u.s.line);
case TYPE_SCALAR:
case TYPE_STRING:
case TYPE_POINTER:
diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc
index 159d424f145..5860f9875ed 100644
--- a/gcc/gengtype.cc
+++ b/gcc/gengtype.cc
@@ -2060,8 +2060,8 @@ header_dot_h_frul (input_file* inpf, char**poutname,
static outf_p
source_dot_cc_frul (input_file* inpf, char**poutname, char**pforname)
{
- char *newbasename = CONST_CAST (char*, get_file_basename (inpf));
- char *newoutname = CONST_CAST (char*, get_file_gtfilename (inpf));
+ char *newbasename = const_cast<char*> (get_file_basename (inpf));
+ char *newoutname = const_cast<char*> (get_file_gtfilename (inpf));
DBGPRINTF ("inpf %p inpname %s original outname %s forname %s",
(void*) inpf, get_input_file_name (inpf),
*poutname, *pforname);
@@ -2529,7 +2529,7 @@ output_mangled_typename (outf_p of, const_type_p t)
oprintf (of, "%lu%s", (unsigned long) strlen (id_for_tag),
id_for_tag);
if (id_for_tag != t->u.s.tag)
- free (CONST_CAST (char *, id_for_tag));
+ free (const_cast<char *> (id_for_tag));
}
break;
case TYPE_ARRAY:
@@ -3303,7 +3303,7 @@ get_output_file_for_structure (const_type_p s)
/* The call to get_output_file_with_visibility may update fn by
caching its result inside, so we need the CONST_CAST. */
- return get_output_file_with_visibility (CONST_CAST (input_file*, fn));
+ return get_output_file_with_visibility (const_cast<input_file*> (fn));
}
@@ -3368,7 +3368,7 @@ write_marker_function_name (outf_p of, type_p s, const
char *prefix)
const char *id_for_tag = filter_type_name (s->u.s.tag);
oprintf (of, "gt_%sx_%s", prefix, id_for_tag);
if (id_for_tag != s->u.s.tag)
- free (CONST_CAST (char *, id_for_tag));
+ free (const_cast<char *> (id_for_tag));
}
else
gcc_unreachable ();
@@ -3710,7 +3710,7 @@ write_types (outf_p output_header, type_p structures,
"#define gt_%sx_%s gt_%sx_%s\n",
wtd->prefix, s->u.s.tag, wtd->prefix, t_id_for_tag);
if (t_id_for_tag != t->u.s.tag)
- free (CONST_CAST (char *, t_id_for_tag));
+ free (const_cast<char *> (t_id_for_tag));
}
else
error_at_line (&s->u.s.line,
@@ -3726,7 +3726,7 @@ write_types (outf_p output_header, type_p structures,
wtd->prefix, s_id_for_tag);
if (s_id_for_tag != s->u.s.tag)
- free (CONST_CAST (char *, s_id_for_tag));
+ free (const_cast<char *> (s_id_for_tag));
if (s->u.s.line.file == NULL)
{
@@ -4113,7 +4113,7 @@ put_mangled_filename (outf_p f, const input_file *inpf)
/* The call to get_output_file_name may indirectly update fn since
get_output_file_with_visibility caches its result inside, so we
need the CONST_CAST. */
- const char *name = get_output_file_name (CONST_CAST (input_file*, inpf));
+ const char *name = get_output_file_name (const_cast<input_file*> (inpf));
if (!f || !name)
return;
for (; *name != 0; name++)
@@ -4427,7 +4427,7 @@ write_root (outf_p f, pair_p v, type_p type, const char
*name, int has_length,
else
oprintf (f, " NULL");
if (id_for_tag != tp->u.s.tag)
- free (CONST_CAST (char *, id_for_tag));
+ free (const_cast<char *> (id_for_tag));
}
else if (has_length
&& (tp->kind == TYPE_POINTER || union_or_struct_p (tp)))
@@ -4531,7 +4531,7 @@ write_roots (pair_p variables, bool emit_pch)
for (v = variables; v; v = v->next)
{
outf_p f =
- get_output_file_with_visibility (CONST_CAST (input_file*,
+ get_output_file_with_visibility (const_cast<input_file*> (
v->line.file));
struct flist *fli;
const char *length = NULL;
@@ -4584,7 +4584,7 @@ write_roots (pair_p variables, bool emit_pch)
for (v = variables; v; v = v->next)
{
- outf_p f = get_output_file_with_visibility (CONST_CAST (input_file*,
+ outf_p f = get_output_file_with_visibility (const_cast<input_file*> (
v->line.file));
struct flist *fli;
int skip_p = 0;
@@ -4620,7 +4620,7 @@ write_roots (pair_p variables, bool emit_pch)
for (v = variables; v; v = v->next)
{
- outf_p f = get_output_file_with_visibility (CONST_CAST (input_file*,
+ outf_p f = get_output_file_with_visibility (const_cast<input_file*> (
v->line.file));
struct flist *fli;
int skip_p = 1;
@@ -4654,7 +4654,7 @@ write_roots (pair_p variables, bool emit_pch)
for (v = variables; v; v = v->next)
{
- outf_p f = get_output_file_with_visibility (CONST_CAST (input_file*,
+ outf_p f = get_output_file_with_visibility (const_cast<input_file*> (
v->line.file));
struct flist *fli;
options_p o;
@@ -4689,7 +4689,7 @@ write_roots (pair_p variables, bool emit_pch)
for (v = variables; v; v = v->next)
{
- outf_p f = get_output_file_with_visibility (CONST_CAST (input_file*,
+ outf_p f = get_output_file_with_visibility (const_cast<input_file*> (
v->line.file));
struct flist *fli;
int skip_p = 0;
diff --git a/gcc/genoutput.cc b/gcc/genoutput.cc
index a004fd7edbf..cab03964885 100644
--- a/gcc/genoutput.cc
+++ b/gcc/genoutput.cc
@@ -1302,7 +1302,7 @@ note_constraint (md_rtx_info *info)
new_cdata = XNEWVAR (class constraint_data,
sizeof (class constraint_data) + namelen);
new (new_cdata) constraint_data ();
- strcpy (CONST_CAST (char *, new_cdata->name), name);
+ strcpy (const_cast<char *> (new_cdata->name), name);
new_cdata->namelen = namelen;
new_cdata->loc = info->loc;
new_cdata->next_this_letter = *slot;
diff --git a/gcc/ggc-page.cc b/gcc/ggc-page.cc
index 99023990cbf..e3cccc9d079 100644
--- a/gcc/ggc-page.cc
+++ b/gcc/ggc-page.cc
@@ -1589,7 +1589,7 @@ gt_ggc_m_S (const void *p)
a STRING_CST. */
gcc_assert (offset == offsetof (struct tree_string, str));
p = ((const char *) p) - offset;
- gt_ggc_mx_lang_tree_node (CONST_CAST (void *, p));
+ gt_ggc_mx_lang_tree_node (const_cast<void *> (p));
return;
}
diff --git a/gcc/godump.cc b/gcc/godump.cc
index c6bb1763e7f..9fe693d9a39 100644
--- a/gcc/godump.cc
+++ b/gcc/godump.cc
@@ -465,7 +465,7 @@ go_undef (unsigned int lineno, const char *buffer)
real_debug_hooks->undef (lineno, buffer);
- mhval.name = CONST_CAST (char *, buffer);
+ mhval.name = const_cast<char *> (buffer);
mhval.value = NULL;
slot = htab_find_slot (macro_hash, &mhval, NO_INSERT);
if (slot != NULL)
@@ -1186,14 +1186,14 @@ go_output_typedef (class godump_container *container,
tree decl)
slot = htab_find_slot (container->type_hash, type, INSERT);
if (*slot != NULL)
return;
- *slot = CONST_CAST (void *, (const void *) type);
+ *slot = const_cast<void *> ((const void *) type);
if (!go_format_type (container, original_type, true, false,
NULL, false))
{
fprintf (go_dump_file, "// ");
slot = htab_find_slot (container->invalid_hash, type, INSERT);
- *slot = CONST_CAST (void *, (const void *) type);
+ *slot = const_cast<void *> ((const void *) type);
}
fprintf (go_dump_file, "type _%s ",
IDENTIFIER_POINTER (DECL_NAME (decl)));
@@ -1225,14 +1225,14 @@ go_output_typedef (class godump_container *container,
tree decl)
slot = htab_find_slot (container->type_hash, type, INSERT);
if (*slot != NULL)
return;
- *slot = CONST_CAST (void *, (const void *) type);
+ *slot = const_cast<void *> ((const void *) type);
if (!go_format_type (container, TREE_TYPE (decl), false, false, NULL,
false))
{
fprintf (go_dump_file, "// ");
slot = htab_find_slot (container->invalid_hash, type, INSERT);
- *slot = CONST_CAST (void *, (const void *) type);
+ *slot = const_cast<void *> ((const void *) type);
}
fprintf (go_dump_file, "type _%s ",
IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (decl))));
@@ -1352,7 +1352,7 @@ keyword_hash_init (class godump_container *container)
for (i = 0; i < count; i++)
{
slot = htab_find_slot (container->keyword_hash, keywords[i], INSERT);
- *slot = CONST_CAST (void *, (const void *) keywords[i]);
+ *slot = const_cast<void *> ((const void *) keywords[i]);
}
}
diff --git a/gcc/lto-section-in.cc b/gcc/lto-section-in.cc
index f23354dbc79..c57f84f02bd 100644
--- a/gcc/lto-section-in.cc
+++ b/gcc/lto-section-in.cc
@@ -225,7 +225,7 @@ lto_free_section_data (struct lto_file_decl_data *file_data,
/* The underlying data address has been extracted from the mapping header.
Free that, then free the allocated uncompression buffer. */
(free_section_f) (file_data, section_type, name, header->data, header->len);
- free (CONST_CAST (char *, real_data));
+ free (const_cast<char *> (real_data));
}
/* Free data allocated by lto_get_raw_section_data. */
@@ -321,8 +321,8 @@ renaming_slot_free (void *slot)
{
struct lto_renaming_slot *s = (struct lto_renaming_slot *) slot;
- free (CONST_CAST (void *, (const void *) s->old_name));
- free (CONST_CAST (void *, (const void *) s->new_name));
+ free (const_cast<void *> ((const void *) s->old_name));
+ free (const_cast<void *> ((const void *) s->new_name));
free ((void *) s);
}
diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc
index a15f0e259e5..c300655b1d8 100644
--- a/gcc/lto-wrapper.cc
+++ b/gcc/lto-wrapper.cc
@@ -1401,7 +1401,7 @@ make_exists (void)
int exit_status = 0;
int err = 0;
const char *errmsg
- = pex_one (PEX_SEARCH, make_args[0], CONST_CAST (char **, make_args),
+ = pex_one (PEX_SEARCH, make_args[0], const_cast<char **> (make_args),
"make", NULL, NULL, &exit_status, &err);
freeargv (make_argv);
return errmsg == NULL && exit_status == 0 && err == 0;
@@ -1929,7 +1929,7 @@ cont1:
new_argv = XOBFINISH (&argv_obstack, const char **);
argv_ptr = &new_argv[new_head_argc];
- fork_execute (new_argv[0], CONST_CAST (char **, new_argv), true,
+ fork_execute (new_argv[0], const_cast<char **> (new_argv), true,
"ltrans_args");
/* Copy the early generated debug info from the objects to temporary
@@ -2154,7 +2154,7 @@ cont:
snprintf (argsuffix,
sizeof (DUMPBASE_SUFFIX) + sizeof (".ltrans_args"),
"ltrans%u.ltrans_args", i);
- fork_execute (new_argv[0], CONST_CAST (char **, new_argv),
+ fork_execute (new_argv[0], const_cast<char **> (new_argv),
true, save_temps ? argsuffix : NULL);
if (!ltrans_cache)
maybe_unlink (input_names[i]);
@@ -2206,7 +2206,7 @@ cont:
obstack_ptr_grow (&argv_obstack, NULL);
new_argv = XOBFINISH (&argv_obstack, const char **);
- pex = collect_execute (new_argv[0], CONST_CAST (char **, new_argv),
+ pex = collect_execute (new_argv[0], const_cast<char **> (new_argv),
NULL, NULL, PEX_SEARCH, false, NULL);
do_wait (new_argv[0], pex);
freeargv (make_argv);
diff --git a/gcc/lto/lto-common.cc b/gcc/lto/lto-common.cc
index 17bbc8d8412..cc513b84ef1 100644
--- a/gcc/lto/lto-common.cc
+++ b/gcc/lto/lto-common.cc
@@ -96,7 +96,7 @@ free_with_string (void *arg)
{
struct lto_section_slot *s = (struct lto_section_slot *)arg;
- free (CONST_CAST (char *, s->name));
+ free (const_cast<char *> (s->name));
free (arg);
}
@@ -2504,7 +2504,7 @@ get_section_data (struct lto_file_decl_data *file_data,
*len = f_slot->len;
}
- free (CONST_CAST (char *, section_name));
+ free (const_cast<char *> (section_name));
return data;
}
@@ -2531,7 +2531,7 @@ free_section_data (struct lto_file_decl_data *file_data
ATTRIBUTE_UNUSED,
munmap ((caddr_t) computed_offset, computed_len);
#else
- free (CONST_CAST(char *, offset));
+ free (const_cast<char *> (offset));
#endif
}
diff --git a/gcc/lto/lto.cc b/gcc/lto/lto.cc
index 0a3032c7c00..9589c6ca5ab 100644
--- a/gcc/lto/lto.cc
+++ b/gcc/lto/lto.cc
@@ -180,7 +180,7 @@ stream_out (char *temp_filename, lto_symtab_encoder_t
encoder, int part)
streamer_dump_file = dump_begin (TDI_lto_stream_out, NULL, part);
ipa_write_optimization_summaries (encoder, part == 0);
- free (CONST_CAST (char *, file->filename));
+ free (const_cast<char *> (file->filename));
lto_set_current_out_file (NULL);
lto_obj_file_close (file);
diff --git a/gcc/omp-offload.cc b/gcc/omp-offload.cc
index 10038749333..8522644eabc 100644
--- a/gcc/omp-offload.cc
+++ b/gcc/omp-offload.cc
@@ -916,7 +916,7 @@ oacc_parse_default_dims (const char *dims)
const char *eptr;
errno = 0;
- val = strtol (pos, CONST_CAST (char **, &eptr), 10);
+ val = strtol (pos, const_cast<char **> (&eptr), 10);
if (errno || val <= 0 || (int) val != val)
goto malformed;
pos = eptr;
diff --git a/gcc/passes.cc b/gcc/passes.cc
index a7e8d4a8f18..9ec37eeb2a9 100644
--- a/gcc/passes.cc
+++ b/gcc/passes.cc
@@ -887,7 +887,7 @@ pass_manager::register_one_dump_file (opt_pass *pass)
set_pass_for_id (id, pass);
full_name = concat (prefix, pass->name, num, NULL);
register_pass_name (pass, full_name);
- free (CONST_CAST (char *, full_name));
+ free (const_cast<char *> (full_name));
}
/* Register the dump files for the pass_manager starting at PASS. */
@@ -2207,7 +2207,7 @@ release_dump_file_name (void)
{
if (dump_file_name)
{
- free (CONST_CAST (char *, dump_file_name));
+ free (const_cast<char *> (dump_file_name));
dump_file_name = NULL;
}
}
diff --git a/gcc/plugin.cc b/gcc/plugin.cc
index 7e8837c5301..436be5e0147 100644
--- a/gcc/plugin.cc
+++ b/gcc/plugin.cc
@@ -186,7 +186,7 @@ add_new_plugin (const char* plugin_name)
if (name_is_short)
{
- base_name = CONST_CAST (char*, plugin_name);
+ base_name = const_cast<char*> (plugin_name);
#if defined(__MINGW32__)
static const char plugin_ext[] = ".dll";
diff --git a/gcc/prefix.cc b/gcc/prefix.cc
index 7ee59f74fc0..82ef3f26164 100644
--- a/gcc/prefix.cc
+++ b/gcc/prefix.cc
@@ -265,7 +265,7 @@ update_path (const char *path, const char *key)
result = concat (key, &path[len], NULL);
if (free_key)
- free (CONST_CAST (char *, key));
+ free (const_cast<char *> (key));
result = translate_name (result);
}
else
diff --git a/gcc/pretty-print.cc b/gcc/pretty-print.cc
index 799fc06bd01..3cdbe46bd41 100644
--- a/gcc/pretty-print.cc
+++ b/gcc/pretty-print.cc
@@ -3055,7 +3055,7 @@ identifier_to_locale (const char *ident)
/* Repeat the whole conversion process as needed with
larger buffers so non-reversible transformations can
always be detected. */
- ICONV_CONST char *inbuf = CONST_CAST (char *, ident);
+ ICONV_CONST char *inbuf = const_cast<char *> (ident);
char *outbuf;
size_t inbytesleft = idlen;
size_t outbytesleft = ret_alloc - 1;
diff --git a/gcc/selftest.cc b/gcc/selftest.cc
index f7751174509..7f78effb0c1 100644
--- a/gcc/selftest.cc
+++ b/gcc/selftest.cc
@@ -80,7 +80,7 @@ print_diff (const location &loc, const char *val1, const char
*val2)
int exit_status = 0;
int err = 0;
pex_one (PEX_SEARCH | PEX_LAST,
- args[0], CONST_CAST (char **, args),
+ args[0], const_cast<char **> (args),
NULL, NULL, NULL, &exit_status, &err);
}
diff --git a/gcc/statistics.cc b/gcc/statistics.cc
index e7c2c8d0a3b..9b3a36e0a98 100644
--- a/gcc/statistics.cc
+++ b/gcc/statistics.cc
@@ -74,7 +74,7 @@ stats_counter_hasher::equal (const statistics_counter *c1,
inline void
stats_counter_hasher::remove (statistics_counter *v)
{
- free (CONST_CAST (char *, v->id));
+ free (const_cast<char *> (v->id));
free (v);
}
diff --git a/gcc/stringpool.cc b/gcc/stringpool.cc
index 2d1eb4e2879..630b3e7c8cf 100644
--- a/gcc/stringpool.cc
+++ b/gcc/stringpool.cc
@@ -216,14 +216,14 @@ gt_pch_p_S (void *obj ATTRIBUTE_UNUSED, void *x
ATTRIBUTE_UNUSED,
void
gt_pch_n_S (const void *x)
{
- gt_pch_note_object (CONST_CAST (void *, x), CONST_CAST (void *, x),
+ gt_pch_note_object (const_cast<void *> (x), const_cast<void *> (x),
>_pch_p_S);
}
void
gt_pch_n_S2 (const void *x, size_t string_len)
{
- gt_pch_note_object (CONST_CAST (void *, x), CONST_CAST (void *, x),
+ gt_pch_note_object (const_cast<void *> (x), const_cast<void *> (x),
>_pch_p_S, string_len);
}
diff --git a/gcc/system.h b/gcc/system.h
index faa6857690a..01fa005509a 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1152,49 +1152,6 @@ extern void fancy_abort (const char *, int, const char *)
#endif /* GCC >= 3.0 */
-/* This macro allows casting away const-ness to pass -Wcast-qual
- warnings. DO NOT USE THIS UNLESS YOU REALLY HAVE TO! It should
- only be used in certain specific cases. One valid case is where
- the C standard definitions or prototypes force you to. E.g. if you
- need to free a const object, or if you pass a const string to
- execv, et al. Another valid use would be in an allocation function
- that creates const objects that need to be initialized. In some
- cases we have non-const functions that return the argument
- (e.g. next_nonnote_insn). Rather than create const shadow
- functions, we can cast away const-ness in calling these interfaces
- if we're careful to verify that the called function does indeed not
- modify its argument and the return value is only used in a const
- context. (This can be somewhat dangerous as these assumptions can
- change after the fact). Beyond these uses, most other cases of
- using this macro should be viewed with extreme caution. */
-
-#ifdef __cplusplus
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
-#else
-#if defined(__GNUC__) && GCC_VERSION > 4000
-/* GCC 4.0.x has a bug where it may ICE on this expression,
- so does GCC 3.4.x (PR17436). */
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q;
TOTYPE _nq;})(X))._nq)
-#elif defined(__GNUC__)
-inline char *
-helper_const_non_const_cast (const char *p)
-{
- union {
- const char *const_c;
- char *c;
- } val;
- val.const_c = p;
- return val.c;
-}
-
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) \
- ((TOTYPE) helper_const_non_const_cast ((const char *) (FROMTYPE) (X)))
-#else
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)(FROMTYPE)(X))
-#endif
-#endif
-#define CONST_CAST(TYPE,X) CONST_CAST2 (TYPE, const TYPE, (X))
-
/* Activate certain diagnostics as warnings (not errors via the
-Werror flag). */
#if GCC_VERSION >= 4003
diff --git a/gcc/tree-profile.cc b/gcc/tree-profile.cc
index 885716535f1..f2f160ae742 100644
--- a/gcc/tree-profile.cc
+++ b/gcc/tree-profile.cc
@@ -1242,7 +1242,7 @@ gimple_init_gcov_profiler (void)
fn_name = concat ("__gcov_interval_profiler", fn_suffix, NULL);
tree_interval_profiler_fn = build_fn_decl (fn_name,
interval_profiler_fn_type);
- free (CONST_CAST (char *, fn_name));
+ free (const_cast<char *> (fn_name));
TREE_NOTHROW (tree_interval_profiler_fn) = 1;
DECL_ATTRIBUTES (tree_interval_profiler_fn)
= tree_cons (get_identifier ("leaf"), NULL,
@@ -1255,7 +1255,7 @@ gimple_init_gcov_profiler (void)
NULL_TREE);
fn_name = concat ("__gcov_pow2_profiler", fn_suffix, NULL);
tree_pow2_profiler_fn = build_fn_decl (fn_name, pow2_profiler_fn_type);
- free (CONST_CAST (char *, fn_name));
+ free (const_cast<char *> (fn_name));
TREE_NOTHROW (tree_pow2_profiler_fn) = 1;
DECL_ATTRIBUTES (tree_pow2_profiler_fn)
= tree_cons (get_identifier ("leaf"), NULL,
@@ -1269,7 +1269,7 @@ gimple_init_gcov_profiler (void)
fn_name = concat ("__gcov_topn_values_profiler", fn_suffix, NULL);
tree_topn_values_profiler_fn
= build_fn_decl (fn_name, topn_values_profiler_fn_type);
- free (CONST_CAST (char *, fn_name));
+ free (const_cast<char *> (fn_name));
TREE_NOTHROW (tree_topn_values_profiler_fn) = 1;
DECL_ATTRIBUTES (tree_topn_values_profiler_fn)
@@ -1287,7 +1287,7 @@ gimple_init_gcov_profiler (void)
fn_name = concat ("__gcov_indirect_call_profiler_v4", fn_suffix, NULL);
tree_indirect_call_profiler_fn
= build_fn_decl (fn_name, ic_profiler_fn_type);
- free (CONST_CAST (char *, fn_name));
+ free (const_cast<char *> (fn_name));
TREE_NOTHROW (tree_indirect_call_profiler_fn) = 1;
DECL_ATTRIBUTES (tree_indirect_call_profiler_fn)
@@ -1311,14 +1311,14 @@ gimple_init_gcov_profiler (void)
fn_name = concat ("__gcov_average_profiler", fn_suffix, NULL);
tree_average_profiler_fn = build_fn_decl (fn_name,
average_profiler_fn_type);
- free (CONST_CAST (char *, fn_name));
+ free (const_cast<char *> (fn_name));
TREE_NOTHROW (tree_average_profiler_fn) = 1;
DECL_ATTRIBUTES (tree_average_profiler_fn)
= tree_cons (get_identifier ("leaf"), NULL,
DECL_ATTRIBUTES (tree_average_profiler_fn));
fn_name = concat ("__gcov_ior_profiler", fn_suffix, NULL);
tree_ior_profiler_fn = build_fn_decl (fn_name, average_profiler_fn_type);
- free (CONST_CAST (char *, fn_name));
+ free (const_cast<char *> (fn_name));
TREE_NOTHROW (tree_ior_profiler_fn) = 1;
DECL_ATTRIBUTES (tree_ior_profiler_fn)
= tree_cons (get_identifier ("leaf"), NULL,
diff --git a/gcc/tree.h b/gcc/tree.h
index d650c85d5c5..49a443f74ed 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -4279,7 +4279,7 @@ tree_vec_elt_check (const_tree __t, int __i,
tree_check_failed (__t, __f, __l, __g, TREE_VEC, 0);
if (__i < 0 || __i >= __t->base.u.length)
tree_vec_elt_check_failed (__i, __t->base.u.length, __f, __l, __g);
- return CONST_CAST (const_tree *, &__t->vec.a[__i]);
+ return const_cast<const_tree *> (&__t->vec.a[__i]);
//return &__t->vec.a[__i];
}
@@ -4295,7 +4295,7 @@ omp_clause_elt_check (const_tree __t, int __i,
tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
if (__i < 0 || __i >= omp_clause_num_ops [__t->omp_clause.code])
omp_clause_operand_check_failed (__i, __t, __f, __l, __g);
- return CONST_CAST (const_tree *, &__t->omp_clause.ops[__i]);
+ return const_cast<const_tree *> (&__t->omp_clause.ops[__i]);
}
inline const_tree
@@ -4353,7 +4353,7 @@ tree_operand_check (const_tree __t, int __i,
const_tree __u = EXPR_CHECK (__t);
if (__i < 0 || __i >= TREE_OPERAND_LENGTH (__u))
tree_operand_check_failed (__i, __u, __f, __l, __g);
- return CONST_CAST (const_tree *, &__u->exp.operands[__i]);
+ return const_cast<const_tree *> (&__u->exp.operands[__i]);
}
inline const_tree *
@@ -4364,7 +4364,7 @@ tree_operand_check_code (const_tree __t, enum tree_code
__code, int __i,
tree_check_failed (__t, __f, __l, __g, __code, 0);
if (__i < 0 || __i >= TREE_OPERAND_LENGTH (__t))
tree_operand_check_failed (__i, __t, __f, __l, __g);
- return CONST_CAST (const_tree *, &__t->exp.operands[__i]);
+ return const_cast<const_tree *> (&__t->exp.operands[__i]);
}
#endif
diff --git a/gcc/tsystem.h b/gcc/tsystem.h
index a33c92e41c6..9a93c030622 100644
--- a/gcc/tsystem.h
+++ b/gcc/tsystem.h
@@ -136,9 +136,6 @@ extern int errno;
unreachable default case of a switch. Do not use gcc_assert(0). */
#define gcc_unreachable() (abort ())
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q;
TOTYPE _nq;})(X))._nq)
-#define CONST_CAST(TYPE,X) CONST_CAST2 (TYPE, const TYPE, (X))
-
/* Filename handling macros. */
#include "filenames.h"
diff --git a/gcc/vec.h b/gcc/vec.h
index 7265c18c60f..0d4cffd0c3a 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -985,7 +985,7 @@ vec<T, A, vl_embed>::iterate (unsigned ix, T **ptr) const
{
if (ix < m_vecpfx.m_num)
{
- *ptr = CONST_CAST (T *, &address ()[ix]);
+ *ptr = const_cast<T *> (&address ()[ix]);
return true;
}
else
--
2.43.0