https://gcc.gnu.org/g:0eff844fa3718d21d4f5cebb72bfb65218ad5825
commit r17-1217-g0eff844fa3718d21d4f5cebb72bfb65218ad5825 Author: Eric Botcazou <[email protected]> Date: Thu Apr 30 13:08:17 2026 +0200 ada: Reject misalignment of objects with address clause Misaligned objects are meant to be rejected universally by the compiler. gcc/ada/ChangeLog: * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Validate a known alignment on the object even if there is an address clause. Diff: --- gcc/ada/gcc-interface/decl.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc index 50a065d2dea6..3a14f226f0eb 100644 --- a/gcc/ada/gcc-interface/decl.cc +++ b/gcc/ada/gcc-interface/decl.cc @@ -814,12 +814,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) } /* If an alignment is specified, use it if valid. Note that exceptions - are objects but don't have an alignment and there is also no point in - setting it for an address clause, since the final type of the object - will be a reference type. */ - if (Known_Alignment (gnat_entity) - && kind != E_Exception - && No (Address_Clause (gnat_entity))) + are objects but don't have an alignment. */ + if (Known_Alignment (gnat_entity) && kind != E_Exception) align = validate_alignment (Alignment (gnat_entity), gnat_entity, TYPE_ALIGN (gnu_type));
