[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-05 16:12 --- Subject: Bug 23667 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-09-05 16:12:15 Modified files: gcc/cp : ChangeLog pt.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/template: static15.C Log message: PR c++/23667 * pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when copying a VAR_DECL. PR c++/23667 * g++.dg/template/static15.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gccr1=1.4870r2=1.4871 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gccr1=1.1028r2=1.1029 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gccr1=1.6010r2=1.6011 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/static15.C.diff?cvsroot=gccr1=NONEr2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-05 16:13 --- Subject: Bug 23667 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-09-05 16:13:03 Modified files: gcc/cp : ChangeLog pt.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/template: static15.C Log message: PR c++/23667 * pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when copying a VAR_DECL. PR c++/23667 * g++.dg/template/static15.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=1.4648.2.90r2=1.4648.2.91 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=1.978.2.21r2=1.978.2.22 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=1.5084.2.377r2=1.5084.2.378 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/static15.C.diff?cvsroot=gcconly_with_tag=gcc-4_0-branchr1=NONEr2=1.1.2.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-05 16:15 --- Fixed in 4.0.2. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pcarlini at suse dot de 2005-09-04 14:10 --- By the way, the error message I get with mainline (or current 4_0-branch): reduced_2005_09_04.cc: In function 'int main()': reduced_2005_09_04.cc:66: error: '(((int)X0::n_primes) == 256)' is not a valid template argument for type 'bool' because it is a non-constant expression is *very* interesting: non-constant?!?!?! For comparison, with 4.0.1 (which is OK), if I change 256 - 0: reduced_2005_09_04.cc: In function 'int main()': reduced_2005_09_04.cc:66: error: invalid use of undefined type 'struct static_assertfalse' reduced_2005_09_04.cc:59: error: declaration of 'struct static_assertfalse' -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-03 18:52 --- Does anyone happen to have a smallish test-case for this one? Obviously, I can build one of the affected toolchains, but if someone has a cut-down test case handy, I'll take it. :-) -- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org | Status|UNCONFIRMED |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-03 19:04 --- (In reply to comment #12) Does anyone happen to have a smallish test-case for this one? Obviously, I can build one of the affected toolchains, but if someone has a cut-down test case handy, I'll take it. :-) It effects all targets, just the slower the machine, the more likely the timeout. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From mark at codesourcery dot com 2005-09-03 20:08 --- Subject: Re: [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out pinskia at gcc dot gnu dot org wrote: --- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-03 19:04 --- (In reply to comment #12) Does anyone happen to have a smallish test-case for this one? Obviously, I can build one of the affected toolchains, but if someone has a cut-down test case handy, I'll take it. :-) It effects all targets, just the slower the machine, the more likely the timeout. Yes, but that makes it no easier for me to test and debug the problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pcarlini at suse dot de 2005-09-03 23:06 --- (In reply to comment #14) Yes, but that makes it no easier for me to test and debug the problem. Hi, today I tried, quickly, but failed to find a simple testcase. Tomorrow, I'll try again, harder. Thanks for taking care of this issue: as far as I'm concerned, tr1/unordered* are completely broken (now that we sorted out the most important bugs and would be seriously usable for 4.0.2 :( And the issue seems serious in general, anyway. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From mark at codesourcery dot com 2005-09-04 03:08 --- Subject: Re: [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out pcarlini at suse dot de wrote: --- Additional Comments From pcarlini at suse dot de 2005-09-03 23:06 --- (In reply to comment #14) Yes, but that makes it no easier for me to test and debug the problem. Hi, today I tried, quickly, but failed to find a simple testcase. Tomorrow, I'll try again, harder. Thanks for taking care of this issue: as far as I'm concerned, tr1/unordered* are completely broken (now that we sorted out the most important bugs and would be seriously usable for 4.0.2 :( And the issue seems serious in general, anyway. Definitely! One way or the other, I'll get this fixed, but I appreciate your help. Please do make sure that you've got the patch I checked in today; it's possible that patch magically fixed the problem. (We can hope!) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-02 19:18 --- I am thinking this was caused by the patch for PR c++/23099. -- What|Removed |Added Component|libstdc++ |c++ Keywords||missed-optimization Target Milestone|--- |4.0.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
-- What|Removed |Added Component|libstdc++ |c++ Keywords||missed-optimization Target Milestone|--- |4.0.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-02 19:31 --- (In reply to comment #6) I am thinking this was caused by the patch for PR c++/23099. I should say how I came to this conclusion. The only non front-end patches which changes code gen that went on both branches are: 2005-08-31 Richard Henderson [EMAIL PROTECTED] * expr.c (expand_expr_real_1) VIEW_CONVERT_EXPR: Force subregs into a pseudo before applying gen_lowpart. 2005-08-30 Richard Henderson [EMAIL PROTECTED] PR target/23630 * expr.c (expand_expr_real_1) VIEW_CONVERT_EXPR: Use gen_lowpart whenever the mode sizes match. But that should only improve things and not hurt things as we are no longer storing things on stacks. And then the it could only be a C++ patch and that is the one only went in around the time noted here which could have caused a code gen: 2005-08-30 Volker Reichelt [EMAIL PROTECTED] PR c++/23586 * parser.c (cp_parser_namespace_name): Move diagnostic for invalid namespace-name to here from ... * name-lookup.c (do_namespace_alias): ... here and ... (do_using_directive): ... here. Remove dead code. 2005-08-28 Mark Mitchell [EMAIL PROTECTED] PR c++/23099 * cp-tree.h (saved_scope): Add skip_evaluation. * decl.c (start_decl): Use DECL_INITIALIZED_IN_CLASS_P, not DECL_INITIAL, to determine whether or not a static data member was initialized in the class-specifier. (cp_finish_decl): Add comment. * init.c (integral_constant_value): Subtitute into the initializers for static data members in templates. * name-lookup.c (push_to_top_level): Save skip_evaluation. (pop_from_top_level): Restore it. * pt.c (instantiate_class_template): Do not substitute into the intializers of static data members when instantiating a class. (regenerate_decl_from_template): Simplify. (instantiate_decl): Tidy. Substitute into the initializer for a static data member even when the definition of the data member is not available. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pcarlini at suse dot de 2005-09-02 21:29 --- (In reply to comment #8) (In reply to comment #6) I am thinking this was caused by the patch for PR c++/23099. I should say how I came to this conclusion. ... Thanks a lot Andrew. Over the we I will try reverting a few patches and more generally I will further investigate the issue. Any additional help is much appreciated, of course! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pcarlini at suse dot de 2005-09-03 01:16 --- Ok, I can confirm that Andrew's guess, about the involvment of Mark's patch: what is happening is that, inside hashtable::m_rehash, X0::n_primes == 0 whereas, at line 383 of tr1/hashtable we find: templateint dummy struct X { static const int n_primes = 256; static const unsigned long primes[n_primes + 1]; }; therefore, n_primes is supposed to be 256. Then everything goes nuts, in short, at every insertion a very costly rehashing happens. Mark, can you please have a look at this issue? -- What|Removed |Added CC||mmitchel at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667
[Bug c++/23667] [4.0/4.1 Regression] tr1/6_containers/unordered/hashtable/23465.cc execution test times out
--- Additional Comments From pcarlini at suse dot de 2005-09-03 01:31 --- Sorry about the typo: X0::n_primes is found wrongly equal to zero (instead of 256) inside prime_rehash_policy::need_rehash. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23667