On Fri, Dec 19, 2025 at 5:13 PM Zsolt Parragi <[email protected]> wrote: > I did some quick testing with this, normally only __i386__ gets > defined for 32 bit builds (-march=native -m32 for example, but also > the default -march=x86-64 -m32). __i586__ and __i686__ are only there > if I pass the matching -march (i586/i686) flag to gcc.
What platform is this? I don't see that: gcc 14: $ echo | gcc -m32 -dM -E - | grep -E '86[^0-9]' #define __i686 1 #define __i686__ 1 #define __i386 1 #define i386 1 #define __i386__ 1 clang 19: $ echo | clang -m32 -dM -E - | grep -E '86[^0-9]' #define __i386 1 #define __i386__ 1 #define i386 1 -- John Naylor Amazon Web Services
