Resultados de la búsqueda a petición "strict-aliasing"
¿Cómo implementar "_mm_storeu_epi64" sin problemas de alias?
(Nota: aunque esta pregunta es sobre "almacenar", el caso de "carga" tiene los mismos problemas y es perfectamente simétrico). Los intrínsecos SSE proporcionan ...
¿Cuándo es seguro char * para un estricto alias de puntero?
He estado tratando de entender las estrictas reglas de alias que se aplican al puntero de caracteres. aquí [http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#cast_to_char_pointer] esto se afirma: Siempre se ...
El uso de este puntero provoca una desoptimización extraña en el bucle dinámico
Recientemente me encontré con una desoptimización extraña (o más bien perdí la oportunidad de optimización). Considere esta función para desempaquetar de manera eficiente conjuntos de enteros de 3 bits a enteros de 8 bits. Descomprime 16 ints en ...
¿Esto realmente rompe las reglas de alias estricto?
Cuando compilo este código de muestra usando g ++, recibo esta advertencia: advertencia: desreferenciar el puntero de tipo punteado romperá las reglas de alias estricto[-Wstrict-aliasing] El código: #include <iostream> int main() { ...
Alias de matrices a través de estructuras
Estoy leyendo el párrafo 7 de 6.5 en ISO / IEC 9899: TC2. Condonar el acceso de valor a un objeto a través de: un tipo agregado o de unión que incluye uno de los tipos antes mencionados entre sus miembros (incluido, recursivamente, un miembro ...
Una vez más: estricta regla de alias y char *
Cuanto más leo, más confundido me pongo. La última pregunta de los relacionados es la más cercana a mi pregunta, pero me confundí con todas las palabras sobre la vida útil de los objetos y, especialmente, ¿está bien leer o no? Para llegar ...
Escriba puntear una estructura en C y C ++ a través de una unión
He compilado esto en gcc y g ++ con pedante y no recibo ninguna advertencia en ninguno de los dos: #include <stdio.h> #include <stdlib.h> #include <string.h> struct a { struct a *next; int i; }; struct b { struct b *next; int i; }; struct c { ...
¿Es UB desechar const y leer valor? [duplicar]
Esta pregunta ya tiene una respuesta aquí: ¿Eliminar const de un puntero a const obedece a un alias estricto en C y se refiere al mismo objeto? [/questions/14437699/does-removing-const-from-a-pointer-to-const-obey-strict-aliasing-in-c-and-refer] ...
gcc, alias estricto y transmisión a través de una unión
¿Tienes alguna historia de terror que contar? El Manual del CCG agregó recientemente una advertencia sobre -fstrict-aliasing y lanzar un puntero a través de una unión: [...] Tomar la dirección, lanzar el puntero resultante y desreferenciar ...
¿Se pueden evitar los problemas de aliasing con variables constantes?
Mi empresa utiliza un servidor de mensajería que envía un mensaje a unconst char* y luego lo convierte al tipo de mensaje. Me he preocupado por esto después de preguntaresta pregunta [https://stackoverflow.com/q/28697626/2642059]. No conozco ...