public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Another new-parser problem? (libstdc++)
@ 2003-01-17 16:26 Richard Guenther
  2003-01-17 18:40 ` Phil Edwards
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Guenther @ 2003-01-17 16:26 UTC (permalink / raw)
  To: gcc; +Cc: Mark Mitchell

Hi!

Does the following look familiar to anyone? (with todays mainline)

/home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h: In
instantiation of `std::_Vector_alloc_base<Observer<T*>*, std::allocator<Observer<T*>*>,
std::_Alloc_traits<Observer<T*>*, std::allocator<Observer<T*>*> >::_S_instanceless>':
/net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
instantiated from `std::_Vector_base<Observer<T*>*, std::allocator<Observer<T*>*> >'
/net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
instantiated from `std::vector<Observer<T*>*, std::allocator<Observer<T*>*> >'
/net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
instantiated from `Observable<T*>'
/net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.h:742:
  instantiated from here
/home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: error: `
   std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_data_allocator'
has incomplete type
/home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: confused
by earlier errors, bailing out

I did look at the stl_vector.h part and the _Alloc_traits template, but
nothing obvious seems to be wrong...

Thanks, Richard.

--
Richard Guenther <richard.guenther@uni-tuebingen.de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/

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

* Re: Another new-parser problem? (libstdc++)
  2003-01-17 16:26 Another new-parser problem? (libstdc++) Richard Guenther
@ 2003-01-17 18:40 ` Phil Edwards
  2003-01-17 19:09   ` Richard Guenther
  0 siblings, 1 reply; 6+ messages in thread
From: Phil Edwards @ 2003-01-17 18:40 UTC (permalink / raw)
  To: Richard Guenther; +Cc: gcc, Mark Mitchell

On Fri, Jan 17, 2003 at 11:26:29AM +0100, Richard Guenther wrote:
> Hi!
> 
> Does the following look familiar to anyone? (with todays mainline)
> 
> /home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h: In
> instantiation of `std::_Vector_alloc_base<Observer<T*>*, std::allocator<Observer<T*>*>,
> std::_Alloc_traits<Observer<T*>*, std::allocator<Observer<T*>*> >::_S_instanceless>':
> /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
> instantiated from `std::_Vector_base<Observer<T*>*, std::allocator<Observer<T*>*> >'
> /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
> instantiated from `std::vector<Observer<T*>*, std::allocator<Observer<T*>*> >'
> /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
> instantiated from `Observable<T*>'
> /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.h:742:
>   instantiated from here
> /home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: error: `
>    std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_data_allocator'
> has incomplete type
> /home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: confused
> by earlier errors, bailing out

I don't see that, but I'm getting compiler segfaults during the normal build.
Going into the library builddir and running 'make' works (it doesn't pass
-O2 in this case).

> I did look at the stl_vector.h part and the _Alloc_traits template, but
> nothing obvious seems to be wrong...

I'm guessing some possible fallout from the removal of the implicit typename
extension... I've seen some odd errors in the last 48 hours about lookups
of base members.


Phil

-- 
I would therefore like to posit that computing's central challenge, viz. "How
not to make a mess of it," has /not/ been met.
                                                 - Edsger Dijkstra, 1930-2002

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

* Re: Another new-parser problem? (libstdc++)
  2003-01-17 18:40 ` Phil Edwards
@ 2003-01-17 19:09   ` Richard Guenther
  2003-01-17 20:03     ` Mark Mitchell
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Guenther @ 2003-01-17 19:09 UTC (permalink / raw)
  To: Phil Edwards; +Cc: gcc, Mark Mitchell

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2136 bytes --]

Ok, a "simple" testcase is attached (unincluded output from -save-temps
.ii file, line-numbers and blank lines removed, etc.). To reproduce
simply do

> g++ -c CompressibleBlock.ii.h

Hope this helps,

   Richard.

On Fri, 17 Jan 2003, Phil Edwards wrote:

> On Fri, Jan 17, 2003 at 11:26:29AM +0100, Richard Guenther wrote:
> > Hi!
> >
> > Does the following look familiar to anyone? (with todays mainline)
> >
> > /home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h: In
> > instantiation of `std::_Vector_alloc_base<Observer<T*>*, std::allocator<Observer<T*>*>,
> > std::_Alloc_traits<Observer<T*>*, std::allocator<Observer<T*>*> >::_S_instanceless>':
> > /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
> > instantiated from `std::_Vector_base<Observer<T*>*, std::allocator<Observer<T*>*> >'
> > /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
> > instantiated from `std::vector<Observer<T*>*, std::allocator<Observer<T*>*> >'
> > /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Utilities/Observable.h:236:
> > instantiated from `Observable<T*>'
> > /net/bellatrix/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.h:742:
> >   instantiated from here
> > /home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: error: `
> >    std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_data_allocator'
> > has incomplete type
> > /home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: confused
> > by earlier errors, bailing out
>
> I don't see that, but I'm getting compiler segfaults during the normal build.
> Going into the library builddir and running 'make' works (it doesn't pass
> -O2 in this case).
>
> > I did look at the stl_vector.h part and the _Alloc_traits template, but
> > nothing obvious seems to be wrong...
>
> I'm guessing some possible fallout from the removal of the implicit typename
> extension... I've seen some odd errors in the last 48 hours about lookups
> of base members.
>
> Phil

--
Richard Guenther <richard.guenther@uni-tuebingen.de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/

[-- Attachment #2: testcase --]
[-- Type: APPLICATION/octet-stream, Size: 8637 bytes --]

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

* Re: Another new-parser problem? (libstdc++)
  2003-01-17 19:09   ` Richard Guenther
@ 2003-01-17 20:03     ` Mark Mitchell
  2003-01-21 19:10       ` Richard Guenther
  2003-01-21 20:23       ` Richard Guenther
  0 siblings, 2 replies; 6+ messages in thread
From: Mark Mitchell @ 2003-01-17 20:03 UTC (permalink / raw)
  To: Richard Guenther, Phil Edwards; +Cc: gcc



--On Friday, January 17, 2003 05:15:37 PM +0100 Richard Guenther 
<rguenth@tat.physik.uni-tuebingen.de> wrote:

> Ok, a "simple" testcase is attached (unincluded output from -save-temps
> .ii file, line-numbers and blank lines removed, etc.). To reproduce
> simply do

This file still has #include's in it; would you please send me the .ii
file you get from "g++ -save-temps -c ..."?

Thanks,

-- 
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com

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

* Re: Another new-parser problem? (libstdc++)
  2003-01-17 20:03     ` Mark Mitchell
@ 2003-01-21 19:10       ` Richard Guenther
  2003-01-21 20:23       ` Richard Guenther
  1 sibling, 0 replies; 6+ messages in thread
From: Richard Guenther @ 2003-01-21 19:10 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: Phil Edwards, gcc

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2557 bytes --]

On Fri, 17 Jan 2003, Mark Mitchell wrote:

> --On Friday, January 17, 2003 05:15:37 PM +0100 Richard Guenther
> <rguenth@tat.physik.uni-tuebingen.de> wrote:
>
> > Ok, a "simple" testcase is attached (unincluded output from -save-temps
> > .ii file, line-numbers and blank lines removed, etc.). To reproduce
> > simply do
>
> This file still has #include's in it; would you please send me the .ii
> file you get from "g++ -save-temps -c ..."?

I simplified the testcase (.ii.gz attached) and re-checked with g++ (GCC)
3.4 20030121 (experimental):

The funy thing is, once I change the notify() invocation to

    Observable<T*>::notify((int)notifyUncompress);

the testcase works. Wasnt an enum convertible to int? And why does it fail
in std::vector if it isnt? Seems to be some lookup problem.

Thanks, Richard.

Btw. reducing the testcase I stombled on PR c++/9384 which is an ICE
on illegal code (selected ICE on legal code errornously - perhaps someone
could change that).


#include <vector>
template <class T>
struct Observer {};
template<class T>
struct Observable
{
  void notify(int event);
  std::vector<Observer<T> *> observers_m;
};
template <class T>
struct CompressibleBlock
{
  enum Notifier { notifyUncompress = 1 };
  void uncompressUnlocked()
  {
     Observable<T*>::notify(notifyUncompress);
  }
};

~/ix86/gcc3.4/bin/g++ -c
~/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.ii.h -save-temps
/home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h: In
instantiation of `std::_Vector_alloc_base<Observer<T*>*,
std::allocator<Observer<T*>*>, std::_Alloc_traits<Observer<T*>*,
std::allocator<Observer<T*>*> >::_S_instanceless>':
/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.ii.h:8:
instantiated from `std::_Vector_base<Observer<T*>*,
std::allocator<Observer<T*>*> >'
/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.ii.h:8:
instantiated from `std::vector<Observer<T*>*,
std::allocator<Observer<T*>*> >'
/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.ii.h:8:
instantiated from `Observable<T*>'
/home/rguenth/src/pooma-bugfixes/r2/src/Engine/CompressibleBlock.ii.h:16:
instantiated from here
/home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: error: `
   std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_data_allocator'
has
   incomplete type
/home/rguenth/ix86/gcc3.4/include/c++/3.4/bits/stl_vector.h:91: confused
by earlier errors, bailing out



--
Richard Guenther <richard.guenther@uni-tuebingen.de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


[-- Attachment #2: testcase --]
[-- Type: APPLICATION/octet-stream, Size: 35493 bytes --]

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

* Re: Another new-parser problem? (libstdc++)
  2003-01-17 20:03     ` Mark Mitchell
  2003-01-21 19:10       ` Richard Guenther
@ 2003-01-21 20:23       ` Richard Guenther
  1 sibling, 0 replies; 6+ messages in thread
From: Richard Guenther @ 2003-01-21 20:23 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: Phil Edwards, gcc

On Fri, 17 Jan 2003, Mark Mitchell wrote:

> --On Friday, January 17, 2003 05:15:37 PM +0100 Richard Guenther
> <rguenth@tat.physik.uni-tuebingen.de> wrote:
>
> > Ok, a "simple" testcase is attached (unincluded output from -save-temps
> > .ii file, line-numbers and blank lines removed, etc.). To reproduce
> > simply do
>
> This file still has #include's in it; would you please send me the .ii
> file you get from "g++ -save-temps -c ..."?

Btw. this is now c++/9388.

Richard.

--
Richard Guenther <richard.guenther@uni-tuebingen.de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/

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

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

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-17 16:26 Another new-parser problem? (libstdc++) Richard Guenther
2003-01-17 18:40 ` Phil Edwards
2003-01-17 19:09   ` Richard Guenther
2003-01-17 20:03     ` Mark Mitchell
2003-01-21 19:10       ` Richard Guenther
2003-01-21 20:23       ` Richard Guenther

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).