public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [pch-branch] missing binary operator issue.
@ 2002-12-13  4:04 Karel Gardas
  2003-01-02 17:59 ` Geoff Keating
  0 siblings, 1 reply; 6+ messages in thread
From: Karel Gardas @ 2002-12-13  4:04 UTC (permalink / raw)
  To: GCC Mailing List


Hello,

I've updated to todays pch-branch sources and try to compile MICO with
this compiler. Unfortunatelly, when using PCH it fails to compile first
file with:

os-unix.cc:194:12: missing binary operator before token "("
os-unix.cc:243:14: missing binary operator before token "("
../include/mico/code_set_registry.h:5: warning: `CORBA::Codeset::Info
   _osf_cs_reg[193]' defined but not used


This file is perfectly compilable w/o using PCH with this compiler.
Problematic lines look:

     193
     194 #if defined(HAVE_DLOPEN) && defined(HAVE_DYNAMIC)
     195

and

     242
     243 #elif defined(HAVE_SHL_LOAD) && defined(HAVE_DYNAMIC)
     244


FYI: Comeau is perfectly ok with these sources even with PCH on, so I hope
they are ok from PCH point of view, but it might be a bug in gcc.

Anything what should I test for you?

Thanks,

Karel
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [pch-branch] missing binary operator issue.
  2002-12-13  4:04 [pch-branch] missing binary operator issue Karel Gardas
@ 2003-01-02 17:59 ` Geoff Keating
  2003-01-02 21:26   ` Karel Gardas
  0 siblings, 1 reply; 6+ messages in thread
From: Geoff Keating @ 2003-01-02 17:59 UTC (permalink / raw)
  To: Karel Gardas; +Cc: gcc

Karel Gardas <kgardas@objectsecurity.com> writes:

> os-unix.cc:194:12: missing binary operator before token "("

>      194 #if defined(HAVE_DLOPEN) && defined(HAVE_DYNAMIC)

This should now be fixed.

-- 
- Geoffrey Keating <geoffk@geoffk.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [pch-branch] missing binary operator issue.
  2003-01-02 17:59 ` Geoff Keating
@ 2003-01-02 21:26   ` Karel Gardas
  2003-01-02 22:21     ` Andrew Pinski
  2003-01-07 19:32     ` Geoff Keating
  0 siblings, 2 replies; 6+ messages in thread
From: Karel Gardas @ 2003-01-02 21:26 UTC (permalink / raw)
  To: Geoff Keating; +Cc: gcc

On Thu, 2 Jan 2003, Geoff Keating wrote:

> Karel Gardas <kgardas@objectsecurity.com> writes:
>
> > os-unix.cc:194:12: missing binary operator before token "("
>
> >      194 #if defined(HAVE_DLOPEN) && defined(HAVE_DYNAMIC)
>
> This should now be fixed.
>

Great! But now I get:

thinkpad:~/arch/devel/mico-devel/orb$ c++ -I../include -Wall  -DFAST_PCH
-fpermissive    -DPIC -fPIC  -c orb_pch.h
../include/mico/code_set_registry.h:5: warning: `CORBA::Codeset::Info
   _osf_cs_reg[193]' defined but not used

thinkpad:~/arch/devel/mico-devel/orb$ make
c++  -I../include -Wall  -DFAST_PCH -fpermissive    -DPIC -fPIC  -c
os-unix.cc -o os-unix.pic.o
../include/mico/code_set_registry.h:5: warning: `CORBA::Codeset::Info
   _osf_cs_reg[193]' defined but not used
/tmp/cczg5mr7.s: Assembler messages:
/tmp/cczg5mr7.s:2963: Error: symbol `.LCFI0' is already defined
/tmp/cczg5mr7.s:2965: Error: symbol `.LCFI1' is already defined
/tmp/cczg5mr7.s:2967: Error: symbol `.LCFI2' is already defined
/tmp/cczg5mr7.s:2969: Error: symbol `.LCFI3' is already defined
/tmp/cczg5mr7.s:2973: Error: symbol `.L2' is already defined
/tmp/cczg5mr7.s:2985: Error: symbol `.L4' is already defined
/tmp/cczg5mr7.s:2999: Error: symbol `.L6' is already defined
/tmp/cczg5mr7.s:3033: Error: symbol `.L10' is already defined
/tmp/cczg5mr7.s:3039: Error: symbol `.L11' is already defined
/tmp/cczg5mr7.s:3090: Error: symbol `.L15' is already defined
/tmp/cczg5mr7.s:3104: Error: symbol `.L8' is already defined
/tmp/cczg5mr7.s:3125: Error: symbol `.LCFI4' is already defined
/tmp/cczg5mr7.s:3127: Error: symbol `.LCFI5' is already defined
/tmp/cczg5mr7.s:3129: Error: symbol `.LCFI6' is already defined
/tmp/cczg5mr7.s:3131: Error: symbol `.LCFI7' is already defined
/tmp/cczg5mr7.s:3155: Error: symbol `.LEHB0' is already defined
/tmp/cczg5mr7.s:3157: Error: symbol `.LEHE0' is already defined
/tmp/cczg5mr7.s:3173: Error: symbol `.LEHB1' is already defined
/tmp/cczg5mr7.s:3181: Error: symbol `.LEHE1' is already defined
/tmp/cczg5mr7.s:3214: Error: symbol `.LEHB2' is already defined
/tmp/cczg5mr7.s:3216: Error: symbol `.LEHE2' is already defined
make: *** [os-unix.pic.o] Error 1
thinkpad:~/arch/devel/mico-devel/orb$


BTW: IMHO something strage is with my gcc3.4-pch... the branch compiled
10-20 % slower than version which I tried before, and whole configuration
process seems to be moved to build process. Is this behaviour right, or
have I done something wrong?

I've configured gcc with:

$HOME/cvs/gcc/pch-branch/gcc/configure --prefix=$HOME/usr/local/pch-branch
--enable-shared --enable-threads --enable-languages=c++ --disable-checking
--enable-__cxa_atexit

and build it with:

time make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2
-fno-implicit-templates' bootstrap-lean

Unfortunately gcc -v said:

thinkpad:~/arch/devel/mico-devel/orb$ gcc -v
Reading specs from /home/karel/usr/local/pch-branch/lib/gcc-lib/i686-pc-linux-gnu/3.4-pch/specs
Configured with:
Thread model: posix
gcc version 3.4-pch 20021218 (experimental)
thinkpad:~/arch/devel/mico-devel/orb$


Anything what should I test?

Thanks,

Karel
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [pch-branch] missing binary operator issue.
  2003-01-02 21:26   ` Karel Gardas
@ 2003-01-02 22:21     ` Andrew Pinski
  2003-01-07 19:32     ` Geoff Keating
  1 sibling, 0 replies; 6+ messages in thread
From: Andrew Pinski @ 2003-01-02 22:21 UTC (permalink / raw)
  To: Karel Gardas; +Cc: gcc


On Thursday, Jan 2, 2003, at 13:25 US/Pacific, Karel Gardas wrote:

> BTW: IMHO something strage is with my gcc3.4-pch... the branch compiled
> 10-20 % slower than version which I tried before, and whole 
> configuration
> process seems to be moved to build process. Is this behaviour right, or
> have I done something wrong?

This is because 3.4 changed how every thing is done with building gcc, 
It was done
so to autoconfive the top-level configure and Makefile.

Thanks,
Andrew Pinski

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [pch-branch] missing binary operator issue.
  2003-01-02 21:26   ` Karel Gardas
  2003-01-02 22:21     ` Andrew Pinski
@ 2003-01-07 19:32     ` Geoff Keating
  2003-01-08 16:06       ` Karel Gardas
  1 sibling, 1 reply; 6+ messages in thread
From: Geoff Keating @ 2003-01-07 19:32 UTC (permalink / raw)
  To: kgardas; +Cc: gcc


> /tmp/cczg5mr7.s:2963: Error: symbol `.LCFI0' is already defined
...
> /tmp/cczg5mr7.s:2973: Error: symbol `.L2' is already defined

This patch might fix this problem.  Could you test it?

I know there are other problems with DWARF2 output, so I don't promise
the resulting DWARF2 is correct, but it should at least assemble.

It'd be good if you could provide a small test case that triggers the
problem, I didn't manage to generate one.

-- 
- Geoffrey Keating <geoffk@geoffk.org>

===File ~/patches/apple/pchbranch-moredwarfcounters.patch===
2003-01-06  Geoffrey Keating  <geoffk@apple.com>

	* dwarf2out.c (dwarf2out_cfi_label): Move label_num out of
	the routine and mark it for PCH.
	(gen_internal_sym): Likewise.
	
Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.349.2.17
diff -u -p -u -p -r1.349.2.17 dwarf2out.c
--- dwarf2out.c	24 Dec 2002 02:06:23 -0000	1.349.2.17
+++ dwarf2out.c	7 Jan 2003 01:30:38 -0000
@@ -1,5 +1,5 @@
 /* Output Dwarf2 format symbol table information from the GNU C compiler.
-   Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+   Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
    Free Software Foundation, Inc.
    Contributed by Gary Funck (gary@intrepid.com).
    Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
@@ -305,7 +305,11 @@ struct indirect_string_node GTY(())
 
 static GTY ((param_is (struct indirect_string_node))) htab_t debug_str_hash;
 
+/* Various counters for generating labels.  */
+
 static GTY(()) int dw2_string_counter;
+static GTY(()) unsigned long dwarf2out_cfi_label_counter;
+static GTY(()) int gen_internal_sym_counter;
 
 #if defined (DWARF2_DEBUGGING_INFO) || defined (DWARF2_UNWIND_INFO)
 
@@ -561,9 +565,8 @@ char *
 dwarf2out_cfi_label ()
 {
   static char label[20];
-  static unsigned long label_num = 0;
 
-  ASM_GENERATE_INTERNAL_LABEL (label, "LCFI", label_num++);
+  ASM_GENERATE_INTERNAL_LABEL (label, "LCFI", dwarf2out_cfi_label_counter++);
   ASM_OUTPUT_LABEL (asm_out_file, label);
   return label;
 }
@@ -5939,9 +5942,8 @@ gen_internal_sym (prefix)
      const char *prefix;
 {
   char buf[256];
-  static int label_num;
 
-  ASM_GENERATE_INTERNAL_LABEL (buf, prefix, label_num++);
+  ASM_GENERATE_INTERNAL_LABEL (buf, prefix, gen_internal_sym_counter++);
   return xstrdup (buf);
 }
 
============================================================

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [pch-branch] missing binary operator issue.
  2003-01-07 19:32     ` Geoff Keating
@ 2003-01-08 16:06       ` Karel Gardas
  0 siblings, 0 replies; 6+ messages in thread
From: Karel Gardas @ 2003-01-08 16:06 UTC (permalink / raw)
  To: Geoff Keating; +Cc: gcc

On Tue, 7 Jan 2003, Geoff Keating wrote:

>
> > /tmp/cczg5mr7.s:2963: Error: symbol `.LCFI0' is already defined
> ...
> > /tmp/cczg5mr7.s:2973: Error: symbol `.L2' is already defined
>
> This patch might fix this problem.  Could you test it?
>

No it doesn't. Still I get:

thinkpad:~/arch/devel/mico-devel/orb$ c++  -I../include -Wall  -DFAST_PCH -fpermissive    -DPIC -fPIC  -c orb_pch.h
../include/mico/code_set_registry.h:5:
warning: `CORBA::Codeset::Info
   _osf_cs_reg[193]' defined but not used
thinkpad:~/arch/devel/mico-devel/orb$

thinkpad:~/arch/devel/mico-devel/orb$
make c++  -I../include -Wall  -DFAST_PCH -fpermissive    -DPIC -fPIC  -c
os-unix.cc -o os-unix.pic.o
../include/mico/code_set_registry.h:5: warning: `CORBA::Codeset::Info
   _osf_cs_reg[193]' defined but not used
/tmp/cctHJBgN.s: Assembler messages:
/tmp/cctHJBgN.s:2973: Error: symbol `.L2' is already defined
/tmp/cctHJBgN.s:2985: Error: symbol `.L4' is already defined
/tmp/cctHJBgN.s:2999: Error: symbol `.L6' is already defined
/tmp/cctHJBgN.s:3033: Error: symbol `.L10' is already defined
/tmp/cctHJBgN.s:3039: Error: symbol `.L11' is already defined
/tmp/cctHJBgN.s:3090: Error: symbol `.L15' is already defined
/tmp/cctHJBgN.s:3104: Error: symbol `.L8' is already defined
/tmp/cctHJBgN.s:3155: Error: symbol `.LEHB0' is already defined
/tmp/cctHJBgN.s:3157: Error: symbol `.LEHE0' is already defined
/tmp/cctHJBgN.s:3173: Error: symbol `.LEHB1' is already defined
/tmp/cctHJBgN.s:3181: Error: symbol `.LEHE1' is already defined
/tmp/cctHJBgN.s:3214: Error: symbol `.LEHB2' is already defined
/tmp/cctHJBgN.s:3216: Error: symbol `.LEHE2' is already defined
make: *** [os-unix.pic.o] Error 1

> I know there are other problems with DWARF2 output, so I don't promise
> the resulting DWARF2 is correct, but it should at least assemble.
>
> It'd be good if you could provide a small test case that triggers the
> problem, I didn't manage to generate one.

I'll try, but IMHO it's quite hard. Do you have any advice which can help
me with it?

Thanks,

Karel
PS: I've used CVS sources 3 hours old + your patch.
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-01-08 12:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-13  4:04 [pch-branch] missing binary operator issue Karel Gardas
2003-01-02 17:59 ` Geoff Keating
2003-01-02 21:26   ` Karel Gardas
2003-01-02 22:21     ` Andrew Pinski
2003-01-07 19:32     ` Geoff Keating
2003-01-08 16:06       ` Karel Gardas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).