Skip to content

[LIBC] Invalid token in LIBC_NAMESPACE macro expansion #125831

Closed
@samvangysegem

Description

@samvangysegem

When building the libc library based on the release/20.x branch, the compilation fails due to an invalid token in the LIBC_NAMESPACE macro expansion. This problem is rooted in the definition of LLVM_VERSION_SUFFIX

if(NOT DEFINED LLVM_VERSION_SUFFIX)
set(LLVM_VERSION_SUFFIX -rc1)
endif()

and its usage to configure the default_namespace field

set(default_namespace "__llvm_libc")
if(LLVM_VERSION_MAJOR)
set(default_namespace "__llvm_libc_${LLVM_VERSION_MAJOR}_${LLVM_VERSION_MINOR}_${LLVM_VERSION_PATCH}_${LLVM_VERSION_SUFFIX}")
endif()
set(LIBC_NAMESPACE ${default_namespace}
CACHE STRING "The namespace to use to enclose internal implementations. Must start with '__llvm_libc'."
)

For the release/20.x branch, LIBC_NAMESPACE is expanded to __llvm_libc_20_1_0_-rc1 with the invalid token -. This can be fixed relatively easy by either updating the LLVM_VERSION_SUFFIX definition to not use the - token or by removing the LLVM_VERSION_SUFFIX from the libc default_namespace.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions