This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/38521] -masm=intel, struct output for __asm__() block causes gcc to ask for bug report.
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Dec 2008 11:18:03 -0000
- Subject: [Bug c/38521] -masm=intel, struct output for __asm__() block causes gcc to ask for bug report.
- References: <bug-38521-17079@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from ubizjak at gmail dot com 2008-12-14 11:18 -------
There were many problems with -masm=intel, that were fixed for gcc-4.3 and
later by [1] and (many) followup patches. The change that you are looking for
is (gcc/config/i386/i386.c):
@@ -9037,8 +9047,9 @@ print_operand (FILE *file, rtx x, int co
else if (MEM_P (x))
{
- /* No `byte ptr' prefix for call instructions. */
- if (ASSEMBLER_DIALECT == ASM_INTEL && code != 'X' && code != 'P')
+ /* No `byte ptr' prefix for call instructions or BLKmode operands. */
+ if (ASSEMBLER_DIALECT == ASM_INTEL && code != 'X' && code != 'P'
+ && GET_MODE (x) != BLKmode)
{
const char * size;
switch (GET_MODE_SIZE (GET_MODE (x)))
However, this is just one of many changes to properly support -masm=intel, so
my best advice is to use gcc-4.3.x. This won't be fixed for gcc-4.2.
[1] http://gcc.gnu.org/ml/gcc-patches/2007-10/msg01254.html
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Known to work| |4.3.0
Resolution| |WONTFIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38521