
typedef int Tab[20];
typedef struct {
Tab t;
} St;
void f() {
St s,s2;
s=s2; //ca recopie tout le tableau ou juste les pointeurs ?
}
h: subl $172, %esp leal 80(%esp), %edx movl %esp, %eax pushl %ecx pushl $80 pushl %eax pushl %edx call memcpy addl $188, %esp ret
h:
..B1.1: # Preds ..B1.0
subl $160, %esp #20.10
movl (%esp), %eax #23.5
movl 4(%esp), %edx #23.5
movl 8(%esp), %ecx #23.5
movl %eax, 80(%esp) #23.5
movl 12(%esp), %eax #23.5
movl %edx, 84(%esp) #23.5
movl %ecx, 88(%esp) #23.5
movl %eax, 92(%esp) #23.5
movl 16(%esp), %eax #23.5
movl %eax, 96(%esp) #23.5
movl 20(%esp), %eax #23.5
movl %eax, 100(%esp) #23.5
movl 24(%esp), %eax #23.5
movl %eax, 104(%esp) #23.5
movl 28(%esp), %eax #23.5
movl %eax, 108(%esp) #23.5
movl 32(%esp), %eax #23.5
movl %eax, 112(%esp) #23.5
movl 36(%esp), %eax #23.5
movl %eax, 116(%esp) #23.5
movl 40(%esp), %eax #23.5
movl %eax, 120(%esp) #23.5
movl 44(%esp), %eax #23.5
movl %eax, 124(%esp) #23.5
movl 48(%esp), %eax #23.5
movl %eax, 128(%esp) #23.5
movl 52(%esp), %eax #23.5
movl %eax, 132(%esp) #23.5
movl 56(%esp), %eax #23.5
movl %eax, 136(%esp) #23.5
movl 60(%esp), %eax #23.5
movl %eax, 140(%esp) #23.5
movl 64(%esp), %eax #23.5
movl %eax, 144(%esp) #23.5
movl 68(%esp), %eax #23.5
movl %eax, 148(%esp) #23.5
movl 72(%esp), %eax #23.5
movl %eax, 152(%esp) #23.5
movl 76(%esp), %eax #23.5
movl %eax, 156(%esp) #23.5
# LOE ebx ebp esi edi
..B1.2: # Preds ..B1.1
addl $160, %esp #24.1
ret #24.1
h: rts

PpHd :
Nouveau jeu:
Trouvez et expliquez LE warning:
struct toto {int x;}; typedef struct toto tutu[1]; int g() { tutu a; tutu *b = &a; return 0; } int h (tutu a) { tutu *b = &a; return 0; }
