https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63966

            Bug ID: 63966
           Summary: [5 regression] inconsistent operand constraints
                    compiling build libcpp
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: ubizjak at gmail dot com
              Host: i386-apple-darwin14.0.0
            Target: i386-apple-darwin14.0.0
             Build: i386-apple-darwin14.0.0

Bootstrapping Darwin/i386 (non-default 32-bit configuration) with gcc 4.9.1 
FAILs compiling the stage1 build libcpp:

g++ -m32  -I/vol/gcc/src/hg/trunk/local/libcpp -I.
-I/vol/gcc/src/hg/trunk/local/libcpp/../include
-I/vol/gcc/src/hg/trunk/local/libcpp/include  -g -O2 -W -Wall -Wno-narrowing
-Wwrite-strings -Wmissing-format-attribute -pedantic -Wno-long-long 
-fno-exceptions -fno-rtti -I/vol/gcc/src/hg/trunk/local/libcpp -I.
-I/vol/gcc/src/hg/trunk/local/libcpp/../include
-I/vol/gcc/src/hg/trunk/local/libcpp/include   -c -o lex.o -MT lex.o -MMD -MP
-MF .deps/lex.Tpo /vol/gcc/src/hg/trunk/local/libcpp/lex.c
In file included from /vol/gcc/src/hg/trunk/local/libcpp/lex.c:474:0:
/vol/gcc/src/hg/trunk/local/libcpp/../gcc/config/i386/cpuid.h: In function
'void _cpp_init_lexer()':
/vol/gcc/src/hg/trunk/local/libcpp/../gcc/config/i386/cpuid.h:209:46: error:
inconsistent operand constraints in an 'asm'
   __cpuid (__ext, __eax, __ebx, __ecx, __edx);
                                              ^
/vol/gcc/src/hg/trunk/local/libcpp/../gcc/config/i386/cpuid.h:232:52: error:
inconsistent operand constraints in an 'asm'
   __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
                                                    ^
make: *** [lex.o] Error 1

This was caused by the following patch:

2014-10-17  Uros Bizjak  <ubiz...@gmail.com>

    * config/i386/cpuid.h (__cpuid): Remove definitions that handle %ebx
    register in a special way.
    (__cpuid_count): Ditto.
    * config/i386/driver-i386.h: Protect with
    "#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))".
    (host_detect_local_cpu): Mention that GCC with non-fixed %ebx
    is required to compile the function.

Darwin/x86_64 isn't affected.

  Rainer

Reply via email to