PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in...
commit26a75cc503f675854128d3bd3193046471a352f9
authormsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jan 2017 00:55:19 +0000 (24 00:55 +0000)
committermsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jan 2017 00:55:19 +0000 (24 00:55 +0000)
treeb0a68a7d37f5154d1428b9d0d44d3e8a329759d3
parent72beb8964e32ed37dc01bb12bdc13ce73d45ffef
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
(fmtresult::operator+=): Outlined.
(struct fmtresult): Add ctors.
(struct conversion_spec): Rename...
(struct directive): ...to this.  Add and remove data members.
(directive::set_width, directive::set_precision): New functions.
(format_percent): Use fmtresult ctor.
(get_width_and_precision): Remove.
(format_integer): Make naming changes.  Avoid computing width and
precision.
(format_floating): Same.  Adjust indentation.
(format_character, format_none): New functions.
(format_string): Moved character handling to format_character.
(format_directive): Remove arguments, change return type.
(parse_directive): New function.
(pass_sprintf_length::compute_format_length): Move directive
parsing to parse_directive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244845 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-ssa-sprintf.c