diff options
author | Martin Sebor <msebor@redhat.com> | 2016-10-24 16:53:20 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2016-10-24 10:53:20 -0600 |
commit | 1eb4547b1058d6a4e1912ac0f15cc0a69bf4fd78 (patch) | |
tree | 3fd153c90170bbed75e929c3a8588d01578162b8 /gcc/fortran/iresolve.c | |
parent | 94caf86019219030154f76b786f9de08c2b81275 (diff) | |
download | gcc-1eb4547b1058d6a4e1912ac0f15cc0a69bf4fd78.zip gcc-1eb4547b1058d6a4e1912ac0f15cc0a69bf4fd78.tar.gz gcc-1eb4547b1058d6a4e1912ac0f15cc0a69bf4fd78.tar.bz2 |
PR middle-end/77735 - FAIL: gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
gcc/ChangeLog:
PR middle-end/77735
* builtins.c (string_length): New function.
(c_strlen): Use string_length. Correctly handle wide strings.
* gimple-ssa-sprintf.c (target_max_value, target_size_max): New
functions.
(target_int_max): Call target_max_value.
(format_result::knownrange): New data member.
(fmtresult::fmtresult): Define default constructor.
(format_integer): Use it and set format_result::knownrange.
Handle global constants.
(format_floating_max): Add third argument.
(format_floating): Recompute maximum value for %a for each argument.
(get_string_length): Use fmtresult default ctor.
(format_string): Set format_result::knownrange.
(format_directive): Check format_result::knownrange.
(add_bytes): Same. Correct caret placement in diagnostics.
(pass_sprintf_length::compute_format_length): Set
format_result::knownrange.
(pass_sprintf_length::handle_gimple_call): Use target_size_max.
gcc/testsuite/ChangeLog:
PR middle-end/77735
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust/relax.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: XFAIL for LP64 only.
* gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases.
From-SVN: r241489
Diffstat (limited to 'gcc/fortran/iresolve.c')
0 files changed, 0 insertions, 0 deletions