This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 03/15/2017 12:58 AM, Ilya Enkovich wrote:
2017-03-13 16:33 GMT+03:00 Martin Liška <mliska@suse.cz>:On 03/13/2017 02:07 PM, Richard Biener wrote:No, that can't happen. I said that for example for struct S { ... } s; foo (s); pass_by_reference may be true but on gimple you see a struct s as actual argument. I'm not sure what chkp_find_bounds does to 's' in this case. Like if floats are passed by reference you might see a REAL_CST passed to chkp_find_bounds but in reality it will get a pointer (with bounds according to the argument slot that was used).Currently constants have invalid bounds assigned. Thus I guess it can't cause a trouble when such constant is used as a pointer. Anyhow, the discrepancy should be handled better. Last question related to the patch. May I at least install the part which adds {COMPLEX,VECTOR}_CSTs handling as it can happen with -mabi=ms (where formal and actual args do match)? Or using -mabi=ms + CHKP does not make sense at all?Hi, Originally casted function calls were not taken into account by instrumentation pass and it caused such sloppy handling of these casts later. It would be nice to revise this code.
Hi. Yep, code revisiting would be needed in this area.
Meanwhile your fix should go to trunk. CHKP instrumentation pass is supposed to be target independent and therefore shouldn't rely on any ABI.
As you are MPX maintainer, may I consider that as patch approval? Martin
Thanks, IlyaMartin
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |