| 
	#include <stdio.h>
	struct foo {int a; char b[2];} structure;
	void test(int x,int y);
	int main(void)
	{
	 int x;
	 int y;
	 scanf("%d",&x);
	 scanf("%d",&y);
	 test(x,y);
	 return;
	}
	void test(int x,int y)
	{
	 structure = ((struct foo) {x + y, 'a', 0});
	} | 
| .file "test55.c" .version "01.01" gcc2_compiled.: .section .rodata .LC0: .string "%d" .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $24,%esp addl $-8,%esp leal -4(%ebp),%eax pushl %eax pushl $.LC0 call scanf addl $16,%esp addl $-8,%esp leal -8(%ebp),%eax pushl %eax pushl $.LC0 call scanf addl $16,%esp addl $-8,%esp movl -8(%ebp),%eax pushl %eax movl -4(%ebp),%eax pushl %eax call test addl $16,%esp jmp .L2 .p2align 4,,7 .L2: movl %ebp,%esp popl %ebp ret .Lfe1: .size main,.Lfe1-main .align 4 .globl test .type test,@function test: pushl %ebp movl %esp,%ebp pushl %ebx movl 8(%ebp),%ecx movl 12(%ebp),%ebx addl %ebx,%ecx movl %ecx,%eax xorl %ecx,%ecx movb $97,%cl movw %cx,%dx movl %eax,structure movl %edx,structure+4 .L3: movl -4(%ebp),%ebx movl %ebp,%esp popl %ebp ret .Lfe2: .size test,.Lfe2-test .comm structure,8,4 .ident "GCC: (GNU) 2.95.3 20010315 (release)" | 
| .file "test56.c" .version "01.01" gcc2_compiled.: .section .rodata .LC0: .string "%d" .comm structure,8,4 .text .align 4 .globl test .type test,@function test: pushl %ebp movl %esp,%ebp movl 12(%ebp),%eax movl 8(%ebp),%edx addl %eax,%edx movl $97,%eax movw %ax,%cx movl %edx,structure movl %ecx,structure+4 movl %ebp,%esp popl %ebp ret .Lfe1: .size test,.Lfe1-test .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $24,%esp addl $-8,%esp leal -4(%ebp),%eax pushl %eax pushl $.LC0 call scanf addl $-8,%esp leal -8(%ebp),%eax pushl %eax pushl $.LC0 call scanf movl -8(%ebp),%eax addl $32,%esp addl $-8,%esp pushl %eax movl -4(%ebp),%eax pushl %eax call test movl %ebp,%esp popl %ebp ret .Lfe2: .size main,.Lfe2-main .ident "GCC: (GNU) 2.95.3 20010315 (release)" | 
| 
	#include <stdio.h>
	struct foo {int a; char b[2];} structure;
	void test(int x,int y);
	int main(void)
	{
	 int x;
	 int y;
	 scanf("%d",&x);
	 scanf("%d",&y);
	 test(x,y);
	 return;
	}
	void test(int x,int y)
	{
	 struct foo temp = {x + y, 'a', 0};
	 structure = temp;
	} | 
| .file "test57.c" .version "01.01" gcc2_compiled.: .section .rodata .LC0: .string "%d" .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $24,%esp addl $-8,%esp leal -4(%ebp),%eax pushl %eax pushl $.LC0 call scanf addl $16,%esp addl $-8,%esp leal -8(%ebp),%eax pushl %eax pushl $.LC0 call scanf addl $16,%esp addl $-8,%esp movl -8(%ebp),%eax pushl %eax movl -4(%ebp),%eax pushl %eax call test addl $16,%esp jmp .L2 .p2align 4,,7 .L2: movl %ebp,%esp popl %ebp ret .Lfe1: .size main,.Lfe1-main .align 4 .globl test .type test,@function test: pushl %ebp movl %esp,%ebp subl $20,%esp pushl %ebx movl 8(%ebp),%ecx movl 12(%ebp),%ebx addl %ebx,%ecx movl %ecx,%eax xorl %ecx,%ecx movb $97,%cl movw %cx,%dx movl %eax,-8(%ebp) movl %edx,-4(%ebp) movl -8(%ebp),%eax movl -4(%ebp),%edx movl %eax,structure movl %edx,structure+4 .L3: movl -24(%ebp),%ebx movl %ebp,%esp popl %ebp ret .Lfe2: .size test,.Lfe2-test .comm structure,8,4 .ident "GCC: (GNU) 2.95.3 20010315 (release)" |