http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53353

             Bug #: 53353
           Summary: Missing error/warning when using __int128_t with
                    incorrect asm register constraints
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: svfue...@gmail.com


The following (nonsensical) code should give an error (or at least a warning)
about the 128 bit type not fitting into a register:

void foo(__int128_t x)
{
    asm("mov %0, bar":: "r" (x));
}

Instead, the above compiles into an instruction that uses the 16 bit register
%ax.

(Compiled with -Wall -W)

Reply via email to