public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* A new C++ bug
@ 1998-05-06 17:12 H.J. Lu
  1998-05-06 23:49 ` Martin von Loewis
  0 siblings, 1 reply; 2+ messages in thread
From: H.J. Lu @ 1998-05-06 17:12 UTC (permalink / raw)
  To: egcs

Hi,

With egcs in CVS at 1:30pm PDT on May 06, 1988:

# gcc -B/home/work/gnu/bin/egcs/gcc/ -S x.cc
x.cc:24: Internal compiler error 378.
x.cc:24: Please submit a full bug report to `egcs-bugs@cygnus.com'.

It seems that egcs in CVS mangles both function names to
set_overflow_handler__FT0T1.


-- 
H.J. Lu (hjl@gnu.org)
---x.cc--
typedef          int  _G_int32_t __attribute__((__mode__(__SI__)));
typedef unsigned int _G_uint32_t __attribute__((__mode__(__SI__)));

typedef struct
{
  _G_int32_t            u;
  _G_uint32_t           l;
} twolongs;

typedef void (*Fix16_peh)(short&);
typedef void (*Fix32_peh)(_G_int32_t&);
typedef void (*Fix24_peh)(_G_int32_t&);
typedef void (*Fix48_peh)(twolongs&);
extern Fix16_peh set_Fix16_overflow_handler(Fix16_peh);
extern Fix32_peh set_Fix32_overflow_handler(Fix32_peh);
extern Fix24_peh set_Fix24_overflow_handler(Fix24_peh);
extern Fix48_peh set_Fix48_overflow_handler(Fix48_peh);

void
set_overflow_handler (Fix16_peh handler16, Fix32_peh handler32)
{
}

extern void set_overflow_handler(Fix24_peh, Fix48_peh);
void
set_overflow_handler (Fix24_peh handler24, Fix48_peh handler48)
{
}

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

* Re: A new C++ bug
  1998-05-06 17:12 A new C++ bug H.J. Lu
@ 1998-05-06 23:49 ` Martin von Loewis
  0 siblings, 0 replies; 2+ messages in thread
From: Martin von Loewis @ 1998-05-06 23:49 UTC (permalink / raw)
  To: hjl; +Cc: egcs

> With egcs in CVS at 1:30pm PDT on May 06, 1988:
> 
> # gcc -B/home/work/gnu/bin/egcs/gcc/ -S x.cc
> x.cc:24: Internal compiler error 378.
> x.cc:24: Please submit a full bug report to `egcs-bugs@cygnus.com'.
> 
> It seems that egcs in CVS mangles both function names to
> set_overflow_handler__FT0T1.

That would cause the assertion to fail. It asserts that two functions
with the same assembler name really should be identical functions.

It seems that name mangling in the presence of typedefs doesn't work,
currently.

Regards,
Martin

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

end of thread, other threads:[~1998-05-06 23:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-05-06 17:12 A new C++ bug H.J. Lu
1998-05-06 23:49 ` Martin von Loewis

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