authorgravatar for carter.sande@duodecima.technologyCarter Sande <carter.sande@duodecima.technology> 2020-06-08 20:22:55-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-06-12 13:43:12-04:00
log09cded209d082c0cbade2fa7c0da9b9f87c840e8
tree4934b03f053a01870126ad9732be0cda5333779f
parent866651a5a3397e5d10ee90f007f6ff6fa82c702d

Add strict_align to pre-v6 ARM targets

This matches GCC's and Clang's default behavior for these targets.

1 files changed, 19 insertions(+), 5 deletions(-)

lib/std/target/arm.zig+19-5
......@@ -804,32 +804,43 @@ pub const all_features = blk: {
804804 result[@enumToInt(Feature.v2)] = .{
805805 .llvm_name = "armv2",
806806 .description = "ARMv2 architecture",
807 .dependencies = featureSet(&[_]Feature{}),
807 .dependencies = featureSet(&[_]Feature{
808 .strict_align,
809 }),
808810 };
809811 result[@enumToInt(Feature.v2a)] = .{
810812 .llvm_name = "armv2a",
811813 .description = "ARMv2a architecture",
812 .dependencies = featureSet(&[_]Feature{}),
814 .dependencies = featureSet(&[_]Feature{
815 .strict_align,
816 }),
813817 };
814818 result[@enumToInt(Feature.v3)] = .{
815819 .llvm_name = "armv3",
816820 .description = "ARMv3 architecture",
817 .dependencies = featureSet(&[_]Feature{}),
821 .dependencies = featureSet(&[_]Feature{
822 .strict_align,
823 }),
818824 };
819825 result[@enumToInt(Feature.v3m)] = .{
820826 .llvm_name = "armv3m",
821827 .description = "ARMv3m architecture",
822 .dependencies = featureSet(&[_]Feature{}),
828 .dependencies = featureSet(&[_]Feature{
829 .strict_align,
830 }),
823831 };
824832 result[@enumToInt(Feature.v4)] = .{
825833 .llvm_name = "armv4",
826834 .description = "ARMv4 architecture",
827 .dependencies = featureSet(&[_]Feature{}),
835 .dependencies = featureSet(&[_]Feature{
836 .strict_align,
837 }),
828838 };
829839 result[@enumToInt(Feature.v4t)] = .{
830840 .llvm_name = "armv4t",
831841 .description = "ARMv4t architecture",
832842 .dependencies = featureSet(&[_]Feature{
843 .strict_align,
833844 .has_v4t,
834845 }),
835846 };
......@@ -837,6 +848,7 @@ pub const all_features = blk: {
837848 .llvm_name = "armv5t",
838849 .description = "ARMv5t architecture",
839850 .dependencies = featureSet(&[_]Feature{
851 .strict_align,
840852 .has_v5t,
841853 }),
842854 };
......@@ -844,6 +856,7 @@ pub const all_features = blk: {
844856 .llvm_name = "armv5te",
845857 .description = "ARMv5te architecture",
846858 .dependencies = featureSet(&[_]Feature{
859 .strict_align,
847860 .has_v5te,
848861 }),
849862 };
......@@ -851,6 +864,7 @@ pub const all_features = blk: {
851864 .llvm_name = "armv5tej",
852865 .description = "ARMv5tej architecture",
853866 .dependencies = featureSet(&[_]Feature{
867 .strict_align,
854868 .has_v5te,
855869 }),
856870 };