[Bug c++/34774] [4.1/4.2 Regression] templates, enumerations, overflow, ice
--- Comment #22 from jason at gcc dot gnu dot org 2008-02-20 04:48 --- Subject: Bug 34774 Author: jason Date: Wed Feb 20 04:47:28 2008 New Revision: 132469 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=132469 Log: PR c++/34950 * pt.c (resolve_overloaded_unification): Set processing_template_decl while we look for possible bindings. PR c++/34774 * pt.c (value_dependent_expression_p): Look into DECL_INITIAL of enumerators, too. Modified: branches/gcc-4_1-branch/gcc/cp/ChangeLog branches/gcc-4_1-branch/gcc/cp/pt.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34774
[Bug c++/34774] [4.1/4.2 Regression] templates, enumerations, overflow, ice
--- Comment #18 from tbptbp at gmail dot com 2008-02-13 17:21 --- Ah ah! [svn pull... build...] Sadly it makes no difference yet, most certainly because of all the kludges i had to stuff in: out of the 2213 tests (from the ucb-corpus for +,-,*,/,sqrt) there's still 3 of them (all additions) that g++ refuses to 'fold' completly mov0x200627(%rip),%edx# 600c88 metafloat::float_t2097152u, 131, 0u, (metafloat::category_t)0::fp32 mov0x200626(%rip),%esi# 600c90 metafloat::float_t8353000u, 147, 0u, (metafloat::category_t)0::fp32 mov0x200616(%rip),%edx# 600c8c metafloat::float_t11400u, 147, 0u, (metafloat::category_t)0::fp32 So close to perfection... And then the compile-time 'raytracer' is still fubar :) Compilation is definitely faster, but i only have a debian 4.3 snapshot to compare against and i suppose some checkings are enabled. I guess i'll have to get back to it, remove all those ugly workarounds and see if it can handle it now. Many thanks for your efforts. PS: http://ompf.org/stuff/metafloat/ http://ompf.org/stuff/metafloat/dist/ -- tarball here -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34774
[Bug c++/34774] [4.1/4.2 Regression] templates, enumerations, overflow, ice
--- Comment #19 from jason at gcc dot gnu dot org 2008-02-13 18:44 --- Subject: Bug 34774 Author: jason Date: Wed Feb 13 18:43:34 2008 New Revision: 132292 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=132292 Log: PR c++/34774 * pt.c (value_dependent_expression_p): Look into DECL_INITIAL of enumerators, too. Modified: branches/gcc-4_2-branch/gcc/cp/ChangeLog branches/gcc-4_2-branch/gcc/cp/pt.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34774
[Bug c++/34774] [4.1/4.2 Regression] templates, enumerations, overflow, ice
--- Comment #20 from jason at gcc dot gnu dot org 2008-02-13 19:30 --- Please submit a separate bug report for the folding issue, with a reduced testcase if possible. Incidentally, the no integral type can represent issue is due to one of the enumerators being -31, and one being (unsigned long long)-31, which is a very large positive number. -- jason at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34774
[Bug c++/34774] [4.1/4.2 Regression] templates, enumerations, overflow, ice
--- Comment #21 from tbptbp at gmail dot com 2008-02-14 07:52 --- I've already submitted PR34864 for the folding but apparently i've overdone the reduction; it's actually slightly tricky to trigger the issue (i mean i've obviously hit another problem in that PR). Right now i'm out of inspiration as to how to can convey my point :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34774