Bug 39170

Summary: g++ "invalid character '=' in operand 1"
Product: [Retired] Red Hat Linux Reporter: Peng Zhao <pengzhao>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED DUPLICATE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-05-05 00:06:02 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
temp file (.ii) generated with "save-temps" on none

Description Peng Zhao 2001-05-05 00:04:28 UTC
Description of Problem:
/tmp/ccWP1vm1.s: Assembler messages:
/tmp/ccWP1vm1.s:1478: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:1773: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:1846: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:1940: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2229: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2261: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2372: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2446: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2672: Error: invalid character '=' in operand 1
...

How Reproducible:
g++ -D_SGI_SOURCE -D_LANGUAGE_C_PLUS_PLUS -Wformat -funsigned-char
-D__GNU_BUG_WORKAROUND -D_NOTHREADS -c            -D__MIPS_AND_IA64_ELF_H
-DTARG_IA64 -D_NEW_SYMTAB -D_MERGE_SUMMARY_ST_IDX_=1 -DBACK_END
-DIs_True_On -DInsist_On -DSTD_MONGOOSE_LOC='"/usr/lib32/cmplrs"'
-D_SUPPORT_IPA -D_MULTIGOT  -D_NEW_SYMTAB -D_MERGE_SUMMARY_ST_IDX_=1
-DBACK_END -DIs_True_On -DInsist_On
-DSTD_MONGOOSE_LOC='"/usr/lib32/cmplrs"' -D_SUPPORT_IPA -DMONGOOSE_BE 
-I../../ipa/common -I../../ipa/local -I../../ipa/main/optimize
-I../../ipa/main/analyze -I../../be/lno -I../../be/com -I../../common/com
-I../../be/region -I../../be/opt -I../../common/com/ia64
-I../../common/util -I../../fake_ld/common -I../../fake_ld -I../be
-I../include/libelf   -I../include  -g -D_MIPSEL -D_LONGLONG
-D_MIPS_SZINT=32 -D_MIPS_SZPTR=32 -D_MIPS_SZLONG=32 -MD
../../ipa/common/ipc_dst_merge.cxx -o ipc_dst_merge.o


Steps to Reproduce:
1. 
2. 
3. 

Actual Results:
g++ -D_SGI_SOURCE -D_LANGUAGE_C_PLUS_PLUS -Wformat -funsigned-char
-D__GNU_BUG_WORKAROUND -D_NOTHREADS -c            -D__MIPS_AND_IA64_ELF_H
-DTARG_IA64 -D_NEW_SYMTAB -D_MERGE_SUMMARY_ST_IDX_=1 -DBACK_END
-DIs_True_On -DInsist_On -DSTD_MONGOOSE_LOC='"/usr/lib32/cmplrs"'
-D_SUPPORT_IPA -D_MULTIGOT  -D_NEW_SYMTAB -D_MERGE_SUMMARY_ST_IDX_=1
-DBACK_END -DIs_True_On -DInsist_On
-DSTD_MONGOOSE_LOC='"/usr/lib32/cmplrs"' -D_SUPPORT_IPA -DMONGOOSE_BE 
-I../../ipa/common -I../../ipa/local -I../../ipa/main/optimize
-I../../ipa/main/analyze -I../../be/lno -I../../be/com -I../../common/com
-I../../be/region -I../../be/opt -I../../common/com/ia64
-I../../common/util -I../../fake_ld/common -I../../fake_ld -I../be
-I../include/libelf   -I../include  -g -D_MIPSEL -D_LONGLONG
-D_MIPS_SZINT=32 -D_MIPS_SZPTR=32 -D_MIPS_SZLONG=32 -MD
../../ipa/common/ipc_dst_merge.cxx -o ipc_dst_merge.o

In file included from ../../be/com/fb_whirl.h:67,
                 from ../../ipa/local/ipl_summary.h:76,
                 from ../../ipa/main/analyze/ipa_cg.h:65,
                 from ../../ipa/common/ipc_dst_merge.cxx:51:
../../common/com/fb_info.h:142:2: warning: multi-line comment
../../common/com/fb_info.h:145:2: warning: multi-line comment
/tmp/ccWP1vm1.s: Assembler messages:
/tmp/ccWP1vm1.s:1478: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:1773: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:1846: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:1940: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2229: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2261: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2372: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2446: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2672: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2785: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2913: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:2997: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3044: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3138: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3222: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3269: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3442: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3648: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:3695: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:17945: Warning: missing operand; zero assumed
/tmp/ccWP1vm1.s:17948: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17949: Error: ignoring unrecognized symbol type ""
/tmp/ccWP1vm1.s:17949: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17950: Error: Bad expression
/tmp/ccWP1vm1.s:17954: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17963: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17980: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17986: Error: expected comma after name `operator' in .size
directive
/tmp/ccWP1vm1.s:17986: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17990: Error: Rest of line ignored. First ignored character
is `='.
/tmp/ccWP1vm1.s:17993: Error: Bad expression
/tmp/ccWP1vm1.s:17996: Error: Rest of line ignored. First ignored character
is `!'.
/tmp/ccWP1vm1.s:17997: Error: ignoring unrecognized symbol type ""
/tmp/ccWP1vm1.s:17997: Error: Rest of line ignored. First ignored character
is `!'.
/tmp/ccWP1vm1.s:17998: Error: invalid character '!' in mnemonic
/tmp/ccWP1vm1.s:18000: Error: Bad expression
/tmp/ccWP1vm1.s:18009: Error: Bad expression
/tmp/ccWP1vm1.s:18029: Error: Bad expression
/tmp/ccWP1vm1.s:18035: Error: expected comma after name `operator' in .size
directive
/tmp/ccWP1vm1.s:18035: Error: Rest of line ignored. First ignored character
is `!'.
/tmp/ccWP1vm1.s:18039: Error: Bad expression
/tmp/ccWP1vm1.s:18160: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:18248: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:18337: Error: invalid character '=' in operand 1
/tmp/ccWP1vm1.s:19128: Warning: missing operand; zero assumed
/tmp/ccWP1vm1.s:19703: Warning: missing operand; zero assumed
/tmp/ccWP1vm1.s:19706: Error: Rest of line ignored. First ignored character
is `<'.
/tmp/ccWP1vm1.s:19707: Error: ignoring unrecognized symbol type ""
/tmp/ccWP1vm1.s:19707: Error: Rest of line ignored. First ignored character
is `<'.
/tmp/ccWP1vm1.s:19708: Error: invalid character '<' in mnemonic
/tmp/ccWP1vm1.s:19712: Warning: missing operand; zero assumed
/tmp/ccWP1vm1.s:19721: Warning: missing operand; zero assumed
/tmp/ccWP1vm1.s:19746: Warning: missing operand; zero assumed
/tmp/ccWP1vm1.s:19752: Error: expected comma after name `operator' in .size
directive
/tmp/ccWP1vm1.s:19752: Error: Rest of line ignored. First ignored character
is `<'.
/tmp/ccWP1vm1.s:19756: Warning: missing operand; zero assumed
gmake[1]: *** [ipc_dst_merge.o] Error 1

Expected Results:


Additional Information:
sakwatamau:/nue/usr/brule12/grad/pengzhao/pro64>  g++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.0)
sakwatamau:/nue/usr/brule12/grad/pengzhao/pro64> uname -a
Linux sakwatamau 2.2.16-3 #17 Tue Nov 28 11:36:11 MST 2000 i686 unknown

Comment 1 Peng Zhao 2001-05-05 00:05:59 UTC
Created attachment 17408 [details]
temp file (.ii) generated with "save-temps" on

Comment 2 Jakub Jelinek 2001-05-05 17:01:41 UTC
This is primarily bug in the source, C++ operators should be never defined
with "C" linkage (and e.g. having two operator!= declarations with "C" linkage
cannot work at all).
The mangling of operators with "C" linkage has been changed in g++-2.96-72,
so unless you want to fix the source, you should upgrade (preferably to g++
shipped in the 7.1 distribution (g++-2.96-81).

*** This bug has been marked as a duplicate of 24685 ***

Comment 3 Jakub Jelinek 2001-05-05 17:10:25 UTC
*** Bug 39169 has been marked as a duplicate of this bug. ***