mirror of git://gcc.gnu.org/git/gcc.git
invoke.texi (-Write-strings): Document that it is enabled by default.
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
* doc/invoke.texi (-Write-strings): Document that it is
enabled by
default.
* c.opt (-Wwrite-strings): Declare variable
warn_write_strings.
Clarify documentation.
* c-common.h (warn_write_strings): Remove.
* c-common.c (warn_write_strings): Likewise.
* c-opts.c (c_common_init_options): Enable -Wwrite-strings by
default for C++.
testsuite/
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
* g++.dg/warn/no-write-strings.C: New test.
* g++.dg/warn/write-strings.C: Likewise.
* g++.dg/warn/write-strings-default.C: Likewise.
From-SVN: r110907
This commit is contained in:
parent
feb0478035
commit
d539b114d4
|
|
@ -1,3 +1,14 @@
|
||||||
|
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
|
|
||||||
|
* doc/invoke.texi (-Write-strings): Document that it is enabled by
|
||||||
|
default.
|
||||||
|
* c.opt (-Wwrite-strings): Declare variable warn_write_strings.
|
||||||
|
Clarify documentation.
|
||||||
|
* c-common.h (warn_write_strings): Remove.
|
||||||
|
* c-common.c (warn_write_strings): Likewise.
|
||||||
|
* c-opts.c (c_common_init_options): Enable -Wwrite-strings by
|
||||||
|
default for C++.
|
||||||
|
|
||||||
2006-02-12 Roger Sayle <roger@eyesopen.com>
|
2006-02-12 Roger Sayle <roger@eyesopen.com>
|
||||||
|
|
||||||
PR middle-end/25724
|
PR middle-end/25724
|
||||||
|
|
|
||||||
|
|
@ -265,11 +265,6 @@ int flag_no_asm;
|
||||||
|
|
||||||
int flag_signed_bitfields = 1;
|
int flag_signed_bitfields = 1;
|
||||||
|
|
||||||
/* Nonzero means warn about deprecated conversion from string constant to
|
|
||||||
`char *'. */
|
|
||||||
|
|
||||||
int warn_write_strings;
|
|
||||||
|
|
||||||
/* Warn about #pragma directives that are not recognized. */
|
/* Warn about #pragma directives that are not recognized. */
|
||||||
|
|
||||||
int warn_unknown_pragmas; /* Tri state variable. */
|
int warn_unknown_pragmas; /* Tri state variable. */
|
||||||
|
|
|
||||||
|
|
@ -406,11 +406,6 @@ extern int flag_const_strings;
|
||||||
|
|
||||||
extern int flag_signed_bitfields;
|
extern int flag_signed_bitfields;
|
||||||
|
|
||||||
/* Nonzero means warn about deprecated conversion from string constant to
|
|
||||||
`char *'. */
|
|
||||||
|
|
||||||
extern int warn_write_strings;
|
|
||||||
|
|
||||||
/* Warn about #pragma directives that are not recognized. */
|
/* Warn about #pragma directives that are not recognized. */
|
||||||
|
|
||||||
extern int warn_unknown_pragmas; /* Tri state variable. */
|
extern int warn_unknown_pragmas; /* Tri state variable. */
|
||||||
|
|
|
||||||
|
|
@ -227,6 +227,7 @@ c_common_init_options (unsigned int argc, const char **argv)
|
||||||
|
|
||||||
flag_exceptions = c_dialect_cxx ();
|
flag_exceptions = c_dialect_cxx ();
|
||||||
warn_pointer_arith = c_dialect_cxx ();
|
warn_pointer_arith = c_dialect_cxx ();
|
||||||
|
warn_write_strings = c_dialect_cxx();
|
||||||
|
|
||||||
deferred_opts = XNEWVEC (struct deferred_opt, argc);
|
deferred_opts = XNEWVEC (struct deferred_opt, argc);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -420,8 +420,8 @@ C ObjC C++ ObjC++
|
||||||
Do not warn about using variadic macros when -pedantic
|
Do not warn about using variadic macros when -pedantic
|
||||||
|
|
||||||
Wwrite-strings
|
Wwrite-strings
|
||||||
C ObjC C++ ObjC++
|
C ObjC C++ ObjC++ Var(warn_write_strings)
|
||||||
Give strings the type \"array of char\"
|
In C++, nonzero means warn about deprecated conversion from string literals to `char *'. In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.
|
||||||
|
|
||||||
Wpointer-sign
|
Wpointer-sign
|
||||||
C ObjC Var(warn_pointer_sign) Init(-1)
|
C ObjC Var(warn_pointer_sign) Init(-1)
|
||||||
|
|
|
||||||
|
|
@ -3065,7 +3065,8 @@ When compiling C, give string constants the type @code{const
|
||||||
char[@var{length}]} so that
|
char[@var{length}]} so that
|
||||||
copying the address of one into a non-@code{const} @code{char *}
|
copying the address of one into a non-@code{const} @code{char *}
|
||||||
pointer will get a warning; when compiling C++, warn about the
|
pointer will get a warning; when compiling C++, warn about the
|
||||||
deprecated conversion from string constants to @code{char *}.
|
deprecated conversion from string literals to @code{char *}. This
|
||||||
|
warning, by default, is enabled for C++ programs.
|
||||||
These warnings will help you find at
|
These warnings will help you find at
|
||||||
compile time code that can try to write into a string constant, but
|
compile time code that can try to write into a string constant, but
|
||||||
only if you have been very careful about using @code{const} in
|
only if you have been very careful about using @code{const} in
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||||
|
|
||||||
|
* g++.dg/warn/no-write-strings.C: New test.
|
||||||
|
* g++.dg/warn/write-strings.C: Likewise.
|
||||||
|
* g++.dg/warn/write-strings-default.C: Likewise.
|
||||||
|
|
||||||
2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org>
|
2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/25806
|
PR fortran/25806
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
// { dg-do compile }
|
||||||
|
// { dg-options -Wno-write-strings }
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char* p = "Asgaard";
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
// { dg-do compile }
|
||||||
|
// Test the default for -Wwrite-strings
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char* p = "Asgaard"; // { dg-warning "warning:.*deprecated.*" }
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
// { dg-do compile }
|
||||||
|
// { dg-options -Wwrite-strings }
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char* p = "Asgaard"; // { dg-warning "warning:.*deprecated.*" }
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue