preprocessor/3081: Preprocessor merges 2 first lines when -imacros is being used

pavenis@latnet.lv pavenis@latnet.lv
Thu Jun 7 22:46:00 GMT 2001


>Number:         3081
>Category:       preprocessor
>Synopsis:       Preprocessor merges 2 first lines when -imacros is being used
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 07 22:46:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Andris Pavenis
>Release:        gcc-3.0 20010606
>Organization:
>Environment:
Tested on targets targets i686-pc-linux-gnu, i586-pc-msdosdjgpp
>Description:
Preprocessor merges 2 first source lines (if first is not
#define) when command line option '-imacros dome_file'
is specified for preprocessor. Example is for C. It's not critical in this case, but it more serious for preprocessing assembler source as it may cause syntax error
in this situation. Initially I noticed it after preprocessing assembler file (target -i586-pc-msdosdjgpp)
as I get syntax errors due to this bug. After that I 
suceeded  to reproduce the same for Linux

Andris

-----------------  foo.h  ---------------------
#define foo
-----------------  foo.c  ---------------------
int	a=0;
int	b=0;
-----------------  command (under Linux)  -----
cpp -v -imacros foo.h foo.c
-----------------  output  --------------------
bash-2.05$ cpp -v -imacros foo.h foo.c -o -
Reading specs from /disk2/gcctest/lib/gcc-lib/i686-pc-linux-gnu/3.0/specs
Configured with: ../gcc/configure --prefix=/disk2/gcctest --enable-shared --verbose --enable-languages=c,c++,g77,objc --enable-threads=posix
Thread model: posix
gcc version 3.0 20010606 (prerelease)
 /disk2/gcctest/lib/gcc-lib/i686-pc-linux-gnu/3.0/cpp0 -lang-c -v -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ -imacros foo.h foo.c -o -
GNU CPP version 3.0 20010606 (prerelease) (cpplib) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /disk2/gcctest/lib/gcc-lib/i686-pc-linux-gnu/3.0/include
 /disk2/gcctest/i686-pc-linux-gnu/include
 /usr/include
End of search list.
# 1 "foo.c"
# 1 "foo.h" 1
# 2 "foo.c" 2
int a;int b;
bash-2.05$
>How-To-Repeat:
See description
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list