tcmalloc/internal/config.h rejects GCC older than 12.1 (and Clang older than 11) at preprocessing time. PiperOrigin-RevId: 981638085
1.9 KiB
TCMalloc Platforms
The TCMalloc code is supported on the following platforms. By "platforms", we mean the union of operating system, architecture (e.g. little-endian vs. big-endian), compiler, and standard library.
Language Requirements
TCMalloc requires a code base that supports C++17 and our code is C++17-compliant. C code is required to be compliant to C11.
We guarantee that our code will compile under the following compilation flags:
Linux:
- gcc 12.1+, clang 11.0+:
-std=c++17
(TL;DR; All code at this time must be built under C++17. We will update this list if circumstances change.)
Supported Platforms
The document below lists each platform, broken down by Operating System, Architecture, Specific Compiler, and Standard Library implementation.
Linux
Supported
| Operating System | Endianness/Word Size | Processor Architectures | Compilers* | Standard Libraries |
|---|---|---|---|---|
| Linux | little-endian, 64-bit | x86, AArch64 | gcc 12.1+ clang 11.0+ |
libstdc++ libc++ |
* gcc 12.1 and clang 11.0 are the minimum versions enforced by
tcmalloc/internal/config.h; older releases fail to compile. Our continuous
integration builds use recent releases of each compiler.
Best Effort
| Operating System | Endianness/Word Size | Processor Architectures | Compilers* | Standard Libraries |
|---|---|---|---|---|
| Linux | little-endian, 64-bit | PPC | gcc 12.1+ clang 11.0+ |
libstdc++ libc++ |