aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/security
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-09-02 22:42:57 +0200
committerMarc Poulhiès <poulhies@adacore.com>2022-11-07 09:36:30 +0100
commit03b4e4ae3b0d647a44c3dac09e27ab4151a84e85 (patch)
treee45f07121e885bd9420ca01ecb3a501e2c4802aa /libjava/java/security
parentffe889d7ffcc7e8150413d4de38e066940fb7881 (diff)
downloadgcc-03b4e4ae3b0d647a44c3dac09e27ab4151a84e85.zip
gcc-03b4e4ae3b0d647a44c3dac09e27ab4151a84e85.tar.gz
gcc-03b4e4ae3b0d647a44c3dac09e27ab4151a84e85.tar.bz2
ada: Don't reuse operator nodes in expansion
This patch removes handling of references to unset objects that relied on Original_Node. This handling was only needed because of rewriting that reused operator nodes, for example, when an array inequality like: A < B was rewritten into: System.Compare_Array_Unsigned_8.Compare_Array_U8 (A'Address, B'Address, A'Length, B'Length) < 0 by keeping the node for operator "<" and only substituting its operands. It seems safer to simply create an new operator node when rewriting and not rely on Original_Node afterwards. Cleanup related to improved detection uninitialized objects. gcc/ada/ * checks.adb (Apply_Arithmetic_Overflow_Strict): Rewrite using a newly created operator node. * exp_ch4.adb (Expand_Array_Comparison): Likewise. * exp_ch6.adb (Add_Call_By_Copy_Code): Rewriting actual parameter using its own location and not the location of the subprogram call. * sem_warn.adb (Check_References): Looping with Original_Node is no longer needed.
Diffstat (limited to 'libjava/java/security')
0 files changed, 0 insertions, 0 deletions