[Bug c/55646] New: Array of data as argument
bratsinot at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Dec 11 14:03:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55646
Bug #: 55646
Summary: Array of data as argument
Classification: Unclassified
Product: gcc
Version: 4.7.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: bratsinot@gmail.com
If wrote this:
> fwrite("\xAA\xBB\xCC\x0A", 1, 4, stdout);
gcc put in .data/.text section one piece of data, something like that:
> .string "\252\273\314\n"
But if wrote this:
> fwrite((uint8_t[]){0xAA,0xBB,0xCC,0x0A}, 1, 4, stdout);
gcc will put the data bit by bit in stack, something like that:
> movb $-86, (%rsp)
> movb $-69, 1(%rsp)
> movb $-52, 2(%rsp)
> movb $10, 3(%rsp)
P.S. Build with -O3
More information about the Gcc-bugs
mailing list