Commit fa9b4904 by Arpad Beszedes Committed by Kaveh Ghazi

builtins.c (expand_builtin_fputs): When optimizing for size, don't transform fputs into fwrite.

gcc:
	* builtins.c (expand_builtin_fputs): When optimizing for size,
	don't transform fputs into fwrite.
testsuite:
	* gcc.c-torture/execute/stdio-opt-1.c: Adjust test for change to
	builtin fputs.

From-SVN: r64771
parent ce1bb3bb
2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
* builtins.c (expand_builtin_fputs): When optimizing for size,
don't transform fputs into fwrite.
2003-03-23 Glen Nakamura <glen@imodulo.com> 2003-03-23 Glen Nakamura <glen@imodulo.com>
PR c/8224 PR c/8224
......
...@@ -3796,8 +3796,12 @@ expand_builtin_fputs (arglist, ignore, unlocked) ...@@ -3796,8 +3796,12 @@ expand_builtin_fputs (arglist, ignore, unlocked)
/* FALLTHROUGH */ /* FALLTHROUGH */
case 1: /* length is greater than 1, call fwrite. */ case 1: /* length is greater than 1, call fwrite. */
{ {
tree string_arg = TREE_VALUE (arglist); tree string_arg;
/* If optimizing for size keep fputs. */
if (optimize_size)
return 0;
string_arg = TREE_VALUE (arglist);
/* New argument list transforming fputs(string, stream) to /* New argument list transforming fputs(string, stream) to
fwrite(string, 1, len, stream). */ fwrite(string, 1, len, stream). */
arglist = build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist))); arglist = build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist)));
......
2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
* gcc.c-torture/execute/stdio-opt-1.c: Adjust test for change to
builtin fputs.
2003-03-23 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> 2003-03-23 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
PR c/8224 PR c/8224
......
...@@ -54,7 +54,7 @@ int main() ...@@ -54,7 +54,7 @@ int main()
return 0; return 0;
} }
#ifdef __OPTIMIZE__ #if defined (__OPTIMIZE__) && ! defined (__OPTIMIZE_SIZE__)
/* When optimizing, all the above cases should be transformed into /* When optimizing, all the above cases should be transformed into
something else. So any remaining calls to the original function something else. So any remaining calls to the original function
should abort. */ should abort. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment