Resultados da pesquisa a pedido "strict-aliasing"

2 a resposta

Todos os ponteiros são derivados de ponteiros para tipos de estrutura iguais?

A questãoA questão de saber se todos os ponteiros derivados de ponteiros para tipos de estrutura são iguais, não é fácil de responder. Acho que é uma pergunta significativa pelas duas razões principais a seguir. UMA.A falta de um ponteiro para ...

1 a resposta

Como implementar "_mm_storeu_epi64" sem problemas de alias?

(Nota: embora esta pergunta seja sobre "armazenamento", o caso "carregar" tem os mesmos problemas e é perfeitamente simétrico.) Os intrínsecos SSE fornecem uma_mm_storeu_pd [http://msdn.microsoft.com/en-us/library/7ek6y8w1(v=vs.90).aspx]função ...

1 a resposta

apelido estrito em C

Pergunta sobre punição de tipo: por que esse código quebra regras estritas de alias: int main() { int a = 1; short j; printf("%i\n", j = *((short*)&a)); return 0; }e isso não é: int main() { int a = 1; short j; int *p; p=&a; printf("%i\n", j = ...

2 a resposta

Quando char * é seguro para aliasing estrito de ponteiro?

Eu tenho tentado entender as regras estritas de aliasing que se aplicam ao ponteiro de char. Aqui [http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#cast_to_char_pointer] isto é afirmado: Sempre se presume ...

3 a resposta

O uso desse ponteiro causa uma desoptimização estranha no loop quente

Recentemente, deparei-me com uma estranha desoptimização (ou melhor, perdi uma oportunidade de otimização). Considere esta função para descompactar com eficiência matrizes de números inteiros de 3 bits a números inteiros de 8 bits. Descompacta ...

2 a resposta

Isso realmente quebra as regras de alias estrito?

Ao compilar esse código de exemplo usando g ++, recebo este aviso: aviso: desmarcando o ponteiro puncionado por tipo violará regras de alias estrito[-Wstrict-aliasing] O código: #include <iostream> int main() { alignas(int) char ...

3 a resposta

Aliasing Arrays através de estruturas

Estou lendo o parágrafo 7 de 6.5 na ISO / IEC 9899: TC2. Aceita o acesso do valor a um objeto através de: um tipo agregado ou união que inclui um dos tipos mencionados acima entre seus membros (incluindo, recursivamente, um membro de uma união ...

2 a resposta

Mais uma vez: regra estrita de alias e char *

Quanto mais leio, mais confuso fico. A última pergunta das relacionadas é a mais próxima da minha, mas fiquei confuso com todas as palavras sobre a vida útil do objeto e principalmente - é bom ler apenas ou não. Para ir direto ao ponto. ...

4 a resposta

Digite puncionando uma estrutura em C e C ++ por meio de uma união

Eu compilei isso no gcc e no g ++ com pedante e não recebo um aviso em nenhum deles: #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 { int x, x2, ...

1 a resposta

É UB jogar fora const e ler valor? [duplicado]

Esta pergunta já tem uma resposta aqui: A remoção de const de um ponteiro para const obedece estritamente alias em C e se refere ao mesmo ...