es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

clang: advertencia: argumento no utilizado durante la compilación: ‘-always-inline’ [-Wunused-command-line-argument]

Quiero forzar al compilador clang a que inlinee el código.
Ya he utilizado la etiqueta inline __attribute__((always_inline)) al definir la función:

inline attribute((always_inline)) void func() {
// ...
}

He intentado compilar el código usando:

clang sort.c -O3 -DNDEBUG -g -Wall -std=gnu99 -gdwarf-3 -always-inline -lrt -lm -o sort

Sin embargo, obtuve una advertencia al compilar:

clang: warning: argumento no utilizado durante la compilación: '-always-inline' [-Wunused-command-line-argument]

Y mi función no se inlineó.
¿Qué me he perdido?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que la opción -always-inline no es reconocida por clang. En su lugar, se debe utilizar la opción -O3 para habilitar la optimización agresiva, la cual incluye la inlinización de llamadas a funciones. Por lo tanto, el comando correcto para compilar tu código con la inlinización habilitada debería ser:

    clang sort.c -O3 -DNDEBUG -g -Wall -std=gnu99 -gdwarf-3 -lrt -lm -o sort
    

    Ten en cuenta que la opción -always-inline debe ser removida, ya que no está realizando ninguna acción en este caso.

Comments are closed.