aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-cache.h
diff options
context:
space:
mode:
authorMartin Clochard <clochard@adacore.com>2024-06-07 11:44:45 +0200
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-06-27 10:19:12 +0200
commit60ca71044e8e4d492c74f65f6093fbcf46d238bb (patch)
treeebad5d5f90bcd3da323086c57d3f539d30dd5514 /gcc/gimple-range-cache.h
parent3cb7e22ad965bbbb672f51a437c0a30a4c95f558 (diff)
downloadgcc-60ca71044e8e4d492c74f65f6093fbcf46d238bb.zip
gcc-60ca71044e8e4d492c74f65f6093fbcf46d238bb.tar.gz
gcc-60ca71044e8e4d492c74f65f6093fbcf46d238bb.tar.bz2
ada: Overridden operation field not correctly set for controlling result wrappers
Implicit wrapper overridings generated for functions with controlling result when deriving with null extension may have field Overridden_Operation incorrectly set, when making several such derivations in succession. This happens because overridings were assumed to come from source, and entities generated by Derive_Subprograms were also assumed to be derived from source subprograms. Overridden_Operation could be set to the entity generated by Derive_Subprograms for the same type, resulting in a cycle between Overriden_Operation and Alias fields, causing non-termination in GNATprove. gcc/ada/ * sem_ch6.adb (Check_Overriding_Indicator) Remove Comes_From_Source filter. (New_Overloaded_Entity) Move up special case of LSP_Subprogram, and remove Comes_From_Source filter.
Diffstat (limited to 'gcc/gimple-range-cache.h')
0 files changed, 0 insertions, 0 deletions