diff options
author | Mike Stump <mrs@apple.com> | 2002-10-26 01:18:52 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 2002-10-26 01:18:52 +0000 |
commit | 94c1e0e8cee4d407b42e9d99b69c75e697f65894 (patch) | |
tree | 2d00071b22ba1ea6afacc4fa452106cec43387de | |
parent | f0dd122b47336c311afb102bf23a369d096a82be (diff) | |
download | gcc-94c1e0e8cee4d407b42e9d99b69c75e697f65894.zip gcc-94c1e0e8cee4d407b42e9d99b69c75e697f65894.tar.gz gcc-94c1e0e8cee4d407b42e9d99b69c75e697f65894.tar.bz2 |
c-typeck.c (warn_for_assignment): Don't print argument number, if zero.
* c-typeck.c (warn_for_assignment): Don't print argument number, if zero.
Fixes gcc.dg/warn-1.c.
From-SVN: r58550
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/c-typeck.c | 25 |
2 files changed, 27 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b33a9c..4227a7c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-10-25 Mike Stump <mrs@apple.com> + + * c-typeck.c (warn_for_assignment): Don't print argument number, if zero. + Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz> * toplev.c (dump_file_index): Add DFI_ce3. diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index b5bc210..0915b10 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -4309,7 +4309,8 @@ c_convert_parm_for_inlining (parm, value, fn) /* Print a warning using MSGID. It gets OPNAME as its one parameter. - If OPNAME is null, it is replaced by "passing arg ARGNUM of `FUNCTION'". + if OPNAME is null and ARGNUM is 0, it is replaced by "passing arg of `FUNCTION'". + Otherwise if OPNAME is null, it is replaced by "passing arg ARGNUM of `FUNCTION'". FUNCTION and ARGNUM are handled specially if we are building an Objective-C selector. */ @@ -4330,7 +4331,27 @@ warn_for_assignment (msgid, opname, function, argnum) function = selector; argnum -= 2; } - if (function) + if (argnum == 0) + { + if (function) + { + /* Function name is known; supply it. */ + const char *const argstring = _("passing arg of `%s'"); + new_opname = (char *) alloca (IDENTIFIER_LENGTH (function) + + strlen (argstring) + 1 + + 1); + sprintf (new_opname, argstring, + IDENTIFIER_POINTER (function)); + } + else + { + /* Function name unknown (call through ptr). */ + const char *const argnofun = _("passing arg of pointer to function"); + new_opname = (char *) alloca (strlen (argnofun) + 1 + 1); + sprintf (new_opname, argnofun); + } + } + else if (function) { /* Function name is known; supply it. */ const char *const argstring = _("passing arg %d of `%s'"); |