aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-path.cc
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2021-10-27 18:26:27 -0300
committerPierre-Marie de Rodat <derodat@adacore.com>2021-11-09 09:44:49 +0000
commitd235950e83965ed6389eb94b1cffb7393dcb1984 (patch)
tree086c8bb0bf8a599bff945db1d15a8c516b7de39a /gcc/gimple-range-path.cc
parent80d52cbe59b19577fa215a4357c327e707890e9b (diff)
downloadgcc-d235950e83965ed6389eb94b1cffb7393dcb1984.zip
gcc-d235950e83965ed6389eb94b1cffb7393dcb1984.tar.gz
gcc-d235950e83965ed6389eb94b1cffb7393dcb1984.tar.bz2
[Ada] Improve integration of strub with type systems
gcc/ada/ * strub.adb, strub.ads: New files. * exp_attr.adb (Access_Cases): Copy strub mode to subprogram type. * exp_disp.adb (Expand_Dispatching_Call): Likewise. * freeze.adb (Check_Inherited_Conditions): Check that strub modes match overridden subprograms and interfaces. (Freeze_All): Renaming declarations too. * sem_attr.adb (Resolve_Attribute): Reject 'Access to strub-annotated data object. * sem_ch3.adb (Derive_Subprogram): Copy strub mode to inherited subprogram. * sem_prag.adb (Analyze_Pragma): Propagate Strub Machine_Attribute from access-to-subprogram to subprogram type when required, but not from access-to-data to data type. Mark the entity that got the pragma as having a gigi rep item. * sem_res.adb (Resolve): Reject implicit conversions that would change strub modes. (Resolve_Type_Conversions): Reject checked conversions between incompatible strub modes. * doc/gnat_rm/security_hardening_features.rst: Update. * gnat_rm.texi: Regenerate. * libgnat/a-except.ads (Raise_Exception): Revert strub-callable annotation in public subprogram. * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128): Likewise. * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Likewise. * libgnat/s-secsta.ads (SS_Allocate): Likewise. (SS_Mark, SS_Release): Likewise. * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add ada/strub.o.
Diffstat (limited to 'gcc/gimple-range-path.cc')
0 files changed, 0 insertions, 0 deletions