https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80779

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Alexander Ivchenko from comment #2)
> I made some progress a while back with that, mostly by adding
> __attribute__((bnd_legacy)) just as in Martin's patches. I don't like that
> approach though, as it does not look natural. The two thinks that I found
> are:
> 
> 1) There are cases where we have union at the end of the struct, where one
> field of the union is a flexible array. I marked those fields of the struct
> with corresponding attribute, but, probably, more natural would be to add
> that by default when "-fchkp-flexible-struct-trailing-arrays" option is
> used. We have a lot of false positives because of that

Thanks for working on that. This looks logical to me!

> 
> 2) I found a real bounds violation :) In ipa-chkp.c in
> chkp_map_attr_arg_indexes  there is a "idx = indexes[idx - 1] + 1;" in the
> loop. Here, "idx" may be zero

Good!

Reply via email to