Bug 107670

Summary: compile error with gcc; OK with gcc32
Product: [Fedora] Fedora Reporter: Gene Czarcinski <gczarcinski>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-10-21 21:20:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
source code for module getting compile error none

Description Gene Czarcinski 2003-10-21 21:11:24 UTC
Description of problem:
I am getting a compile error trying to build the rss_glx-0.7.4 rpm.  If I set
CC=gcc32, then the package build.  I can supply everything include the full rpm
but you can probably get it quicker/better from sourceforge.

The error messages are:

if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../src  -O2 -g -pipe
-march=i386 -mcpu=i686  -I/usr/X11R6/include  -O2 -g -pipe -march=i386
-mcpu=i686  -I/usr/X11R6/include -MT rsMath.o -MD -MP -MF ".deps/rsMath.Tpo" \
  -c -o rsMath.o `test -f 'rsMath.c' || echo './'`rsMath.c; \
then mv -f ".deps/rsMath.Tpo" ".deps/rsMath.Po"; \
else rm -f ".deps/rsMath.Tpo"; exit 1; \
fi
rsMath.c:40:9: missing terminating " character
rsMath.c: In function `rsCPUDetect':
rsMath.c:41: error: syntax error before "xor"
rsMath.c:69:9: missing terminating " character
rsMath.c:89:17: missing terminating " character
rsMath.c: In function `rsVec_normalize':
rsMath.c:90: error: syntax error before "femms"
rsMath.c:130:17: missing terminating " character
rsMath.c:142:17: missing terminating " character
rsMath.c:143: error: syntax error before "movups"
rsMath.c:162:17: missing terminating " character
rsMath.c:190:17: missing terminating " character
rsMath.c: In function `rsVec_cross':
rsMath.c:191: error: syntax error before "femms"
rsMath.c:224:17: missing terminating " character
rsMath.c:236:17: missing terminating " character
rsMath.c:237: error: syntax error before "movups"
rsMath.c:253:17: missing terminating " character
make[3]: *** [rsMath.o] Error 1


I will attach the corresponding source code for rsMath.c

Comment 1 Gene Czarcinski 2003-10-21 21:12:54 UTC
Created attachment 95361 [details]
source code for module getting compile error

Comment 2 Jakub Jelinek 2003-10-21 21:20:28 UTC
See http://gcc.gnu.org/gcc-3.3/changes.html
* The preprocessor no longer accepts multi-line string literals. They were deprecated in 3.0, 3.1, and 3.2.
Which means you need to fix the code if you want to compile it with gcc 3.3 and later.
Either by adding \ at the end of each line in multi-line string, like:
"foo\
bar\
baz"
or by concatenating one-line strings:
"foo\n"
"bar\n"
"baz\n"

Comment 3 Gene Czarcinski 2003-10-21 21:26:29 UTC
Oops ... pilot error ... sort of.

The problem still exists with gcc32 since it is using g++ to compile.

However, this compiles OK on RHL9.