jrtc27 added inline comments.
================ Comment at: clang/lib/Basic/Targets/M68k.cpp:38-50 + // M68k pointers are always 32 bit wide even for 16 bit cpus + Layout += "-p:32:32"; + + // M68k integer data types + Layout += "-i8:8:8-i16:16:16-i32:32:32"; + + // FIXME no floats at the moment ---------------- If we're in SysV psABI land, then the stack is 32-bit aligned. If we're in actual ABI used by everyone out there, i.e. GCC's default, then it's only 16-bit aligned, and your integer types also have the wrong alignment, so you will get ABI incompatibility with GCC-built binaries as provided by distributions like Debian. ================ Comment at: clang/lib/Basic/Targets/M68k.cpp:63 + .Case("generic", CK_68000) + .Case("M68000", CK_68000) + .Case("M68010", CK_68010) ---------------- GCC's -mcpu excludes any M prefix and is just the number. ================ Comment at: clang/lib/Basic/Targets/M68k.cpp:77-79 + Builder.defineMacro("M68k"); + Builder.defineMacro("__M68k__"); + Builder.defineMacro("__M68K__"); ---------------- Where are these coming from? GCC only defines `__m68k__`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88393/new/ https://reviews.llvm.org/D88393 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits