https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957

--- Comment #29 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Types with linkage are C++ ODR types. They have associated mangled name
> (which is after free lang data available by DECL_ASSEMBLER_NAME of
> the TYPE_DECL of TYPE_NAME) and if the names match in different units,
> one knows that they are same types even if tree representation diverges.
> 
> In C++ those are records, unions and enums.

In Ada every user-defined type has this property and the ODR cannot be
violated.

Reply via email to