abseil / abseil/abseil-cpp

[Bug]: clang 15 defines `__GXX_RTTI` but doesn't have `cxxabi.h`

Abierto
#1,435 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
18.1k
Forks
3.2k
Merge medio
20 h 36 min
PR fusionados (30 d)
1

Descripción

### Describe the issue

In layout.h we have
```
if defined(__GXX_RTTI)
#define ABSL_INTERNAL_HAS_CXA_DEMANGLE
#endif

#ifdef ABSL_INTERNAL_HAS_CXA_DEMANGLE
#include
#endif
```
which then falls over since cxxabi.h doesn't exist.

### Steps to reproduce the problem

Build run clang-tidy version 15 or 16 (or presumably build with the corresponding clang version).

### What version of Abseil are you using?

20230125.2

### What operating system and version are you using?

Mac OS 13

### What compiler and version are you using?

clang-tidy 15/16

### What build system are you using?

cmake 3.26.3

### Additional context

Using the conan package.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

El problema está en layout.h, donde la detección de __GXX_RTTI incluye cxxabi.h, pero clang 15+ define __GXX_RTTI sin proporcionar ese encabezado. Empieza examinando layout.h y la configuración de compilación circundante. Comprueba cómo detectan otros proyectos la disponibilidad de cxxabi.h. Ejecuta una compilación con clang 15/16 para ver el error y, después, ajusta las comprobaciones del preprocesador para que comprueben la existencia del encabezado, no solo la macro.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cmake, cpp
Área
build-system
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.