Small tweak to gnat_to_gnu_param
We mark the type of In parameters in Ada with the const qualifier, but it is stripped by free_lang_data_in_type so do not do it in LTO mode. * gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of the type in LTO mode.
This commit is contained in:
parent
2b42509f8b
commit
db4062a0cb
|
@ -1,3 +1,8 @@
|
|||
2020-05-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of
|
||||
the type in LTO mode.
|
||||
|
||||
2020-05-04 Mikael Pettersson <mikpelinux@gmail.com>
|
||||
|
||||
PR bootstrap/94918
|
||||
|
|
|
@ -5327,9 +5327,12 @@ gnat_to_gnu_param (Entity_Id gnat_param, tree gnu_param_type, bool first,
|
|||
}
|
||||
|
||||
/* If this is a read-only parameter, make a variant of the type that is
|
||||
read-only. ??? However, if this is a self-referential type, the type
|
||||
read-only, except in LTO mode because free_lang_data_in_type would
|
||||
undo it. ??? However, if this is a self-referential type, the type
|
||||
can be very complex, so skip it for now. */
|
||||
if (ro_param && !CONTAINS_PLACEHOLDER_P (TYPE_SIZE (gnu_param_type)))
|
||||
if (ro_param
|
||||
&& !flag_generate_lto
|
||||
&& !CONTAINS_PLACEHOLDER_P (TYPE_SIZE (gnu_param_type)))
|
||||
gnu_param_type = change_qualified_type (gnu_param_type, TYPE_QUAL_CONST);
|
||||
|
||||
/* For foreign conventions, pass arrays as pointers to the element type.
|
||||
|
|
Loading…
Reference in New Issue