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: {...@@ -804,32 +804,43 @@ pub const all_features = blk: {
804 result[@enumToInt(Feature.v2)] = .{804 result[@enumToInt(Feature.v2)] = .{
805 .llvm_name = "armv2",805 .llvm_name = "armv2",
806 .description = "ARMv2 architecture",806 .description = "ARMv2 architecture",
807 .dependencies = featureSet(&[_]Feature{}),807 .dependencies = featureSet(&[_]Feature{
808 .strict_align,
809 }),
808 };810 };
809 result[@enumToInt(Feature.v2a)] = .{811 result[@enumToInt(Feature.v2a)] = .{
810 .llvm_name = "armv2a",812 .llvm_name = "armv2a",
811 .description = "ARMv2a architecture",813 .description = "ARMv2a architecture",
812 .dependencies = featureSet(&[_]Feature{}),814 .dependencies = featureSet(&[_]Feature{
815 .strict_align,
816 }),
813 };817 };
814 result[@enumToInt(Feature.v3)] = .{818 result[@enumToInt(Feature.v3)] = .{
815 .llvm_name = "armv3",819 .llvm_name = "armv3",
816 .description = "ARMv3 architecture",820 .description = "ARMv3 architecture",
817 .dependencies = featureSet(&[_]Feature{}),821 .dependencies = featureSet(&[_]Feature{
822 .strict_align,
823 }),
818 };824 };
819 result[@enumToInt(Feature.v3m)] = .{825 result[@enumToInt(Feature.v3m)] = .{
820 .llvm_name = "armv3m",826 .llvm_name = "armv3m",
821 .description = "ARMv3m architecture",827 .description = "ARMv3m architecture",
822 .dependencies = featureSet(&[_]Feature{}),828 .dependencies = featureSet(&[_]Feature{
829 .strict_align,
830 }),
823 };831 };
824 result[@enumToInt(Feature.v4)] = .{832 result[@enumToInt(Feature.v4)] = .{
825 .llvm_name = "armv4",833 .llvm_name = "armv4",
826 .description = "ARMv4 architecture",834 .description = "ARMv4 architecture",
827 .dependencies = featureSet(&[_]Feature{}),835 .dependencies = featureSet(&[_]Feature{
836 .strict_align,
837 }),
828 };838 };
829 result[@enumToInt(Feature.v4t)] = .{839 result[@enumToInt(Feature.v4t)] = .{
830 .llvm_name = "armv4t",840 .llvm_name = "armv4t",
831 .description = "ARMv4t architecture",841 .description = "ARMv4t architecture",
832 .dependencies = featureSet(&[_]Feature{842 .dependencies = featureSet(&[_]Feature{
843 .strict_align,
833 .has_v4t,844 .has_v4t,
834 }),845 }),
835 };846 };
...@@ -837,6 +848,7 @@ pub const all_features = blk: {...@@ -837,6 +848,7 @@ pub const all_features = blk: {
837 .llvm_name = "armv5t",848 .llvm_name = "armv5t",
838 .description = "ARMv5t architecture",849 .description = "ARMv5t architecture",
839 .dependencies = featureSet(&[_]Feature{850 .dependencies = featureSet(&[_]Feature{
851 .strict_align,
840 .has_v5t,852 .has_v5t,
841 }),853 }),
842 };854 };
...@@ -844,6 +856,7 @@ pub const all_features = blk: {...@@ -844,6 +856,7 @@ pub const all_features = blk: {
844 .llvm_name = "armv5te",856 .llvm_name = "armv5te",
845 .description = "ARMv5te architecture",857 .description = "ARMv5te architecture",
846 .dependencies = featureSet(&[_]Feature{858 .dependencies = featureSet(&[_]Feature{
859 .strict_align,
847 .has_v5te,860 .has_v5te,
848 }),861 }),
849 };862 };
...@@ -851,6 +864,7 @@ pub const all_features = blk: {...@@ -851,6 +864,7 @@ pub const all_features = blk: {
851 .llvm_name = "armv5tej",864 .llvm_name = "armv5tej",
852 .description = "ARMv5tej architecture",865 .description = "ARMv5tej architecture",
853 .dependencies = featureSet(&[_]Feature{866 .dependencies = featureSet(&[_]Feature{
867 .strict_align,
854 .has_v5te,868 .has_v5te,
855 }),869 }),
856 };870 };