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

            Bug ID: 119590
           Summary: macOS 15.4 SDK is not GCC compatible
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fxcoudert at gcc dot gnu.org
  Target Milestone: ---

Original report there: https://github.com/GMAO-SI-Team/geosesm-spack/issues/2

/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:645:26:
error: '_Alignof' was not declared in this scope
  645 | } __attribute__((aligned(_Alignof(unsigned int))));
      |                          ^~~~~~~~
gmake[5]: *** [Makefile:1935:
aarch64-apple-darwin24/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1


The diff with the previous header (from the macOS 15.2 SDK), which was working:

---
/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk/usr/include/mach/arm/_structs.h
    2024-11-16 04:37:26
+++
/Library/Developer/CommandLineTools/SDKs/MacOSX15.4.sdk/usr/include/mach/arm/_structs.h
    2025-03-16 02:29:36
@@ -609,8 +609,74 @@ _STRUCT_ARM_PAGEIN_STATE
 _STRUCT_ARM_PAGEIN_STATE
 {
        int __pagein_error;
+};
+
+#if __DARWIN_UNIX03
+#define _STRUCT_ARM_SME_STATE struct __darwin_arm_sme_state
+_STRUCT_ARM_SME_STATE
+{
+       __uint64_t      __svcr;
+       __uint64_t      __tpidr2_el0;
+       __uint16_t      __svl_b;
+};
+
+#define _STRUCT_ARM_SVE_Z_STATE struct __darwin_arm_sve_z_state
+_STRUCT_ARM_SVE_Z_STATE
+{
+       char            __z[16][256];
+} __attribute__((aligned(_Alignof(unsigned int))));
+
+#define _STRUCT_ARM_SVE_P_STATE struct __darwin_arm_sve_p_state
+_STRUCT_ARM_SVE_P_STATE
+{
+       char            __p[16][256 / 8];
+} __attribute__((aligned(_Alignof(unsigned int))));
+
+#define _STRUCT_ARM_SME_ZA_STATE struct __darwin_arm_sme_za_state
+_STRUCT_ARM_SME_ZA_STATE
+{
+       char            __za[4096];
+} __attribute__((aligned(_Alignof(unsigned int))));
+
+#define _STRUCT_ARM_SME2_STATE struct __darwin_arm_sme2_state
+_STRUCT_ARM_SME2_STATE
+{
+       char            __zt0[64];
+} __attribute__((aligned(_Alignof(unsigned int))));
+#else /* !__DARWIN_UNIX03 */
+#define _STRUCT_ARM_SME_STATE struct arm_sme_state
+_STRUCT_ARM_SME_STATE
+{
+       __uint64_t      svcr;
+       __uint64_t      tpidr2_el0;
+       __uint16_t      svl_b;
 };

+#define _STRUCT_ARM_SVE_Z_STATE struct arm_sve_z_state
+_STRUCT_ARM_SVE_Z_STATE
+{
+       char            z[16][256];
+} __attribute__((aligned(_Alignof(unsigned int))));
+
+#define _STRUCT_ARM_SVE_P_STATE struct arm_sve_p_state
+_STRUCT_ARM_SVE_P_STATE
+{
+       char            p[16][256 / 8];
+} __attribute__((aligned(_Alignof(unsigned int))));
+
+#define _STRUCT_ARM_SME_ZA_STATE struct arm_sme_za_state
+_STRUCT_ARM_SME_ZA_STATE
+{
+       char            za[4096];
+} __attribute__((aligned(_Alignof(unsigned int))));
+
+#define _STRUCT_ARM_SME2_STATE struct arm_sme2_state
+_STRUCT_ARM_SME2_STATE
+{
+       char            zt0[64];
+} __attribute__((aligned(_Alignof(unsigned int))));
+#endif /* __DARWIN_UNIX03 */
+
 /*
  * Debug State
  */

Reply via email to