-
- Downloads
Enhance debug info for fixed-point types
The Ada language supports fixed-point types as first-class citizens so they need to be described as-is in the debug info. We devised the langhook get_fixed_point_type_info for this purpose a few years ago, but it comes with a limitation for the representation of the scale factor that we would need to lift in order to be able to represent more fixed-point types. gcc/ChangeLog: * dwarf2out.h (struct fixed_point_type_info) <scale_factor>: Turn numerator and denominator into a tree. * dwarf2out.c (base_type_die): In the case of a fixed-point type with arbitrary scale factor, call add_scalar_info on numerator and denominator to emit the appropriate attributes. gcc/ada/ChangeLog: * exp_dbug.adb (Is_Handled_Scale_Factor): Delete. (Get_Encoded_Name): Do not call it. * gcc-interface/decl.c (gnat_to_gnu_entity) <Fixed_Point_Type>: Tidy up and always use a meaningful description for arbitrary scale factors. * gcc-interface/misc.c (gnat_get_fixed_point_type_info): Remove obsolete block and adjust the description of the scale factor.
Showing
- gcc/ada/exp_dbug.adb 2 additions, 30 deletionsgcc/ada/exp_dbug.adb
- gcc/ada/gcc-interface/decl.c 10 additions, 33 deletionsgcc/ada/gcc-interface/decl.c
- gcc/ada/gcc-interface/misc.c 2 additions, 12 deletionsgcc/ada/gcc-interface/misc.c
- gcc/dwarf2out.c 7 additions, 6 deletionsgcc/dwarf2out.c
- gcc/dwarf2out.h 6 additions, 11 deletionsgcc/dwarf2out.h
Loading
Please register or sign in to comment