On 08/25/2016 01:18 PM, Jeff Law wrote:
On 08/21/2016 02:29 PM, Martin Sebor wrote:



gcc-71831.w.diff


PR tree-optimization/71831 - __builtin_object_size poor results with no
    optimization

gcc/testsuite/ChangeLog:
2016-08-21  Martin Sebor  <mse...@redhat.com>

    PR tree-optimization/71831
    * gcc.dg/builtin-object-size-16.c: New test.
    * gcc.dg/builtin-object-size-17.c: New test.

gcc/ChangeLog:
2016-08-21  Martin Sebor  <mse...@redhat.com>

    PR tree-optimization/71831
    * tree-object-size.h: Return bool instead of the size and add
    argument for the size.
    * tree-object-size.c (compute_object_offset): Update signature.
    (addr_object_size): Same.
    (compute_builtin_object_size): Return bool instead of the size
    and add argument for the size.  Handle POINTER_PLUS_EXPR when
    optimization is disabled.
    (expr_object_size): Adjust.
    (plus_stmt_object_size): Adjust.
    (pass_object_sizes::execute): Adjust.
    * builtins.c (fold_builtin_object_size): Adjust.
    * doc/extend.texi (Object Size Checking): Update.
    * ubsan.c (instrument_object_size): Adjust.
So just to be sure, this change really only helps with our ability to
discover object sizes with -O0.  Essentially when the objsz pass isn't
run.   That's my reading and I just want to make sure I read it correctly.

That's correct.  It helps the -Wformat-length warning detect more
cases when optimization is not enabled.


Assuming that is the intent here, this is OK for the trunk.

Thanks.

Martin

Reply via email to