Index: compiler-rt/trunk/cmake/config-ix.cmake =================================================================== --- compiler-rt/trunk/cmake/config-ix.cmake +++ compiler-rt/trunk/cmake/config-ix.cmake @@ -180,7 +180,8 @@ # FIXME: We build runtimes for both i686 and i386, as "clang -m32" may # target different variant than "$CMAKE_C_COMPILER -m32". This part should # be gone after we resolve PR14109. - test_target_arch(i686 __i686__ "-m32") + # Use -march to make sure Clang defines __i686__; see PR24222. + test_target_arch(i686 __i686__ "-m32" "-march=i686") test_target_arch(i386 __i386__ "-m32") else() if (CMAKE_SIZEOF_VOID_P EQUAL 4) Index: compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/open_memstream.cc =================================================================== --- compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/open_memstream.cc +++ compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/open_memstream.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx -m64 -O0 -g -xc++ %s -o %t && %run %t -// RUN: %clangxx -m64 -O3 -g -xc++ %s -o %t && %run %t +// RUN: %clangxx -m64 -march=x86-64 -O0 -g -xc++ %s -o %t && %run %t +// RUN: %clangxx -m64 -march=x86-64 -O3 -g -xc++ %s -o %t && %run %t // REQUIRES: x86_64-supported-target #include