This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug preprocessor/68854] New: isystem and ansi cause arm assembly preprocessing problem
- From: "vasyl.vavrychuk at globallogic dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 11 Dec 2015 13:31:28 +0000
- Subject: [Bug preprocessor/68854] New: isystem and ansi cause arm assembly preprocessing problem
- Auto-submitted: auto-generated
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.