[Bug preprocessor/68854] New: isystem and ansi cause arm assembly preprocessing problem

vasyl.vavrychuk at globallogic dot com gcc-bugzilla@gcc.gnu.org
Fri Dec 11 13:31:00 GMT 2015


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

            Bug ID: 68854
           Summary: isystem and ansi cause arm assembly preprocessing
                    problem
           Product: gcc
           Version: 5.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vasyl.vavrychuk at globallogic dot com
  Target Milestone: ---

Created attachment 36994
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36994&action=edit
source code

I have next test.s file

#include "test.h"
D(b)

and in the folder h I have test.h file

#define D(x) .globl x

Running command

/usr/lib/gcc/x86_64-linux-gnu/5/cc1 -E -lang-asm -isystem h test.s --ansi

I get

# 1 "test.s"                            
# 1 "<built-in>"                        
# 1 "<command-line>"                    
# 1 "/usr/include/stdc-predef.h" 1 3 4  
# 1 "<command-line>" 2                  
# 1 "test.s"                            
# 1 "h/test.h" 1 3 4                    
# 2 "test.s" 2                          

# 2 "test.s" 3 4                        
.globl                                  
# 2 "test.s"                            
b                                       

which is not correct since ".globl b" is splited and wont be compiled by
assebler.

If I remove '--ansi' or replace '-isystem' with '-I' result because correct

# 1 "test.s"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "test.s"
# 1 "h/test.h" 1
# 2 "test.s" 2
.globl b

Here I put gcc command line which shows assembler error

gcc -ansi -xassembler-with-cpp -isystemh -c test.s -v
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.2.1-22ubuntu2'
--with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-5 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
COLLECT_GCC_OPTIONS='-ansi' '-isystem' 'h' '-c' '-v' '-mtune=generic'
'-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -E -lang-asm -quiet -v -imultiarch
x86_64-linux-gnu -isystem h test.s -mtune=generic -march=x86-64 -ansi
-fstack-protector-strong -Wformat -Wformat-security -fno-directives-only -o
/tmp/ccqIhd5s.s
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 h
 /usr/lib/gcc/x86_64-linux-gnu/5/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-ansi' '-isystem' 'h' '-c' '-v' '-mtune=generic'
'-march=x86-64'
 as -v --64 -o test.o /tmp/ccqIhd5s.s
GNU assembler version 2.25.1 (x86_64-linux-gnu) using BFD version (GNU Binutils
for Ubuntu) 2.25.1
test.s: Assembler messages:
test.s:2: Error: expected symbol name
test.s:3: Error: no such instruction: `b'

On gcc 4.9 it is not reproduced.


More information about the Gcc-bugs mailing list