aboutsummaryrefslogtreecommitdiff
path: root/gcc/collect2.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2009-06-01 16:35:01 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2009-06-01 16:35:01 +0000
commit67165eb379fa57c009beb29b180cd630eacbac8e (patch)
tree025683978bbcbc05c466d6f225a46ab0f8cd980d /gcc/collect2.c
parente74fe492f19c8a2bdf1077af1583c74a5ecd7c98 (diff)
downloadgcc-67165eb379fa57c009beb29b180cd630eacbac8e.zip
gcc-67165eb379fa57c009beb29b180cd630eacbac8e.tar.gz
gcc-67165eb379fa57c009beb29b180cd630eacbac8e.tar.bz2
attribs.c (register_attribute): Use CONST_CAST.
./: * attribs.c (register_attribute): Use CONST_CAST. * collect2.c (main): Use CONST_CAST2. (scan_prog_file): Likewise. * gcc.c (process_command, main): Likewise. * toplev.c (toplev_main): Likewise. * c-typeck.c (handle_warn_cast_qual): New static function, partially broken out of build_c_cast. (build_c_cast): Call handle_warn_cast_qual. * doc/invoke.texi (Warning Options): Document new effect of -Wcast-qual. ./java: * jcf-io.c (find_class): Use CONST_CAST. ./testsuite: * gcc.dg/cast-qual-3.c: New testcase. * g++.dg/warn/Wcast-qual2.C: New testcase. From-SVN: r148053
Diffstat (limited to 'gcc/collect2.c')
-rw-r--r--gcc/collect2.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c
index 277ddd6..d15a81a 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -857,9 +857,12 @@ main (int argc, char **argv)
/* Do not invoke xcalloc before this point, since locale needs to be
set first, in case a diagnostic is issued. */
- ld1 = (const char **)(ld1_argv = XCNEWVEC (char *, argc+4));
- ld2 = (const char **)(ld2_argv = XCNEWVEC (char *, argc+11));
- object = (const char **)(object_lst = XCNEWVEC (char *, argc));
+ ld1_argv = XCNEWVEC (char *, argc + 4);
+ ld1 = CONST_CAST2 (const char **, char **, ld1_argv);
+ ld2_argv = XCNEWVEC (char *, argc + 11);
+ ld2 = CONST_CAST2 (const char **, char **, ld2_argv);
+ object_lst = XCNEWVEC (char *, argc);
+ object = CONST_CAST2 (const char **, char **, object_lst);
#ifdef DEBUG
debug = 1;
@@ -904,7 +907,8 @@ main (int argc, char **argv)
-fno-exceptions -w */
num_c_args += 5;
- c_ptr = (const char **) (c_argv = XCNEWVEC (char *, num_c_args));
+ c_argv = XCNEWVEC (char *, num_c_args);
+ c_ptr = CONST_CAST2 (const char **, char **, c_argv);
if (argc < 2)
fatal ("no arguments");
@@ -1406,7 +1410,8 @@ main (int argc, char **argv)
if (strip_flag)
{
char **real_strip_argv = XCNEWVEC (char *, 3);
- const char ** strip_argv = (const char **) real_strip_argv;
+ const char ** strip_argv = CONST_CAST2 (const char **, char **,
+ real_strip_argv);
strip_argv[0] = strip_file_name;
strip_argv[1] = output_file;
@@ -2090,7 +2095,7 @@ scan_prog_file (const char *prog_name, enum pass which_pass)
void (*quit_handler) (int);
#endif
char *real_nm_argv[4];
- const char **nm_argv = (const char **) real_nm_argv;
+ const char **nm_argv = CONST_CAST2 (const char **, char**, real_nm_argv);
int argc = 0;
struct pex_obj *pex;
const char *errmsg;