Articles of clang

GCC (/ Clang): funciones de fusión con instrucciones idénticas (plegado COMDAT)

Simplemente curioso, ¿los conjuntos de herramientas de GCC o Clang implementan el equivalente del plegado COMDAT idéntico de MSVC (ICF) actualmente? Si no, ¿hay algún plan? Parece que no puedo encontrar enlaces autorizados recientes sobre el tema que no sean los antiguos mensajes de la lista de correo de GCC. Si no es así, ¿esto […]

¿Cómo se llama esta forma de scoping?

Más o menos por accidente me encontré con esta forma de scope DataSource *dataSource =({ NSInteger idx = [[self.tableView indexPathForSelectedRow] row]; DataSource *dataSource = [DataSource new]; dataSource.address = self.destinations[idx][0]; dataSource.name = self.destinations[idx][1]; dataSource; }); Creo que es una buena forma de crear y crear instancias de objetos y variables, ya que las variables temporales solo […]

Cómo hacer clang comstackr a llvm IR

Quiero clang para comstackr mi código C/C++ a LLVM bytecode en lugar de ejecutable binario. ¿Cómo puedo lograr eso? Y si obtengo el LLVM byte de LLVM , ¿cómo puedo llevarlo a comstackrlo en un ejecutable binario? Básicamente, quiero agregar algo de mi propio código al bytecode LLVM antes de comstackr en ejecutable binario.

Alternar entre GCC y Clang / LLVM utilizando CMake

Tengo varios proyectos creados con CMake y me gustaría poder cambiar fácilmente entre usar GCC o Clang / LLVM para comstackrlos. Creo (¡corríjanme si me equivoco!) Que para usar Clang necesito establecer lo siguiente: SET (CMAKE_C_COMPILER “/usr/bin/clang”) SET (CMAKE_C_FLAGS “-Wall -std=c99”) SET (CMAKE_C_FLAGS_DEBUG “-g”) SET (CMAKE_C_FLAGS_MINSIZEREL “-Os -DNDEBUG”) SET (CMAKE_C_FLAGS_RELEASE “-O4 -DNDEBUG”) SET (CMAKE_C_FLAGS_RELWITHDEBINFO “-O2 […]

¿Hay algún diccionario literal o syntax de matriz en Objective-C?

Siempre ha sido posible crear NSArrays (y NSDictionaries / NSNumber) con llamadas al método vararg, como: [NSArray arrayWithObjects: @”a”, @”b”, @”c”, nil]; ¿Se pueden crear con literales en línea en una nueva mejora de LLVM y Clang?

¿Cómo comstackr / vincular Boost con clang ++ / libc ++?

La respuesta a esta pregunta ¿Por qué no se puede chocar con libc ++ en el modo c ++ 0x vincular este ejemplo de boost :: program_options? indica “Necesitas reconstruir el impulso utilizando clang ++ -stdlib = libc ++”. Estoy usando MacOS Lion con clang v3.0. ¿Cómo construyo Boost v1.48.0 utilizando clang y lo vinculo […]

constexpr e inicialización de un puntero estático de const void con reinterpretar elenco, ¿qué comstackdor está en lo cierto?

Considere la siguiente pieza de código: struct foo { static constexpr const void* ptr = reinterpret_cast(0x1); }; auto main() -> int { return 0; } El ejemplo anterior comstack bien en g ++ v4.9 ( demostración en vivo ), mientras que no puede comstackrse en clang v3.4 ( demostración en vivo ) y genera el […]

Error al habilitar openmp – “ld: biblioteca no encontrada para -lgomp” y errores de Clang

Estoy intentando hacer que openmp se ejecute en mi progtwig en Mavericks, sin embargo, cuando bash comstackr usando el flag -fopenmp , obtengo el siguiente error: ld: library not found for -lgomp clang: error: linker command failed with exit code 1 (use -v to see invocation) El comando que estoy ejecutando es: gcc myProgram.cpp -fopenmp […]

ARC y reparto puente

Con ARC, ya no puedo convertir CGColorRef en id . Aprendí que necesito hacer un reparto en puente. Según clang docs : Un elenco en puente es un elenco de estilo C anotado con una de tres palabras clave: (__bridge T) op lanza el operando al tipo de destino T Si T es un tipo […]

¿Se permite al comstackdor optimizar las asignaciones de memoria de montón?

Considere el siguiente código simple que hace uso de new (soy consciente de que no hay delete[] , pero no pertenece a esta pregunta): int main() { int* mem = new int[100]; return 0; } ¿El comstackdor puede optimizar la new llamada? En mi investigación, g ++ (5.2.0) y Visual Studio 2015 no optimizan la […]