Skip to content

Commit 226968e

Browse files
committed
Use try_compile tests to get sizeof(uintptr_t)
1 parent 11df795 commit 226968e

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

llvm/cmake/config-ix.cmake

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -537,24 +537,18 @@ if( LLVM_NATIVE_ARCH STREQUAL "host" )
537537
string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_HOST_TRIPLE})
538538
endif ()
539539

540-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 8)
541-
542540
if (LLVM_NATIVE_ARCH MATCHES "i[2-6]86")
543541
set(LLVM_NATIVE_ARCH X86)
544-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
545542
elseif (LLVM_NATIVE_ARCH STREQUAL "x86")
546543
set(LLVM_NATIVE_ARCH X86)
547-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
548544
elseif (LLVM_NATIVE_ARCH STREQUAL "amd64")
549545
set(LLVM_NATIVE_ARCH X86)
550546
elseif (LLVM_NATIVE_ARCH STREQUAL "x86_64")
551547
set(LLVM_NATIVE_ARCH X86)
552548
elseif (LLVM_NATIVE_ARCH MATCHES "sparc")
553549
set(LLVM_NATIVE_ARCH Sparc)
554-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
555550
elseif (LLVM_NATIVE_ARCH MATCHES "powerpc")
556551
set(LLVM_NATIVE_ARCH PowerPC)
557-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
558552
elseif (LLVM_NATIVE_ARCH MATCHES "ppc64le")
559553
set(LLVM_NATIVE_ARCH PowerPC)
560554
elseif (LLVM_NATIVE_ARCH MATCHES "aarch64")
@@ -563,40 +557,30 @@ elseif (LLVM_NATIVE_ARCH MATCHES "arm64")
563557
set(LLVM_NATIVE_ARCH AArch64)
564558
elseif (LLVM_NATIVE_ARCH MATCHES "arm")
565559
set(LLVM_NATIVE_ARCH ARM)
566-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
567560
elseif (LLVM_NATIVE_ARCH MATCHES "avr")
568561
set(LLVM_NATIVE_ARCH AVR)
569-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 2)
570562
elseif (LLVM_NATIVE_ARCH MATCHES "mips")
571563
set(LLVM_NATIVE_ARCH Mips)
572-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
573564
elseif (LLVM_NATIVE_ARCH MATCHES "xcore")
574565
set(LLVM_NATIVE_ARCH XCore)
575-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
576566
elseif (LLVM_NATIVE_ARCH MATCHES "msp430")
577567
set(LLVM_NATIVE_ARCH MSP430)
578-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 2)
579568
elseif (LLVM_NATIVE_ARCH MATCHES "hexagon")
580569
set(LLVM_NATIVE_ARCH Hexagon)
581-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
582570
elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
583571
set(LLVM_NATIVE_ARCH SystemZ)
584572
elseif (LLVM_NATIVE_ARCH MATCHES "wasm32")
585573
set(LLVM_NATIVE_ARCH WebAssembly)
586-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
587574
elseif (LLVM_NATIVE_ARCH MATCHES "wasm64")
588575
set(LLVM_NATIVE_ARCH WebAssembly)
589576
elseif (LLVM_NATIVE_ARCH MATCHES "riscv32")
590577
set(LLVM_NATIVE_ARCH RISCV)
591-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
592578
elseif (LLVM_NATIVE_ARCH MATCHES "riscv64")
593579
set(LLVM_NATIVE_ARCH RISCV)
594580
elseif (LLVM_NATIVE_ARCH STREQUAL "m68k")
595581
set(LLVM_NATIVE_ARCH M68k)
596-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
597582
elseif (LLVM_NATIVE_ARCH MATCHES "loongarch32")
598583
set(LLVM_NATIVE_ARCH LoongArch)
599-
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T 4)
600584
elseif (LLVM_NATIVE_ARCH MATCHES "loongarch64")
601585
set(LLVM_NATIVE_ARCH LoongArch)
602586
else ()
@@ -634,6 +618,21 @@ else ()
634618
endif ()
635619
endif ()
636620

621+
foreach(i IN ITEMS 8 4)
622+
try_compile(SIZEOF_UINTPTR_T_IS_${i}
623+
SOURCE_FROM_CONTENT
624+
"test-sizeof-uintptr_t.cpp"
625+
"#include <cstdint>\n
626+
static_assert(sizeof(uintptr_t) == ${i}); int main(){}"
627+
CXX_STANDARD 17
628+
LOG_DESCRIPTION "testing sizeof(uintptr_t)")
629+
630+
if(SIZEOF_UINTPTR_T_IS_${i})
631+
set(LLVM_NATIVE_ARCH_SIZEOF_UINTPTR_T ${i})
632+
break()
633+
endif()
634+
endforeach()
635+
637636
if( MSVC )
638637
set(SHLIBEXT ".lib")
639638
set(stricmp "_stricmp")

0 commit comments

Comments
 (0)