This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Bug fix missed in gcc-2.95.3 (and gcc-2.95.2)
- To: bug-gcc at gnu dot org
- Subject: Bug fix missed in gcc-2.95.3 (and gcc-2.95.2)
- From: "Adam J. Richter" <adam at yggdrasil dot com>
- Date: Mon, 26 Mar 2001 03:39:21 -0800
- Cc: mark at codesourcery dot com
This bug fix seems to have been missed in gcc-2.95.3. It
was also missed in gcc-2.95.2.
I understand there were some concerns about the correctness
of the proposed fix, but I don't know gcc well enough to understand
those concerns. If you folks think that Mark's fix is incorrect, how
about at least putting this test case in whatever test suite you use, so
that it is not forgotten as an open bug?
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
>From mitchell@codesourcery.com Mon Oct 4 02:50:48 1999
To: adam@yggdrasil.com
Cc: bug-gcc@gnu.org
Subject: Re: egcs-19990824: g++ -g -O generating bad assembly on x86
linux glibc-2.1.1
In-Reply-To: <199909010704.AAA27356@adam.yggdrasil.com>
References: <199909010704.AAA27356@adam.yggdrasil.com>
X-Mailer: Mew version 1.94b25 on Emacs 20.3 / Mule 4.0 (HANANOEN)
X-URL: http://www.codesourcery.com
Organization: CodeSourcery, LLC
From: Mark Mitchell <mark@codesourcery.com>
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Date: Mon, 04 Oct 1999 02:38:31 -0700
Sender: Mark Mitchell <mitchell@codesourcery.com>
X-Dispatcher: imput version 990425(IM115)
Lines: 70
Here's the fix for this problem.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
Index: testsuite/g++.old-deja/g++.pt/memtemp92.C
===================================================================
RCS file: memtemp92.C
diff -N memtemp92.C
*** /dev/null Sat Dec 5 20:30:03 1998
--- memtemp92.C Mon Oct 4 02:22:11 1999
***************
*** 0 ****
--- 1,30 ----
+ // Build don't link:
+ // Origin: "Adam J. Richter" <adam@yggdrasil.com>
+
+ template <class Style, class Base>
+ class theme_map {
+ };
+
+ class QWidget {
+ protected:
+ virtual void *harmony_get_list_for_signal(const char *) const;
+
+ public:
+ static theme_map<int, QWidget> ContentsThemes;
+
+ protected:
+ virtual void updateDrawingObjects (void)
+ {
+ update_dro (QWidget::ContentsThemes);
+ }
+
+ template <class S, class B>
+ void update_dro (theme_map<S, B>& themes)
+ {
+ }
+ };
+
+ void *QWidget::harmony_get_list_for_signal(const char *sig) const
+ {
+ return 0;
+ }
Index: cp/pt.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/cp/pt.c,v
retrieving revision 1.371
diff -c -p -r1.371 pt.c
*** pt.c 1999/10/03 18:57:07 1.371
--- pt.c 1999/10/04 09:17:59
*************** instantiate_decl (d)
*** 9555,9561 ****
code_pattern = DECL_TEMPLATE_RESULT (td);
if (TREE_CODE (d) == FUNCTION_DECL)
! pattern_defined = (DECL_INITIAL (code_pattern) != NULL_TREE);
else
pattern_defined = ! DECL_IN_AGGR_P (code_pattern);
--- 9555,9561 ----
code_pattern = DECL_TEMPLATE_RESULT (td);
if (TREE_CODE (d) == FUNCTION_DECL)
! pattern_defined = (DECL_SAVED_TREE (code_pattern) != NULL_TREE);
else
pattern_defined = ! DECL_IN_AGGR_P (code_pattern);