Resultados de la búsqueda a petición "strict-aliasing"

1 la respuesta

¿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 ...

2 la respuesta

¿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 ...

3 la respuesta

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 ...

2 la respuesta

¿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() { ...

3 la respuesta

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 ...

2 la respuesta

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 ...

4 la respuesta

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 { ...

1 la respuesta

¿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] ...

7 la respuesta

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 ...

5 la respuesta

¿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 ...