public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* Problem with function template instanciation and -frepo
@ 1999-07-13 10:54 Michael Welsh Duggan
  2000-03-13  0:13 ` Martin v. Loewis
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Welsh Duggan @ 1999-07-13 10:54 UTC (permalink / raw)
  To: egcs-bugs; +Cc: Michael Duggan

Version of g++:

Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.96/specs
gcc version 2.96 19990712 (experimental)

Created with 
../egcs/configure --enable-languages=c++

Operating system:

Linux maru 2.2.9 #1 Thu Jun 3 21:56:31 EDT 1999 i686 unknown


Commands for reproducing the bug:

rm -f foo.o foo.rpo
g++ -frepo -c foo.cc
g++ -frepo -o foo foo.o


Input file:


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

* Re: Problem with function template instanciation and -frepo
  1999-07-13 10:54 Problem with function template instanciation and -frepo Michael Welsh Duggan
@ 2000-03-13  0:13 ` Martin v. Loewis
  0 siblings, 0 replies; 2+ messages in thread
From: Martin v. Loewis @ 2000-03-13  0:13 UTC (permalink / raw)
  To: md5i; +Cc: egcs-bugs, md5i

> -frepo doesn't seem sufficient in some circumstances when a template
> function calls another template function.  When trying to compile as
> above, I get the following undefined references:

Thanks for your bug report. The mainline compiler (2.96 20000302
(experimental)) compiles this without problems, so the bug appears to
be fixed.

Regards,
Martin
>From martin@loewis.home.cs.tu-berlin.de Mon Mar 13 00:13:00 2000
From: "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
To: bryan@fsel.com
Cc: egcs-bugs@egcs.cygnus.com, bryan@fsel.com
Subject: Re: c++ code generation bug
Date: Mon, 13 Mar 2000 00:13:00 -0000
Message-id: <200003130805.JAA00640@loewis.home.cs.tu-berlin.de>
References: <199905181433.PAA21787@callisto.fsel.com>
X-SW-Source: 2000-03/msg00526.html
Content-length: 299

>   With optimisation (-O or -O2) destructors can be run for temporaries
>   in conditional expressions, even when the temporary `belongs' to the
>   other branch of the conditional and has not been constructed.

Thanks for your bug report. gcc-2.95.2 compiles your code correctly.

Regards,
Martin
>From martin@loewis.home.cs.tu-berlin.de Mon Mar 13 00:18:00 2000
From: "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
To: mitr@email.cz
Cc: egcs-bugs@egcs.cygnus.com
Subject: Re: Too optimized and not so much optimized code
Date: Mon, 13 Mar 2000 00:18:00 -0000
Message-id: <200003130811.JAA00746@loewis.home.cs.tu-berlin.de>
References: <990706203539RP.08049@tajfun.atc.cz>
X-SW-Source: 2000-03/msg00528.html
Content-length: 612

> I came across a bit strange egcs-1.1.2 behaviour

Thanks for your bug report. gcc-2.95.2 generates the code below, so the bug
appears to be fixed.

Regards,
Martin

	.file	"a.c"
	.version	"01.01"
gcc2_compiled.:
.text
	.align 4
.globl expand
	.type	 expand,@function
expand:
	xorl %eax,%eax
	movb 4(%esp),%al
	ret
.Lfe1:
	.size	 expand,.Lfe1-expand
	.align 4
.globl mult_256
	.type	 mult_256,@function
mult_256:
	subl $28,%esp
	movl 32(%esp),%eax
	movl $0,12(%esp)
	movb %al,13(%esp)
	movl 12(%esp),%eax
	addl $28,%esp
	ret
.Lfe2:
	.size	 mult_256,.Lfe2-mult_256
	.ident	"GCC: (GNU) 2.95.2 19991024 (release)"
>From martin@loewis.home.cs.tu-berlin.de Mon Mar 13 00:24:00 2000
From: "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
To: martin.dorey@madge.com
Cc: gcc-bugs@gcc.gnu.org
Subject: Re: name mangling bug?
Date: Mon, 13 Mar 2000 00:24:00 -0000
Message-id: <200003130818.JAA00866@loewis.home.cs.tu-berlin.de>
References: <379F22CC.D4151BD8@madge.com>
X-SW-Source: 2000-03/msg00529.html
Content-length: 371

> Which gives me the attached assembler, which won't assemble.  The
> problem is that both the template instantiations mangle to the same
> string "Moo__H22Fu13Z2x1_4Monk_v".

Thanks for your bug report. The mainline compiler (2.96 20000302
(experimental)) generates Moo__H22Fu13Z2x1_4Monk_v and
Moo__H22Fu_13_Z2x1_4Monk_v, so the bug seems to be fixed.

Regards,
Martin
>From Martin.Stromberg@lu.erisoft.se Mon Mar 13 00:24:00 2000
From: Martin Stromberg <Martin.Stromberg@lu.erisoft.se>
To: martin@loewis.home.cs.tu-berlin.de (Martin v. Loewis)
Cc: gcc-bugs@gcc.gnu.org
Subject: Re: Memory leaks identified by purify
Date: Mon, 13 Mar 2000 00:24:00 -0000
Message-id: <200003130824.JAA19046@mars.lu.erisoft.se>
References: <200003121758.SAA00700@loewis.home.cs.tu-berlin.de>
X-SW-Source: 2000-03/msg00530.html
Content-length: 624

> 
> > Is there any interest of seeing the logs of the memory leaks that purify
> > finds in gcc?
> 
> Which gcc version? In gcc 2.96, garbage collection is used, so it
> works totally different from gcc 2.95. If you have a good way of
> identifying leaks in gcc 2.96, that might be interesting. I doubt
> anything will be done about the leaks in 2.95; the compiler is
> supposed to leak in a number of ways.
> 
> Regards,
> Martin

Hello Martin!

Ok. 

Only confusing thing is the snapshots seems to be called egcs at
< ftp://gcc.gnu.org/pub/gcc/snapshots/index.html >. Didn't egcs become
gcc2.95?


Right,

							MartinS
>From martin@loewis.home.cs.tu-berlin.de Mon Mar 13 00:29:00 2000
From: "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
To: ralf@Informatik.Uni-Mainz.DE
Cc: gcc-bugs@gcc.gnu.org, ralf@nautilus.Informatik.Uni-Mainz.DE
Subject: Re: bug in gcc 2.95
Date: Mon, 13 Mar 2000 00:29:00 -0000
Message-id: <200003130821.JAA00943@loewis.home.cs.tu-berlin.de>
References: <199908061722.TAA16268@arabia.Informatik.Uni-Mainz.DE>
X-SW-Source: 2000-03/msg00531.html
Content-length: 150

> I found a rather serious bug in gcc 2.95.

Thanks for your bug report. gcc-2.95.2 seems to generate correct code
for your example.

Regards,
Martin
>From pjordan@noname.blackwire.com Mon Mar 13 00:47:00 2000
From: Peter Jordan <pjordan@noname.blackwire.com>
To: gcc@gcc.gnu.org
Cc: gcc-bugs@gcc.gnu.org
Subject: re: subscripted value is neither array nor pointer
Date: Mon, 13 Mar 2000 00:47:00 -0000
Message-id: <20000313005405.A30993@noname.blackwire.com>
X-SW-Source: 2000-03/msg00532.html
Content-type: multipart/mixed; boundary="----------=_1583533098-4114-191"

This is a multi-part message in MIME format...

------------=_1583533098-4114-191
Content-length: 2195

>> t-> osd2.linux2.l_i_reserved2[0] =

>Take a look at the preprocessed code first, it may turn out to be some
>preprocessing issue, such as the wrong header file getting included or
>something.

Urk. I thought it might have been a known "change" and not a bug.
Here goes ...


Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/2.96/specs
gcc version 2.96 20000306 (experimental)
 /usr/lib/gcc-lib/i686-pc-linux-gnu/2.96/cpp -lang-c -v -I../../lib -I../../lib -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__OPTIMIZE__ -g -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D__tune_pentiumpro__ -DHAVE_LINUX_FS_H=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DHAVE_GETRUSAGE=1 -DHAVE_LLSEEK=1 -DHAVE_STRDUP=1 -DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_MALLINFO=1 -DHAVE_INO_T=1 -DHAVE_EXT2_IOCTLS=1 swapfs.c swapfs.i
GNU CPP version 2.96 20000306 (experimental) (cpplib)
 (i386 Linux/ELF)
ignoring duplicate directory `../../lib'
#include "..." search starts here:
#include <...> search starts here:
 ../../lib
 /usr/local/include
 /usr/i686-pc-linux-gnu/include
 /usr/lib/gcc-lib/i686-pc-linux-gnu/2.96/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i686-pc-linux-gnu/2.96/cc1 swapfs.i -quiet -dumpbase swapfs.c -g -O2 -version -o swapfs.s
GNU C version 2.96 20000306 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 2.96 20000306 (experimental).
swapfs.c: In function `ext2fs_swap_inode':
swapfs.c:119: subscripted value is neither array nor pointer
swapfs.c:120: subscripted value is neither array nor pointer
swapfs.c:121: subscripted value is neither array nor pointer
swapfs.c:122: subscripted value is neither array nor pointer



------------=_1583533098-4114-191
Content-Type: application/x-gzip; charset=binary; name="swapfs.i.gz"
Content-Disposition: inline; filename="swapfs.i.gz"
Content-Transfer-Encoding: base64
Content-Length: 20968

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
Uu2Y+lu0oJP+43HqnRx0iCfw8YF2IlAJ1pu49SaI0wkNho1Y0GCaIadHfXja
hebS+RZkwyyaTZhZnsViNI5x4+C5dUq+iOHBPdrjdsiXasza3RCQ7krkph3U
Ka069Axljx8SmUyU+YsCTnbH1QKorgSZ9agFtI1cvRgNQs05u4+v+3sdmgbn
k1Ww4UAFGw46NI2CGfdG1FWE1tXooYRRAI7Fwq6FW8RFE3SrrCEgEZoBxo6E
kPz7uMhYL+xo80XqwNLnqXExUxcEKjllKtOtIzToOGcdiH7QLkfnwk4WuqO2
iwARiGr5Og5ryGkwq0ay3PwyCTdFqK6QnbgtRd6MU2/N1UGh4xgoBD5h24j9
8te8KULdgeDAbdZ8Q05drE5JjPa126mF6tufoN5ECVpNVIBgX0sPGO56bZAy
WasFW6heM1SZrIu8XjmkTNbE7URMBSUMjS7oiKzPAuJWGcx1PCojOh4Hi035
wcvCJ+BGweLmpZHdjIo4myWN9FzRRuq+yFaLxuZ0DTp1lELGtTmZ5rVx252m
lFprEnqE7FprSM5tk9ZqpXVkyOaLQIK9dOGZFjDVRdqmY3ByavxrOZ/biaLJ
arF4iG7Qv8w5xvv+9vaHEb2YZd7IZk//uSe92mS0/S8aVSGfTzDIiEzv43KB
EUTw8EhcwSo56nxxXZVz9MdB74/9/8n+pyqvr/Gv7d4ft7/Agv3TF98VX6AO
RdHtffHdAv/qbHWsOmx1KdEuKQRlsgKOtbXYfWzOxKeaCoWn5c2rVPz/U6UG
64bm9WpYLZLAKqa9wO6oXi9cNx7Xa69G6dmFg5qOYUsqvFQCyfBwBhAo9/vv
0UEX/Zv++POf8Q9PA4SXVipaQPX994Mdgpb+OOh+tf3x5cvtbZyGRUlS//xn
kUrSEU3E5XgEAZsJa5zTTUuDdUiLVQSnER9GmAaz1BtQEZbTS8fU6PWJ6BR+
BXGRbjXFjUp+oj8z0G++J9Mm3Ia4EWnW9yILz2G6XfKmm2vhyJcG2z1RjxZT
JHilTXjAuF2m2L/RCffETzEx+tT+lVr284mkXyMSadkfJZSnVcPPJ46BLQ60
TQXCfpnDw5PpypM4DkAyga7oFnRX8RrQFWJTxX7EMlTh1N1LHsXrpn6TkFwd
CrAmy3LJ0FDMT+JSeaRO8BVyU514xDL80ToR5HVTj1JIrk+nE43FvLn3ylJp
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
RqspkeZ9vLaXA29s3wsuTy8xW+yuBuG2hzSBLQPSYpVamoLzVGodq0IEWH7z
PZkvon9jyX3c3kH/ho9BoHGa2iAX+hDehqZKDdsm0X9FsHfXYdtpelxMHzTE
GjKAOt6vvkP/twZxI0MZkMXBWrLwGT2HOPrbG6jIdXP8gwb4m9psv3z62901
8F+vjX/QFH/DEUGlhH+jbxDQI50bf1iXJ7voGTYpGoj9lsNa7IVHHZW9lEQw
62MWdB6tW5Xy6u4O+gLmzdPy2zG9ubvhlB7YsK67bpXYfnbs5C7iL2+0WyaT
9H7td0bsSCcUGGlTyDXFVSiteNEQQeFHYV3B9WOxQG1EzcRhgeqIDN0M4DG1
WEWjXwH2I9HhLBTiqnAYgwBzNa9Q4domFpCGaLW7xyHBaoAaErM71WqrGw25
zuwvS7K1AvfhAvdWAXHfWS/U3+vYIHpB9bJ0oLAKZiCYpeNQQZytFSA3rv0F
SLZWgN7H9peg+aQIoahf1bbLOYB0DebXuQPay0G0gtqFb39hDUxHIO6FB0oL
GN2queurGTSltkpJebvcL2IJoxGVF9Bri86oC582kbiMbjOrZYs2lXfU3c0p
80UR/fa6u5gOI4rql9s9PGowVlF+9z1cmENZxcXl+HB5AUbnQZv62GBEx5/f
fH89012NJnEXEPDO0zXXqK+wCmQXJlePa8oSGLVozXiMm9sLaaHxj8YmGnMw
5pmrMiEnIuuQGHCeNnQfh/D5OVFzPye0ujz6R18lQ2k5z27Z+p4unEUB9NVX
qNPpTL/5Po0gLEAX5uDb/X0apvs7XKY/IN9hoc3xQFiEipewJCFx8VW6Sa3a
jJrLmE1ZRpcDOScoU54jwGLnWDwVWQJw7Acca4ALP+BCA5z4ASca4MxX35lS
X9j28unk1AAQhWhfcfMgn4ojoHRh5oTku2W0kWlz/fvfSMVCIj/R8EVE/0gA
I6wB/QH6GhY64o+IaKQw+D79EGAR5wLtTyiZlwkCFir0h+/Q9CloalRIqCkI
AkIbBfZUYohG5eZN5pORkcoQTqfG47lHjCxXKkha+KFZpmwfeIbAg5i9qoaH
ofsUz2zoSts15wCRjWMsxu0/tYk08nLS/xZrzuoj/ohSEb+kj75ry5u7kpgX
noTsoggHFGBAAGB+TgXtyvEVYp176slyFEshlEvf1TNsKB+vvDKD99sf/PX3
FqlH218fbZ+ivcZtCI+Eksbrq413syrgLy5UFXFWzqGpCRWkqwoSzecqofEO
AAMCYLSenuEpYrSdkeMutCC7c+nsxua8v4c6U38BD+N4pFgLH4f3oJutiW4W
RhevqptwK9nQthoMVDVYxGWK++SiaR92wWvcEoABATC0wMjxFTL0wMxyFgv2
YQ3Kx2vTPuwpUo+2vz5aow9/Ijsu/w8ZK2H2I2EBAA==

------------=_1583533098-4114-191--
>From gawrilow@math.TU-Berlin.DE Mon Mar 13 00:53:00 2000
From: Ewgenij Gawrilow <gawrilow@math.TU-Berlin.DE>
To: gcc-bugs@gcc.gnu.org
Cc: "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
Subject: Re: Bogus name lookup by overloaded operators
Date: Mon, 13 Mar 2000 00:53:00 -0000
Message-id: <14540.44146.128170.914523@sokol.math.TU-Berlin.DE>
References: <14536.62838.166885.791922@sokol.math.TU-Berlin.DE> <200003102249.XAA01186@loewis.home.cs.tu-berlin.de>
X-SW-Source: 2000-03/msg00533.html
Content-length: 1770

>>>>> "Martin" == Martin v Loewis <martin@loewis.home.cs.tu-berlin.de> writes:

    >> I've already started to doubt that these operators should be treated as
    >> lexically distinct, but then found a similar example in the Standard,
    >> par. 13.3.1.2.10. Thus I consider it's yet a bug.

    Martin> The example demonstrates that 'a+a' looks for A::operator+, so it
    Martin> is a qualified lookup. As a result, the shadowing of A::operator+
    Martin> by B::operator+ (which would normally happen) has no effect.

OK, indeed I've seen that the example cited in the Standard isn't exactly the
same. I've referred to it, however, in order to stress that the lookup rules
for operators are allowed to be different from those for normal functions (or
even operators called using functional notation).

When one names a function so that it collides with other already defined
functions, one does it deliberately, with a purpose to resolve the ambiguity
later somehow, e.g. with "using" statement. Or one does it in error, and having
been warned by the compiler, has to rename it. At any rate, one has freedom to
some extent in how to name one's functions.

But there is no freedom by the operators at all! When I redefine unary *, I
have dereferencing in mind, and for binary * - some flavor of algebraic
multipliplication. If I want that my classes are semantically interchangeable
with other STL or built-in types, I can't rename these operations!

Thus I think the lookup rules should be adjusted in such a way that unary
and binary operators that PURELY OCCASIONALLY but UNAVOIDABLY share the same
operation sign, are treated as different and mutually independent names.

With best regards,
Ewgenij Gawrilow
Dept. of Mathematics, Technical University of Berlin
>From vamsi@synopsys.COM Mon Mar 13 00:55:00 2000
From: Vamsi Tatapudi <vamsi@synopsys.COM>
To: egcs-bugs@egcs.cygnus.com
Cc: vamsi@synopsys.com (Vamsi Tatapudi)
Subject: egcs-1.1.2 HP-UX 10.x compilation question
Date: Mon, 13 Mar 2000 00:55:00 -0000
Message-id: <200003130854.AAA01538@bronzino.synopsys.com>
X-SW-Source: 2000-03/msg00534.html
Content-length: 2071

Hi,

I have a question regarding g++-2.9.5 (egcs-1.1.2) compilation
on HP-UX 10.x platform.

Test program "test.cc"
----------------------

// Problem occurs when I include files like time.h, algo.h etc
//include <algo.h>
include <sys/time.h>
 
int main()
{
    return (0);
}

Compilation command
-------------------

> /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/bin/g++ test.cc


Error message
-------------

In file included from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.66/include/sys/param.h:27,
                 from /usr/include/limits.h:313,
                 from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.66/include/limits.h:117,
                 from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.66/include/syslimits.h:7,
                 from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.66/include/limits.h:11,
                 from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/include/g++/stl_algobase.h:49,
                 from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/include/g++/algobase.h:36,
                 from /remote/drg100/depot_hpux10/gcc-2.9.5/hpux10/egcs-1.1.2_install/include/g++/algo.h:30,
                 from j.cc:1:
/usr/include/sys/time.h:337: `extern' can only be specified for objects and functions

Questions
---------

- Does this indicate that the /usr/include directory
  has some problems ?
- Does this indicate that the gcc installation has
  some problem ?

- Is there any easy workaround ? For instance, to get rid
  of the "time.h" include problem, all I had to do was make
  the following link
  > ln -s <gcc_include_dir>/time.h <gcc_include_dir/sys/time.h
  However, this approach is not good, plus it does not work
  for other files like algo.h.

I'd appreciate your help regarding this !

Thanks,
Vamsi


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

end of thread, other threads:[~2000-03-13  0:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-07-13 10:54 Problem with function template instanciation and -frepo Michael Welsh Duggan
2000-03-13  0:13 ` Martin v. 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).