aboutsummaryrefslogtreecommitdiff
path: root/libobjc/exception.c
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-10-17 22:08:37 +0200
committerMarc Poulhiès <poulhies@adacore.com>2022-11-07 09:36:35 +0100
commitdc3208e698b2f424d892d3c9e5d5562ccde9e4cf (patch)
tree0eb9b46113774e074e28f4d0d29f64844926f8cc /libobjc/exception.c
parentd24f279c023051c95b88b8405ac8aa4ebb44b107 (diff)
downloadgcc-dc3208e698b2f424d892d3c9e5d5562ccde9e4cf.zip
gcc-dc3208e698b2f424d892d3c9e5d5562ccde9e4cf.tar.gz
gcc-dc3208e698b2f424d892d3c9e5d5562ccde9e4cf.tar.bz2
ada: Fix performance regression related to references in Refined_State
Recently added call to In_Pragma_Expression caused a performance regression. It might require climbing syntax trees of arbitrarily deep expressions, while previously references within pragmas were detected in bounded time. This patch restores the previous efficiency. However, while the original code only detected references directly within pragma argument associations, now we also detect references inside aggregates, e.g. like those in pragma Refined_State. gcc/ada/ * sem_prag.adb (Non_Significant_Pragma_Reference): Detect references with aggregates; only assign local variables Id and C when necessary.
Diffstat (limited to 'libobjc/exception.c')
0 files changed, 0 insertions, 0 deletions