+2010-05-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
+ built for interfaces.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
+ imported_p instead of Is_Imported when considering constants.
+ Do not promote alignment of exported objects.
+ <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
+
2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
* exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
DT : Node_Id := Empty;
DT_Ptr : Node_Id;
Predef_Prims_Ptr : Node_Id;
- Iface_DT : Node_Id;
+ Iface_DT : Node_Id := Empty;
Iface_DT_Ptr : Node_Id;
New_Node : Node_Id;
Suffix_Index : Int;
Set_Is_Dispatch_Table_Entity (Etype (DT));
end if;
+ if Present (Iface_DT) then
+ Set_Is_Dispatch_Table_Entity (Iface_DT);
+ Set_Is_Dispatch_Table_Entity (Etype (Iface_DT));
+ end if;
+
Set_Ekind (DT_Ptr, E_Constant);
Set_Is_Tag (DT_Ptr);
Set_Related_Type (DT_Ptr, Typ);
== N_Object_Declaration)
&& Present (Expression (Declaration_Node (gnat_entity))))
|| Present (Renamed_Object (gnat_entity))
- || Is_Imported (gnat_entity)));
+ || imported_p));
bool inner_const_flag = const_flag;
bool static_p = Is_Statically_Allocated (gnat_entity);
bool mutable_p = false;
&& kind != E_Out_Parameter
&& Is_Composite_Type (Etype (gnat_entity))
&& !Is_Constr_Subt_For_UN_Aliased (Etype (gnat_entity))
+ && !Is_Exported (gnat_entity)
&& !imported_p
&& No (Renamed_Object (gnat_entity))
&& No (Address_Clause (gnat_entity))))
if ((Treat_As_Volatile (gnat_entity)
|| (!const_flag
&& (Is_Exported (gnat_entity)
- || Is_Imported (gnat_entity)
+ || imported_p
|| Present (Address_Clause (gnat_entity)))))
&& !TYPE_VOLATILE (gnu_type))
gnu_type = build_qualified_type (gnu_type,
{
char *p;
Get_Encoded_Name (gnat_entity);
- p = strrchr (Name_Buffer, '_');
+ p = strchr (Name_Buffer, '_');
gcc_assert (p);
- strcpy (p+1, "dtS");
+ strcpy (p+2, "dtS");
gnu_entity_name = get_identifier (Name_Buffer);
}
+2010-05-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/lto7.adb: New test.
+ * gnat.dg/lto7_pkg.ad[sb]: New helper.
+
2010-05-10 Jason Merrill <jason@redhat.com>
PR c++/44017