d: Respect explicit align(N) type alignment (PR100935)
It was previously the natural type alignment, defined as the maximum of
the field alignments for an aggregate. Make sure an explicit align(N)
overrides it.
gcc/d/ChangeLog:
PR d/100935
* dmd/mtype.c (Type::getProperty): Prefer explicit alignment over
natural alignment for alignof property.
gcc/testsuite/ChangeLog:
PR d/100935
* gdc.test/compilable/aggr_alignment.d: Add test cases.
(cherry picked from commit
04fea2d66bd680beb1a204e62f2f459307000813)