From: Andreas Jaeger <aj@suse.de>
To: Mark Mitchell <mark@codesourcery.com>
Cc: David Edelsohn <dje@watson.ibm.com>,
Nathan Sidwell <nathan@codesourcery.com>,
"gcc@gcc.gnu.org" <gcc@gcc.gnu.org>
Subject: Re: "*INTERNAL*" appended to function name bootstrap failure
Date: Wed, 05 Dec 2001 05:35:00 -0000 [thread overview]
Message-ID: <ho667l7pst.fsf@gee.suse.de> (raw)
In-Reply-To: <33380000.1007494314@warlock.codesourcery.com> (Mark Mitchell's message of "Tue, 04 Dec 2001 11:31:54 -0800")
Mark Mitchell <mark@codesourcery.com> writes:
>> Guess what? We're emitting it!
>
> Find the change that started causing this, and then we can fix it.
I get the same problem on i686-linux, my SPECcpu tester has the same
problem:
/opt/gcc-3.1-devel/bin/g++ -c -o mrGrid.o -DHAS_ERRLIST -DFMAX_IS_DOUBLE -ffast-math -fwritable-strings -Wno-deprecated -Wno-non-template-friend -I. -DNDEBUG -O2 -march=athlon -malign-double mrGrid.cc
/tmp/ccootV1g.s: Assembler messages:
/tmp/ccootV1g.s:842: Warning: missing operand; zero assumed
/tmp/ccootV1g.s:842: Error: undefined symbol `INTERNAL' in operation
Looking throught the log files, it should be part of this diff:
http://www.suse.de/~aj/SPEC/CINT/d-permanent/200112041728.int/gcc-200112041728.diff.bz2
The only non ada diff is the appended patch. I hope that my scripts
are correct and that this is really the relevant bit.
Alexandre, can you have a look, please?
Andreas
Index: gcc/ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ChangeLog,v
retrieving revision 1.12137
retrieving revision 1.12138
diff -c -p -r1.12137 -r1.12138
*** ChangeLog 2001/12/04 15:09:51 1.12137
--- ChangeLog 2001/12/04 17:10:57 1.12138
***************
*** 1,5 ****
--- 1,8 ----
2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+ * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
+ it has DECL_SAVED_TREE.
+
* c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
is in a different binding level, get its abstract origin to be
olddecl.
Index: gcc/tree.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree.c,v
retrieving revision 1.224
retrieving revision 1.225
diff -c -p -r1.224 -r1.225
*** tree.c 2001/12/04 10:34:40 1.224
--- tree.c 2001/12/04 17:11:05 1.225
*************** get_callee_fndecl (call)
*** 4379,4390 ****
if (TREE_CODE (addr) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (addr, 0)) == FUNCTION_DECL)
{
! addr = TREE_OPERAND (addr, 0);
! if (! DECL_INITIAL (addr) && DECL_ABSTRACT_ORIGIN (addr))
! addr = DECL_ABSTRACT_ORIGIN (addr);
! return addr;
}
/* We couldn't figure out what was being called. */
--- 4379,4399 ----
if (TREE_CODE (addr) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (addr, 0)) == FUNCTION_DECL)
{
! tree fn = TREE_OPERAND (addr, 0);
! /* If fn is a declaration of a function in a nested scope that
! was globally declared inline, we don't set its DECL_INITIAL.
! However, we can't blindly follow DECL_ABSTRACT_ORIGIN because
! the C++ front-end uses it for cdtors to refer to their
! internal declarations, that are not real functions.
! Fortunately those don't have trees to be saved, so we can tell by
! checking their DECL_SAVED_TREE. */
! if (! DECL_INITIAL (fn)
! && DECL_ABSTRACT_ORIGIN (fn)
! && DECL_SAVED_TREE (DECL_ABSTRACT_ORIGIN (fn)))
! fn = DECL_ABSTRACT_ORIGIN (fn);
! return fn;
}
/* We couldn't figure out what was being called. */
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
next prev parent reply other threads:[~2001-12-05 13:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-04 11:34 David Edelsohn
2001-12-04 11:36 ` Mark Mitchell
2001-12-04 12:57 ` David Edelsohn
2001-12-04 14:03 ` Mark Mitchell
2001-12-04 14:07 ` David Edelsohn
2001-12-04 14:11 ` Jakub Jelinek
2001-12-04 14:17 ` David Edelsohn
2001-12-05 5:35 ` Andreas Jaeger [this message]
2001-12-05 7:48 ` David Edelsohn
2001-12-05 8:27 ` Andreas Jaeger
2001-12-06 9:45 ` Alexandre Oliva
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ho667l7pst.fsf@gee.suse.de \
--to=aj@suse.de \
--cc=dje@watson.ibm.com \
--cc=gcc@gcc.gnu.org \
--cc=mark@codesourcery.com \
--cc=nathan@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).