[Bug middle-end/28683] [4.0/4.1/4.2 regression] ICE (segfault in add_reg_br_prob_note) when comparing pointers with -O (and higher)
--- Comment #4 from jakub at gcc dot gnu dot org 2006-08-26 07:31 --- Subject: Bug 28683 Author: jakub Date: Sat Aug 26 07:31:30 2006 New Revision: 116467 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116467 Log: PR middle-end/28683 * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly 3 following insns. * gcc.c-torture/compile/20060823-1.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/20060823-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/cfgexpand.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28683
[Bug driver/27622] [4.1/4.2 Regression] gcc hang when compiling with -pipe
--- Comment #10 from kazu at gcc dot gnu dot org 2006-08-26 07:32 --- Ian, would you like to take this bug? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27622
[Bug fortran/28788] [gfortran: 4.1, 4.2 regression] ICE on valid code
--- Comment #12 from paulthomas2 at wanadoo dot fr 2006-08-26 09:30 --- Subject: Re: [gfortran: 4.1, 4.2 regression] ICE on valid code Jerry and Martin, All of this is very depressing - I can reproduce the 32 bit version of the problem and, I suppose, will reproduce the 64 bit version in a moment. There are three things that really start me scratching my head: (i) gcc-4.2 has it that there is a format error in the module file itself: [EMAIL PROTECTED] f90bug]# /svn-4.2/bin/gfortran -I./*.mod -c lensing.f90 Fatal Error: Reading module modelparams at line 27 column 73: Expected integer; (ii) This difficulty disappears if I use 4.1; and (iii) I cannot for the life of me understand what the -I. would do to affect the parsing and processing of the .mod file. (Jerry, is there any recent IO library modification that would do this?) Still worse and what has me completely floored is this module z type :: x integer :: i end type x end module z module modeldata use z type :: cltransferdata type(x) :: ls integer :: numsources integer :: num_q_int real(8) :: q_int real(8) :: dq_int real(8) :: delta_p_l_k end type cltransferdata end module modeldata Produces a modeldata.mod like this: GFORTRAN module created from tests.f90 on Sat Aug 26 10:43:24 2006 If you edit this, you'll get what you deserve. (() () () () () () () () () () () () () () () () () () () () ()) () () () () (2 'cltransferdata' 'modeldata' 1 ((DERIVED UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN) (UNKNOWN 0 ()) 0 0 () () 0 ((3 'ls' (DERIVED 4 ()) () 0 0 0 ()) (5 'numsources' (INTEGER 4 ()) () 0 0 0 ()) (6 'num_q_int' (INTEGER 4 ()) () 0 0 0 ()) (7 'q_int' (REAL 8 ()) () 0 0 0 ()) (8 'dq_int' (REAL 8 ()) () 0 0 0 ()) (9 'delta_p_l_k' (REAL 8 ()) () 0 0 0 ())) PUBLIC ()) 4 'x' 'z' 1 ((DERIVED UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN) (UNKNOWN 0 ()) 0 0 () () 0 ((10 'i' (INTEGER 4 ()) () 0 0 0 ())) PUBLIC ()) 11 'z' 'z' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN) (UNKNOWN 0 ()) 0 0 () () 0 () ()) 12 'modeldata' 'modeldata' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN) (UNKNOWN 0 ()) 0 0 () () 0 () ()) ) ('modeldata' 0 12 'cltransferdata' 0 2 'z' 0 11 'x' 0 4) Note the entry starting with (2 'cltransferdata'... ; this has a reference to the component 'ls' on the next line. (3 'ls' (DERIVED 4 ()) says that 'ls' is derived and is of a type that is defined in entry 4. This entry is: 4 'x' 'z' 1 ((DERIVED UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN) (UNKNOWN 0 ()) 0 0 () () 0 ((10 'i' (INTEGER 4 ()) () 0 0 0 ())) PUBLIC ()) which says that it is declared in module z, is derived and has an integer component i. with the -I. option, like you, I get use ModelData 1 Error: The component 'ls' is a PRIVATE type and cannot be a component of 'cltransferdata', which is PUBLIC at (1) (Why is it this USE statement and not others, either before or after?) Anyway, ignoring this last question for the time being, I find in modeldata.mod the entry(line 55) 24 'cltransferdata' 'modeldata' 1 ((DERIVED UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN) (UNKNOWN 0 ()) 0 0 () () 0 ((25 'ls' (DERIVED 26 ()) () 0 0 ()) (27 'numsources' (INTEGER 4 ()) () 0 0 ()) (28 'num_q_int' (INTEGER 4 ()) () 0 0 ()) (29 'q_int' (REAL 8 ()) (1 DEFERRED () ()) 1 1 ()) (30 'dq_int' (REAL 8 ()) (1 DEFERRED () ()) 1 1 ()) (31 'delta_p_l_k' (REAL 8 ()) (3 DEFERRED () () () () () ()) 1 1 ())) PUBLIC ()) You will see that 'ls' is of derived type declared in entry 26, which is present in the file but out of order. That said, it does not matter where I put it, nor is it PRIVATE. PRIVATE objects do not appear at all in .mod files. I will think some more about this but I will, at the same time, prepare the patch to revert to the original state, with the kludged up version, in resolve.c, of the fixes for the PRs. The release of 4.2.0 is looming! This is such a pity because the current version of derived type association is so much better in principle. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28788
[Bug tree-optimization/28850] missed call -> jmp transformation; redundant unwind stuff with empty finally
--- Comment #3 from rguenth at gcc dot gnu dot org 2006-08-26 10:07 --- Indeed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org Keywords||missed-optimization http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28850
[Bug c++/28856] New: Optimizer crash
I just tried to compile Suse Linux package qt3-extensions-3.3.6-12 with GNU C++ version 4.2 snapshot 20060819. The compiler said /usr/src/packages/BUILD/qt-x11-free-3.3.6/src/tools/qstring.cpp: In member function 'bool QString::endsWith(const QString&, bool) const': /usr/src/packages/BUILD/qt-x11-free-3.3.6/src/tools/qstring.cpp:7003: internal compiler error: in build_polynomial_chrec, at tree-chrec.h:108 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. Preprocessed source code attached. Flag -O2 required. -- Summary: Optimizer crash Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dcb314 at hotmail dot com GCC host triplet: x86_64-suse-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28856
[Bug c++/28856] Optimizer crash
--- Comment #1 from dcb314 at hotmail dot com 2006-08-26 11:00 --- Created an attachment (id=12143) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12143&action=view) C++ source code -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28856
[Bug c++/28856] Optimizer crash
--- Comment #2 from rguenth at gcc dot gnu dot org 2006-08-26 12:15 --- *** This bug has been marked as a duplicate of 28776 *** -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28856
[Bug middle-end/28776] [4.2 Regression] dwarf2out.c:2160: ICE: in build_polynomial_chrec, at tree-chrec.h:108
--- Comment #16 from rguenth at gcc dot gnu dot org 2006-08-26 12:15 --- *** Bug 28856 has been marked as a duplicate of this bug. *** -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||dcb314 at hotmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28776
[Bug fortran/28788] [gfortran: 4.1, 4.2 regression] ICE on valid code
--- Comment #13 from aovb94 at dsl dot pipex dot com 2006-08-26 12:15 --- I'm getting an ICE and segmentation fault in the following code. I think it may be related to Paul Thomas's observation about pointers to components of derived type arrays. However, it does compile under these circumstances: * when foo and bar are not in the module * when the module contains foo or bar but not both * when the types a and b have no reference to each other * when ", only, a (or b)" is not used on the use statement MODULE type_mod TYPE a INTEGER :: n(10) END TYPE a ! TYPE b TYPE (a), POINTER :: m(:) => NULL () END TYPE b END MODULE type_mod MODULE seg_mod CONTAINS SUBROUTINE foo (x) USE type_mod, ONLY : a ! fails ! USE type_mod ! works IMPLICIT NONE TYPE (a) :: x ! RETURN END SUBROUTINE foo ! SUBROUTINE bar (x) USE type_mod, ONLY : b ! fails ! USE type_mod ! works IMPLICIT NONE TYPE (b) :: x ! RETURN END SUBROUTINE bar END MODULE seg_mod gfc -c type_mod.f95 seg_mod.f95 seg_mod.f95:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. gfc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc/configure --enable-languages=c,fortran --prefix=/home/martin/GCC/usr/local --disable-nls --disable-multilib --enable-shared --enable-threads=posix --disable-checking --enable-long-long --enable-__cxa_atexit --enable-clocale=gnu --disable-libunwind-exception Thread model: posix gcc version 4.2.0 20060825 (experimental) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28788
[Bug c++/28855] Internal Compiler Error / Segmentation Fault compiling single self-made header file
--- Comment #2 from coolhand2 at gmail dot com 2006-08-26 13:42 --- Upon further investigation, compiling a .cpp file with the header included into it brought about no problems at all, and I was able to use the library created within the header file with no problems. -- coolhand2 at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28855
[Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
--- Comment #17 from ebotcazou at gcc dot gnu dot org 2006-08-26 14:00 --- Andrew, please remove the superfluous TAB you've added in + * tree-inline.c (setup_one_parameter): Strip useless + type conversion before adding it to the IR. on the 4.1 branch at least. Thanks in advance. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added CC||ebotcazou at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
[Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
--- Comment #11 from pinskia at gcc dot gnu dot org 2006-08-26 14:40 --- A related testcase is: int f(short a) { unsigned short b = *(unsigned short*)&a; return b; } Which should be optimized into -- int f1(short a) { unsigned short b = a; return b; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26069
[Bug c++/28853] [4.0/4.1/4.2 regression] ICE on invalid declaration with template template parameter
--- Comment #5 from patchapp at dberlin dot org 2006-08-26 14:46 --- Subject: Bug number PR c++/28853 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00954.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28853
[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered
--- Comment #15 from drow at gcc dot gnu dot org 2006-08-26 15:14 --- I don't understand aliasing well enough to fix this correctly. See for more: http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00965.html -- drow at gcc dot gnu dot org changed: What|Removed |Added CC||drow at gcc dot gnu dot org AssignedTo|drow at gcc dot gnu dot org |unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778
[Bug c++/28595] [4.1/4.2 regression] ICE with invalid const static variable
--- Comment #3 from mmitchel at gcc dot gnu dot org 2006-08-26 16:23 --- Subject: Bug 28595 Author: mmitchel Date: Sat Aug 26 16:23:33 2006 New Revision: 116468 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116468 Log: PR c++/28588 * class.c (resolve_address_of_overloaded_function): Add access_path parameter. Perform access checks. (instantiate_type): Adjust call to resolve_address_of_overloaded_function. Remove unnecessary code. * tree.c (is_overloaded_fn): Document. Return 2 when there are acutally multiple functions. (really_overloaded_fn): Use is_overloaded_fn. * mangle.c (write_expression): Handle BASELINKs. * cp-tree.h (really_overloaded_fn): Return bool. (baselink_for_fns): Declare. * search.c (lookup_member): Check access for single static functions here. * pt.c (convert_nontype_argument_function): Handle BASELINKs. (tsubst_copy_and_build): Generate BASELINKs for template-ids. * semantics.c (finish_call_expr): Use baselink_for_fns. (baselink_for_fns): New function. (finish_id_expression): Use it. * parser.c (cp_parser_template_argument): Don't strip BASELINKs. PR c++/28595 * pt.c (tsubst): Issue errors about attempts to create VLAs at template-instantiation time. PR c++/28588 * g++.dg/inherit/access6.C: New test. * g++.dg/inherit/access7.C: Likewise. PR c++/28595 * g++.dg/template/array15.C: New test. * g++.dg/template/crash2.C: Tweak error markers. Added: trunk/gcc/testsuite/g++.dg/inherit/access6.C trunk/gcc/testsuite/g++.dg/inherit/access7.C trunk/gcc/testsuite/g++.dg/template/array15.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/mangle.c trunk/gcc/cp/parser.c trunk/gcc/cp/pt.c trunk/gcc/cp/search.c trunk/gcc/cp/semantics.c trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/template/crash2.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28595
[Bug c++/28588] [4.0/4.1/4.2 Regression] static private function
--- Comment #2 from mmitchel at gcc dot gnu dot org 2006-08-26 16:23 --- Subject: Bug 28588 Author: mmitchel Date: Sat Aug 26 16:23:33 2006 New Revision: 116468 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116468 Log: PR c++/28588 * class.c (resolve_address_of_overloaded_function): Add access_path parameter. Perform access checks. (instantiate_type): Adjust call to resolve_address_of_overloaded_function. Remove unnecessary code. * tree.c (is_overloaded_fn): Document. Return 2 when there are acutally multiple functions. (really_overloaded_fn): Use is_overloaded_fn. * mangle.c (write_expression): Handle BASELINKs. * cp-tree.h (really_overloaded_fn): Return bool. (baselink_for_fns): Declare. * search.c (lookup_member): Check access for single static functions here. * pt.c (convert_nontype_argument_function): Handle BASELINKs. (tsubst_copy_and_build): Generate BASELINKs for template-ids. * semantics.c (finish_call_expr): Use baselink_for_fns. (baselink_for_fns): New function. (finish_id_expression): Use it. * parser.c (cp_parser_template_argument): Don't strip BASELINKs. PR c++/28595 * pt.c (tsubst): Issue errors about attempts to create VLAs at template-instantiation time. PR c++/28588 * g++.dg/inherit/access6.C: New test. * g++.dg/inherit/access7.C: Likewise. PR c++/28595 * g++.dg/template/array15.C: New test. * g++.dg/template/crash2.C: Tweak error markers. Added: trunk/gcc/testsuite/g++.dg/inherit/access6.C trunk/gcc/testsuite/g++.dg/inherit/access7.C trunk/gcc/testsuite/g++.dg/template/array15.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/mangle.c trunk/gcc/cp/parser.c trunk/gcc/cp/pt.c trunk/gcc/cp/search.c trunk/gcc/cp/semantics.c trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/template/crash2.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28588
[Bug c++/28588] [4.0/4.1 Regression] static private function
--- Comment #3 from mmitchel at gcc dot gnu dot org 2006-08-26 16:34 --- Fixed in 4.2.0. Will not be fixed in previous releases. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Summary|[4.0/4.1/4.2 Regression]|[4.0/4.1 Regression] static |static private function |private function http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28588
[Bug c++/28595] [4.1 regression] ICE with invalid const static variable
--- Comment #4 from mmitchel at gcc dot gnu dot org 2006-08-26 16:38 --- Fixed in 4.2.0. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.1/4.2 regression] ICE|[4.1 regression] ICE with |with invalid const static |invalid const static |variable|variable http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28595
[Bug c++/28639] [4.2 regression] ICE trying to print error on invalid template parameter
--- Comment #7 from mmitchel at gcc dot gnu dot org 2006-08-26 16:40 --- Downgrading to P4 as the first error message is valid. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Keywords|ice-on-invalid-code | Priority|P2 |P4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28639
[Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
--- Comment #12 from pinskia at gcc dot gnu dot org 2006-08-26 16:41 --- A fix for this runs into another bug which I am about to file. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|pinskia at gcc dot gnu dot |unassigned at gcc dot gnu |org |dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26069
[Bug c++/28058] [4.1/4.2 regression] ICE in inline_forbidden_p
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28058
[Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
--- Comment #13 from pinskia at gcc dot gnu dot org 2006-08-26 16:51 --- (In reply to comment #12) > A fix for this runs into another bug which I am about to file. I did not file it but did send an email about the problem: http://gcc.gnu.org/ml/gcc/2006-08/msg00510.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26069
[Bug c++/28058] [4.1/4.2 regression] ICE in inline_forbidden_p
--- Comment #8 from mmitchel at gcc dot gnu dot org 2006-08-26 16:53 --- We do have code to notice use-before-specialization errors. For example: template void f(); void g() { f(); } template <> void f() {} results in an error. However, the code to initialize static variables is not generated until end-of-file, so we do not realize that we are in this situation. (See expand_static_init for the point at which we defer initialization.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28058
[Bug c++/26573] [4.0/4.1/4.2 regression] Duplicate message for static member in local class
-- lmillward at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |lmillward at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2006-03-06 13:02:59 |2006-08-26 17:01:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26573
[Bug c++/28595] [4.1 regression] ICE with invalid const static variable
--- Comment #5 from mmitchel at gcc dot gnu dot org 2006-08-26 17:14 --- Subject: Bug 28595 Author: mmitchel Date: Sat Aug 26 17:13:52 2006 New Revision: 116471 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116471 Log: PR c++/28595 * pt.c (tsubst): Issue errors about attempts to create VLAs at template-instantiation time. PR c++/28595 * g++.dg/template/array15.C: New test. * g++.dg/template/crash2.C: Tweak error markers. Added: branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/array15.C Modified: branches/gcc-4_1-branch/gcc/cp/ChangeLog branches/gcc-4_1-branch/gcc/cp/pt.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/crash2.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28595
[Bug c++/28595] [4.1 regression] ICE with invalid const static variable
--- Comment #6 from mmitchel at gcc dot gnu dot org 2006-08-26 17:14 --- Fixed in 4.1.2. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|mark at codesourcery dot com|unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28595
[Bug c++/28595] [4.1 regression] ICE with invalid const static variable
--- Comment #7 from mmitchel at gcc dot gnu dot org 2006-08-26 17:16 --- Fixed in 4.1.2. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28595
[Bug java/28663] [4.2 regression] gcj fails to binary-compile eclipse's javac
--- Comment #4 from aph at gcc dot gnu dot org 2006-08-26 17:35 --- I need a test case. Please attach the .class of .jar to this PR. -- aph at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |aph at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-08-26 17:35:52 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28663
[Bug java/28663] [4.2 regression] gcj fails to binary-compile eclipse's javac
--- Comment #5 from aph at gcc dot gnu dot org 2006-08-26 17:37 --- If you can generate this failure with just the class files, please supply those instead of the whole jar. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28663
[Bug c++/28736] [4.2 regression] ICE with friend of invalid template class
--- Comment #2 from lmillward at gcc dot gnu dot org 2006-08-26 17:41 --- Subject: Bug 28736 Author: lmillward Date: Sat Aug 26 17:41:18 2006 New Revision: 116473 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116473 Log: PR c++/28736 PR c++/28737 PR c++/28738 * pt.c (process_template_parm): Store invalid template parameters as a TREE_LIST with a TREE_VALUE of error_mark_node. (push_inline_template_parms_recursive): Check for template parameters having a TREE_VALUE of error_mark_node rather than check the parameter itself. (mangle_class_name_for_template): Likewise. (comp_template_parms): When comparing the individual template parameters, return 1 if either is error_mark_node. (current_template_args): Robustify. (redeclare_class_template): Likewise. * g++.dg/template/void10.C: New test. * g++.dg/template/void8.C: New test. * g++.dg/template/void9.C: New test. * g++.dg/template/void3.C: Adjust error markers. * g++.dg/template/void4.C: Likewise. * g++.dg/template/crash55.C: Likewise. * g++.dg/template/void7.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/template/void10.C trunk/gcc/testsuite/g++.dg/template/void8.C trunk/gcc/testsuite/g++.dg/template/void9.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/template/crash55.C trunk/gcc/testsuite/g++.dg/template/void3.C trunk/gcc/testsuite/g++.dg/template/void4.C trunk/gcc/testsuite/g++.dg/template/void7.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28736
[Bug c++/28737] [4.2 regression] ICE using invalid template class in specialization
--- Comment #2 from lmillward at gcc dot gnu dot org 2006-08-26 17:41 --- Subject: Bug 28737 Author: lmillward Date: Sat Aug 26 17:41:18 2006 New Revision: 116473 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116473 Log: PR c++/28736 PR c++/28737 PR c++/28738 * pt.c (process_template_parm): Store invalid template parameters as a TREE_LIST with a TREE_VALUE of error_mark_node. (push_inline_template_parms_recursive): Check for template parameters having a TREE_VALUE of error_mark_node rather than check the parameter itself. (mangle_class_name_for_template): Likewise. (comp_template_parms): When comparing the individual template parameters, return 1 if either is error_mark_node. (current_template_args): Robustify. (redeclare_class_template): Likewise. * g++.dg/template/void10.C: New test. * g++.dg/template/void8.C: New test. * g++.dg/template/void9.C: New test. * g++.dg/template/void3.C: Adjust error markers. * g++.dg/template/void4.C: Likewise. * g++.dg/template/crash55.C: Likewise. * g++.dg/template/void7.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/template/void10.C trunk/gcc/testsuite/g++.dg/template/void8.C trunk/gcc/testsuite/g++.dg/template/void9.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/template/crash55.C trunk/gcc/testsuite/g++.dg/template/void3.C trunk/gcc/testsuite/g++.dg/template/void4.C trunk/gcc/testsuite/g++.dg/template/void7.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28737
[Bug c++/28738] [4.2 regression] ICE specializing invalid template class
--- Comment #2 from lmillward at gcc dot gnu dot org 2006-08-26 17:41 --- Subject: Bug 28738 Author: lmillward Date: Sat Aug 26 17:41:18 2006 New Revision: 116473 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116473 Log: PR c++/28736 PR c++/28737 PR c++/28738 * pt.c (process_template_parm): Store invalid template parameters as a TREE_LIST with a TREE_VALUE of error_mark_node. (push_inline_template_parms_recursive): Check for template parameters having a TREE_VALUE of error_mark_node rather than check the parameter itself. (mangle_class_name_for_template): Likewise. (comp_template_parms): When comparing the individual template parameters, return 1 if either is error_mark_node. (current_template_args): Robustify. (redeclare_class_template): Likewise. * g++.dg/template/void10.C: New test. * g++.dg/template/void8.C: New test. * g++.dg/template/void9.C: New test. * g++.dg/template/void3.C: Adjust error markers. * g++.dg/template/void4.C: Likewise. * g++.dg/template/crash55.C: Likewise. * g++.dg/template/void7.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/template/void10.C trunk/gcc/testsuite/g++.dg/template/void8.C trunk/gcc/testsuite/g++.dg/template/void9.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/template/crash55.C trunk/gcc/testsuite/g++.dg/template/void3.C trunk/gcc/testsuite/g++.dg/template/void4.C trunk/gcc/testsuite/g++.dg/template/void7.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28738
[Bug c++/28736] [4.2 regression] ICE with friend of invalid template class
--- Comment #3 from lmillward at gcc dot gnu dot org 2006-08-26 17:42 --- Fixed on mainline. -- lmillward at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28736
[Bug c++/28737] [4.2 regression] ICE using invalid template class in specialization
--- Comment #3 from lmillward at gcc dot gnu dot org 2006-08-26 17:42 --- Fixed on mainline. -- lmillward at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28737
[Bug c++/28738] [4.2 regression] ICE specializing invalid template class
--- Comment #3 from lmillward at gcc dot gnu dot org 2006-08-26 17:42 --- Fixed on mainline. -- lmillward at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28738
[Bug tree-optimization/28839] [4.2 Regression] ICE in tree-vectorizer.c with -O2 -ftree-vectorize -funswitch-loops
--- Comment #4 from rguenth at gcc dot gnu dot org 2006-08-26 18:06 --- Also fails on i686 with -O2 -msse2 -mfpmath=sse -ftree-vectorize -funswitch-loops and is a bug in unswitching which creates : if (t1_7 != 0) goto ; else goto ; :; # ready_20 = PHI ; # i_1 = PHI <0(3), i_17(5)>; # ready_2 = PHI ; :; # ready_12 = V_MAY_DEF ; ready[i_1] = 0; note ready_20 and ready_2 which are both life on entry to block L15 which is invalid for virtual operands. Updating of the SSA form is broken here. Slightly smaller testcase: tatic int ready[10]; void test_once (int t1) { int i; for (i = 0; i < 10; i++) { ready[i] = 0; if (t1) if (f()) return; } abort (); } -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||rakdver at gcc dot gnu dot ||org GCC target triplet|x86_64-linux-gnu|x86_64-linux-gnu, i?86-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28839
[Bug libgomp/25938] [4.2 regression] libgomp installs header files in version and target independent location
--- Comment #11 from jsm28 at gcc dot gnu dot org 2006-08-26 18:30 --- Subject: Bug 25938 Author: jsm28 Date: Sat Aug 26 18:30:44 2006 New Revision: 116475 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116475 Log: PR libgomp/25938 * Makefile.am (libsubincludedir): New. (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS. * Makefile.in: Regenerate. Modified: trunk/libgomp/ChangeLog trunk/libgomp/Makefile.am trunk/libgomp/Makefile.in -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25938
[Bug other/28797] Problems with demangling (__cxa_demangle())
--- Comment #6 from ian at airs dot com 2006-08-26 18:54 --- OK, so that's where you got your symbols, but where did you get your list of demangled strings? Did you just compare directly to the source code? Or are you using some other demangler? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28797
[Bug other/28797] Problems with demangling (__cxa_demangle())
--- Comment #7 from ian at airs dot com 2006-08-26 19:04 --- I am testing a patch to the demangler to correctly handle _Z1fM1AKiPKS1_. -- ian at airs dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |ian at airs dot com |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-08-26 19:04:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28797
[Bug middle-end/28727] Wrong code generated (assignment incorrectly optimized out)
--- Comment #3 from qrczak at knm dot org dot pl 2006-08-26 19:15 --- The problem seems to be caused by illegal type punning. Rewriting the code to avoid pointer casts cures the bug, and -fno-strict-aliasing cures it too, so gcc is probably correct. Thanks to Michael Veksler for pointing this out. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28727
[Bug libfortran/28452] __gfortran_random_r10 not found
--- Comment #9 from tkoenig at gcc dot gnu dot org 2006-08-26 19:17 --- Subject: Bug 28452 Author: tkoenig Date: Sat Aug 26 19:17:35 2006 New Revision: 116476 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116476 Log: 2006-08-26 Thomas Koenig <[EMAIL PROTECTED]> PR libfortran/28542 * Makefile.am: Remove normalize.c. * aclocal.m4: Regenerate. * Makefile.in: Regenerate. * libgfortran.h: #include . Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX. Remove prototypes for normalize_r4_i4 and normalize_r8_i8. * intrinsics/random.c (top level): Add prototypes for random_r10, arandom_r10, random_r16 and arandom_r16. (rnumber_4): New static function. (rnumber_8): New static function. (rnumber_10): New static function. (rnumber_16): New static function. (top level): Set to kiss_size to 12 if we have REAL(KIND=16), to 8 otherwise. Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and KISS_DEFAULT_SEED_3. (kiss_random_kernel): Take argument to differentiate between different random number generators. (random_r4): Add argument to call to kiss_random_kernel, use rnumber_*. (random_r8): Likewise. (random_r10): New function. (random_r16): New function. (arandom_r4): Add argument to call to kiss_random_kernel, use_rnumber_*. (arandom_r8): Likewise. (arandom_r10): New function. (arandom_r16): New function. * intrinsics/rand.c (rand): Use shift and mask. * runtime/normalize.c: Remove. 2006-08-28 Thomas Koenig <[EMAIL PROTECTED]> PR libfortran/28452 * gfortran.dg/random_3.f90: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/random_3.f90 Removed: branches/gcc-4_1-branch/libgfortran/runtime/normalize.c Modified: branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/libgfortran/ChangeLog branches/gcc-4_1-branch/libgfortran/Makefile.am branches/gcc-4_1-branch/libgfortran/Makefile.in branches/gcc-4_1-branch/libgfortran/intrinsics/rand.c branches/gcc-4_1-branch/libgfortran/intrinsics/random.c branches/gcc-4_1-branch/libgfortran/libgfortran.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28452
[Bug middle-end/28542] Segmentation fault using gcc (v4.0.3) in Ubuntu Dapper
--- Comment #8 from tkoenig at gcc dot gnu dot org 2006-08-26 19:17 --- Subject: Bug 28542 Author: tkoenig Date: Sat Aug 26 19:17:35 2006 New Revision: 116476 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116476 Log: 2006-08-26 Thomas Koenig <[EMAIL PROTECTED]> PR libfortran/28542 * Makefile.am: Remove normalize.c. * aclocal.m4: Regenerate. * Makefile.in: Regenerate. * libgfortran.h: #include . Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX. Remove prototypes for normalize_r4_i4 and normalize_r8_i8. * intrinsics/random.c (top level): Add prototypes for random_r10, arandom_r10, random_r16 and arandom_r16. (rnumber_4): New static function. (rnumber_8): New static function. (rnumber_10): New static function. (rnumber_16): New static function. (top level): Set to kiss_size to 12 if we have REAL(KIND=16), to 8 otherwise. Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and KISS_DEFAULT_SEED_3. (kiss_random_kernel): Take argument to differentiate between different random number generators. (random_r4): Add argument to call to kiss_random_kernel, use rnumber_*. (random_r8): Likewise. (random_r10): New function. (random_r16): New function. (arandom_r4): Add argument to call to kiss_random_kernel, use_rnumber_*. (arandom_r8): Likewise. (arandom_r10): New function. (arandom_r16): New function. * intrinsics/rand.c (rand): Use shift and mask. * runtime/normalize.c: Remove. 2006-08-28 Thomas Koenig <[EMAIL PROTECTED]> PR libfortran/28452 * gfortran.dg/random_3.f90: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/random_3.f90 Removed: branches/gcc-4_1-branch/libgfortran/runtime/normalize.c Modified: branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/libgfortran/ChangeLog branches/gcc-4_1-branch/libgfortran/Makefile.am branches/gcc-4_1-branch/libgfortran/Makefile.in branches/gcc-4_1-branch/libgfortran/intrinsics/rand.c branches/gcc-4_1-branch/libgfortran/intrinsics/random.c branches/gcc-4_1-branch/libgfortran/libgfortran.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28542
[Bug libfortran/28452] __gfortran_random_r10 not found
--- Comment #10 from tkoenig at gcc dot gnu dot org 2006-08-26 19:18 --- Fixed on 4.1 as well. Closing. -- tkoenig at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28452
[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered
--- Comment #16 from rguenth at gcc dot gnu dot org 2006-08-26 20:30 --- If you change the prototype to take char* as argument we figure out clobbering correctly: --- t.i.030t.alias1 2006-08-26 22:28:40.0 +0200 +++ t.i.030t.alias1.ok 2006-08-26 22:27:33.0 +0200 @@ -33,7 +33,7 @@ Variable: SMT.5, UID 1550, int, is addressable, is global, call clobbered (, is global var ) -Variable: a, UID 1529, const GLint *, default def: a_1 +Variable: a, UID 1529, char *, default def: a_1 Variable: b, UID 1532, int * @@ -174,11 +174,11 @@ Variable: blist, UID 1526, const int * -Variable: list, UID 1527, int[32], is addressable, default def: list_4 +Variable: list, UID 1527, int[32], is aliased, is addressable, call clobbered (, passed to call, is global var ), default def: list_4 -Variable: blist.0, UID 1528, const GLint *, symbol memory tag: SMT.30 +Variable: blist.0, UID 1528, char *, symbol memory tag: SMT.30 -Variable: SMT.30, UID 1575, const GLint, is addressable, is global, call clobbered (, passed to call, is global var ) +Variable: SMT.30, UID 1575, char, is addressable, is global, call clobbered (, passed to call, is global var ), may aliases: { list } @@ -195,16 +195,16 @@ Aliased symbols -list, UID 1527, int[32], is addressable, default def: list_4 -SMT.30, UID 1575, const GLint, is addressable, is global, call clobbered (, passed to call, is global var ) +list, UID 1527, int[32], is aliased, is addressable, call clobbered (, passed to call, is global var ), default def: list_4 +SMT.30, UID 1575, char, is addressable, is global, call clobbered (, passed to call, is global var ), may aliases: { list } Dereferenced pointers -blist.0, UID 1528, const GLint *, symbol memory tag: SMT.30 +blist.0, UID 1528, char *, symbol memory tag: SMT.30 Symbol memory tags -SMT.30, UID 1575, const GLint, is addressable, is global, call clobbered (, passed to call, is global var ) +SMT.30, UID 1575, char, is addressable, is global, call clobbered (, passed to call, is global var ), may aliases: { list } Flow-sensitive alias information for find @@ -257,7 +257,7 @@ { int list[32]; const int * blist; - const GLint * blist.0; + char * blist.0; : if (alistp_2 != 0B) goto ; else goto ; @@ -271,10 +271,11 @@ list[3] = 42; blist_6 = &list; + # list_8 = PHI ; # blist_1 = PHI ; :; - blist.0_7 = (const GLint *) blist_1; - # SMT.30_9 = V_MAY_DEF ; + blist.0_7 = (char *) blist_1; + # list_9 = V_MAY_DEF ; aglChoosePixelFormat (blist.0_7); return; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778
[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered
--- Comment #17 from rguenth at gcc dot gnu dot org 2006-08-26 20:42 --- So, making pointer arguments effectively using alias-set zero for alias and call clobbering computation would fix this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778
[Bug middle-end/28727] Wrong code generated (assignment incorrectly optimized out)
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-08-26 20:46 --- *** This bug has been marked as a duplicate of 21920 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28727
[Bug libgomp/25938] [4.2 regression] libgomp installs header files in version and target independent location
--- Comment #12 from pinskia at gcc dot gnu dot org 2006-08-26 20:46 --- Fixed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25938
[Bug c/21920] alias violating
--- Comment #106 from pinskia at gcc dot gnu dot org 2006-08-26 20:46 --- *** Bug 28727 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||qrczak at knm dot org dot pl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21920
[Bug tree-optimization/28839] [4.2 Regression] ICE in tree-vectorizer.c with -O2 -ftree-vectorize -funswitch-loops
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-08-26 20:48 --- (In reply to comment #4) > Also fails on i686 with -O2 -msse2 -mfpmath=sse -ftree-vectorize > -funswitch-loops > and is a bug in unswitching which creates Seems like we should have something in verrifying part of tree-ssa to catch this case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28839
[Bug c++/28858] New: [4.0/4.1/4.2 regression] Algorithm to find the end of a template parameter list is flawed
If an error occurs in a template parameter list, the frontend sometimes calls cp_parser_skip_until_found to find the ">" that marks the end of the list. The algorithm used there has some flaws, though: 1) It doesn't keep track of the nesting levels of "< ... >". This results in bogus error messages when templates are used as default parameters or when template template parameters are involved, e.g.: template class> struct A {}; yields: bug.cc:1: error: 'TEMPLATE' has not been declared bug.cc:1: error: expected `>' before '<' token bug.cc:1: error: expected identifier before '>' token bug.cc:1: error: expected unqualified-id before '>' token 2) It doesn't stop at ";", or "{", or "}". (These tokens probably indicate the end of a declaration or the start of a function/struct body which is not part of a template parameter list.) Because of this large parts of the source might be skipped, if one forgets the closing ">", again resulting in bogus errors, e.g.: template 0; int j = i; yields: bug.cc:1: error: expected `>' before 'struct' bug.cc:2: error: expected unqualified-id before numeric constant bug.cc:3: error: 'i' was not declared in this scope Posting a patch soon. -- Summary: [4.0/4.1/4.2 regression] Algorithm to find the end of a template parameter list is flawed Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: error-recovery, diagnostic Severity: normal Priority: P3 Component: c++ AssignedTo: reichelt at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28858
[Bug c/28859] New: GCC calls malloc from within signal context
If running gcc with glibc malloc checking turned on (MALLOC_CHECK_=2), on heap corruption the SIGABRT raised by glibc will cause gcc to deadlock because it calls async-singal-unsafe malloc () from the signal context to do the diagnostic. -- Summary: GCC calls malloc from within signal context Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28859
[Bug middle-end/28859] GCC calls malloc from within signal context
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-08-26 21:18 --- SIGABRT is not an async signal. It is one of the few signal that is not. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28859
[Bug middle-end/28859] GCC calls malloc from within signal context
--- Comment #2 from rguenth at gcc dot gnu dot org 2006-08-26 21:25 --- http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html "All functions not in the above table are considered to be unsafe with respect to signals. In the presence of signals, all functions defined by this volume of IEEE Std 1003.1-2001 shall behave as defined when called from or interrupted by a signal-catching function, with a single exception: when a signal interrupts an unsafe function and the signal-catching function calls an unsafe function, the behavior is undefined." malloc is not included in this list. Now, it is unfortunate that glibc raises SIGABRT from inside malloc. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28859
[Bug fortran/28788] [gfortran: 4.1, 4.2 regression] ICE on valid code
--- Comment #14 from jvdelisle at gcc dot gnu dot org 2006-08-26 21:27 --- With latest svn update and full bootstrap with Martins case above on i686-linux-pc-gnu: (gdb) r Starting program: /home/jerry/bin/f951 ' as free form. .file "" Program received signal SIGSEGV, Segmentation fault. 0x0809e8f8 in gfc_use_derived (sym=0x894b7e0) at ../../gcc42/gcc/fortran/symbol.c:1561 1561 st->n.sym = s; (gdb) bt #0 0x0809e8f8 in gfc_use_derived (sym=0x894b7e0) at ../../gcc42/gcc/fortran/symbol.c:1561 #1 0x0809e834 in gfc_use_derived (sym=0x8949a98) at ../../gcc42/gcc/fortran/symbol.c:1538 #2 0x0805ba02 in gfc_match_data_decl () at ../../gcc42/gcc/fortran/decl.c:2261 #3 0x080851fa in match_word (str=Variable "str" is not available. ) at ../../gcc42/gcc/fortran/parse.c:65 #4 0x0808579d in decode_statement () at ../../gcc42/gcc/fortran/parse.c:134 #5 0x0808612e in next_statement () at ../../gcc42/gcc/fortran/parse.c:493 #6 0x08087ddc in parse_spec (st=ST_IMPLICIT_NONE) at ../../gcc42/gcc/fortran/parse.c:1855 #7 0x08088299 in parse_progunit (st=Variable "st" is not available. ) at ../../gcc42/gcc/fortran/parse.c:2855 #8 0x080884e2 in parse_contained (module=1) at ../../gcc42/gcc/fortran/parse.c:2801 #9 0x08088b03 in gfc_parse_file () at ../../gcc42/gcc/fortran/parse.c:3040 #10 0x080a9e0d in gfc_be_parse_file (set_yydebug=0) at ../../gcc42/gcc/fortran/f95-lang.c:303 #11 0x0839fcc5 in toplev_main (argc=1, argv=0xbfa4fc14) at ../../gcc42/gcc/toplev.c:999 #12 0x080ddf6f in main (argc=Cannot access memory at address 0x ) at ../../gcc42/gcc/main.c:35 (gdb) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28788
[Bug target/27544] [4.0/4.1/4.2 Regression] attribute altivec is not documented
--- Comment #4 from dje at gcc dot gnu dot org 2006-08-26 21:33 --- Created an attachment (id=12144) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12144&action=view) documentation patch -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27544
[Bug target/27544] [4.0/4.1/4.2 Regression] attribute altivec is not documented
--- Comment #5 from dje at gcc dot gnu dot org 2006-08-26 21:36 --- Subject: Bug 27544 Author: dje Date: Sat Aug 26 21:36:39 2006 New Revision: 116478 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116478 Log: PR target/27544 * doc/extend.texi (PowerPC Variable Attributes): Mention altivec. (PowerPC Type Attributes): New. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27544
[Bug c++/24009] [4.0/4.1/4.2 regression] C++ fails to print #include stack
--- Comment #14 from jsm28 at gcc dot gnu dot org 2006-08-26 21:38 --- Subject: Bug 24009 Author: jsm28 Date: Sat Aug 26 21:38:46 2006 New Revision: 116479 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116479 Log: PR c++/24009 * input.h (restore_input_file_stack): Declare. (INPUT_FILE_STACK_BITS): Define. * toplev.c (fs_p, input_file_stack_history, input_file_stack_restored, restore_input_file_stack): New. (push_srcloc, pop_srcloc): Check for input_file_stack_tick overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack. (pop_srcloc): Don't free old state of stack. cp: * parser.c (struct cp_token): Add input_file_stack_index. (eof_token): Update. (cp_lexer_get_preprocessor_token): Save input_file_stack_tick. (cp_lexer_set_source_position_from_token): Restore input file stack. Modified: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/input.h trunk/gcc/toplev.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24009
[Bug target/27544] [4.0/4.1/4.2 Regression] attribute altivec is not documented
--- Comment #6 from dje at gcc dot gnu dot org 2006-08-26 21:40 --- Patch applied to 4.2. -- dje at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.0.4 |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27544
[Bug c++/28860] New: [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization
The compiler ICEs on the following invalid code snippet since GCC 3.0: === template class A> class A<0> {}; === bug.cc:1: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have bound_template_template_parm in xref_basetypes, at cp/decl.c:9788 Please submit a full bug report, [etc.] In addition the compiler accepts the following similar invalid code snippet: === template class A> class A<0>; === Posting a patch soon. -- Summary: [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, accepts-invalid, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: reichelt at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28860
[Bug c++/28860] [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization
-- reichelt at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.0.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28860
[Bug c++/24009] [4.0/4.1 regression] C++ fails to print #include stack
--- Comment #15 from jsm28 at gcc dot gnu dot org 2006-08-26 22:03 --- Although I expect the same approach as the committed patch to work for 4.0 and 4.1, the patch itself doesn't apply cleanly to 4.1 branch. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|jsm28 at gcc dot gnu dot org|unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24009
[Bug c++/28861] New: [4.0/4.1/4.2 regression] ICE on invalid in-class specialization
The following invalid code snippet triggers an ICE since GCC 3.4.0: = struct A { template class B> struct B<0>; }; = bug.cc:3: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have bound_template_template_parm in finish_member_template_decl, at cp/pt.c:228 Please submit a full bug report, [etc.] Before, the code was wrongly accepted. (The fact that in-class specializations are allowed at all is tracked in PR 28300.) -- Summary: [4.0/4.1/4.2 regression] ICE on invalid in-class specialization Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28861
[Bug c++/28861] [4.0/4.1/4.2 regression] ICE on invalid in-class specialization
-- reichelt at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.0.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28861
[Bug c/28862] New: attribute ((aligned)) ignored on vector variables
The following test case __attribute__ ((vector_size (16))) unsigned int foo[128/16] __attribute__((aligned (128))); [ and analagously vector unsigned int foo[128/16] __attribute__((aligned (128))); on ppc (where "vector" is defined to __attribute__((altivec(vector__))) or spu (where "vector" is defined to __attribute__((spu_vector))) ] compiles to .comm foo,128,16 Note that the user-specified alignment is ignored, and the default alignment of 16 for this vector type is used instead. The reason appears to be a problem in decl_attributes (attribs.c). For this declaration, first the "aligned" attribute is processed, and sets DECL_ALIGN to 128 bytes, as well as the DECL_USER_ALIGN flag. However, subsequently the "vector_size" attribute is processed, and this this is marked as "type_required", the following piece of code in decl_attributes: /* Layout the decl in case anything changed. */ if (spec->type_required && DECL_P (*node) && (TREE_CODE (*node) == VAR_DECL || TREE_CODE (*node) == PARM_DECL || TREE_CODE (*node) == RESULT_DECL)) relayout_decl (*node); thinks it needs to recompute the decl properties. In particular, void relayout_decl (tree decl) { DECL_SIZE (decl) = DECL_SIZE_UNIT (decl) = 0; DECL_MODE (decl) = VOIDmode; DECL_ALIGN (decl) = 0; SET_DECL_RTL (decl, 0); layout_decl (decl, 0); } relayout_decl resets DECL_ALIGN without consideration of the DECL_USER_ALIGN flag, and layout_decl then fills back in the default alignment for the vector type. The problem does not occur in 3.4, since decl_attributes there works like this: /* Layout the decl in case anything changed. */ if (spec->type_required && DECL_P (*node) && (TREE_CODE (*node) == VAR_DECL || TREE_CODE (*node) == PARM_DECL || TREE_CODE (*node) == RESULT_DECL)) { /* Force a recalculation of mode and size. */ DECL_MODE (*node) = VOIDmode; DECL_SIZE (*node) = 0; if (!DECL_USER_ALIGN (*node)) DECL_ALIGN (*node) = 0; layout_decl (*node, 0); } and specifically keeps user-requested alignments. Now, I'm not quite sure what the correct fix for 4.0 and mainline is. Should be not call relayout_decl (as in 3.4)? Or should we add the DECL_USER_ALIGN check to relayout_decl (what about other callers of this function)? Richard, it appears you added both the DECL_USER_ALIGN check in 3.4, and the relayout_decl call in 4.0, see PR 18282. Any opinion? -- Summary: attribute ((aligned)) ignored on vector variables Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: uweigand at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862
[Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-08-26 22:29 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Component|c |middle-end Ever Confirmed|0 |1 Keywords||wrong-code Known to fail||4.0.0 4.1.0 4.2.0 Known to work||3.4.0 Last reconfirmed|-00-00 00:00:00 |2006-08-26 22:29:23 date|| Summary|attribute ((aligned)) |[4.0/4.1/4.2 Regression] |ignored on vector variables |attribute ((aligned)) ||ignored on vector variables Target Milestone|--- |4.0.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862
[Bug c++/26573] [4.0/4.1/4.2 regression] Duplicate message for static member in local class
--- Comment #2 from patchapp at dberlin dot org 2006-08-26 22:46 --- Subject: Bug number PR c++/26573 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00997.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26573
[Bug c++/28858] [4.0/4.1/4.2 regression] Algorithm to find the end of a template parameter list is flawed
--- Comment #1 from patchapp at dberlin dot org 2006-08-26 22:46 --- Subject: Bug number PR c++/28858 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-08/msg01013.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28858
[Bug c++/28860] [4.0/4.1/4.2 regression] Trouble with bound template template parameter in specialization
--- Comment #1 from patchapp at dberlin dot org 2006-08-26 22:46 --- Subject: Bug number PR c++/28860 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-08/msg01014.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28860
[Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
--- Comment #14 from pinskia at gcc dot gnu dot org 2006-08-26 23:04 --- And I found a fix for that so trying to work on the orginal testcase again. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26069
[Bug rtl-optimization/26069] [4.0/4.1/4.2 Regression] Runtime endian-ness check is no longer optimized out.
--- Comment #15 from pinskia at gcc dot gnu dot org 2006-08-26 23:20 --- (In reply to comment #14) > And I found a fix for that so trying to work on the orginal testcase again. Actually I am going to submit a patch for the problem in comment #11 and then I will fix the rest of the bug report. The memcpy issue should be filed seperately as it is harder to fix than the orginal issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26069
[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered
--- Comment #18 from drow at gcc dot gnu dot org 2006-08-26 23:25 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On Sat, Aug 26, 2006 at 08:42:50PM -, rguenth at gcc dot gnu dot org wrote: > So, making pointer arguments effectively using alias-set zero for alias and > call clobbering computation would fix this. True - but how much will this pessimize us? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778
[Bug debug/28834] [4.0/4.1/4.2 Regression] -O3 -g crashes sometimes when using may_alias and structs
--- Comment #6 from danglin at gcc dot gnu dot org 2006-08-26 23:39 --- Also fails on PA with -O3 -g. -- danglin at gcc dot gnu dot org changed: What|Removed |Added CC||danglin at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28834
[Bug c++/28863] New: ICE on template class with visibility specification
The following testcase: template class __attribute__((visibility("default"))) Foo { Foo bar(); }; template Foo Foo::bar() { } Produces: foo.cpp: In member function ‘Foo Foo::bar()’: foo.cpp:6: internal compiler error: Segmentation fault -- Summary: ICE on template class with visibility specification Product: gcc Version: 4.1.1 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bernie at develer dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28863
[Bug c++/28863] ICE on template class with visibility specification
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-08-27 02:07 --- This works for me with "4.2.0 20060823" and "4.1.2 20060814" on "i686-pc-linux-gnu". -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28863
[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered
--- Comment #19 from dberlin at gcc dot gnu dot org 2006-08-27 04:12 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered rguenth at gcc dot gnu dot org wrote: > --- Comment #17 from rguenth at gcc dot gnu dot org 2006-08-26 20:42 > --- > So, making pointer arguments effectively using alias-set zero for alias and > call clobbering computation would fix this. > Yes, if you change it so *everything passed to calls* is assumed to be aliasing every variable with it's address taken, you will get the right result in this case. So what do you think will happen when you add one level of indirection to the mess, and TBAA now prunes out *that* alias instead, so you miss it again? (IE break the chain of clobber transitivity one link in the other direcftion). IMHO, i'd rather just see this bug, which has been in our compiler for 3 releases now, fixed properly in the next one, than hacked around. It's relatively easy to fix this testcase in some hacky way, but i'm not sure why we'd want to, when we know it will only fix this testcase, and not the underlying problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778
[Bug libstdc++/28811] --with-pic vs static libraries and libstdc++
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-08-27 04:55 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-08-27 04:55:05 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28811
[Bug rtl-optimization/28812] RTL aliasing vs may_alias and structs
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-08-27 04:56 --- I have a patch to fix this but I am not going to submit it until after 4.2 branches and my copyright assignment gets fixed as I wrote the patch for work. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-08-27 04:56:08 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28812
[Bug c++/28774] Request for warning where const/volatile is ignored in a cast
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-08-27 05:03 --- (In reply to comment #2) > icc warns here; this PR aims to improve agreement in warnings between g++ and > icc. > HUH? Why do you want that? GCC warns in more places than ICC will ever warn. To me this is an useless warning and in fact goes against what is questionable even to a standards guy. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28774
[Bug tree-optimization/21827] unroll misses simple elimination - works with manual unroll
--- Comment #7 from martsummsw at hotmail dot com 2006-08-27 06:37 --- I am the reporter of this bug (with a new email-adress) This problem seems to be solved with 4.1.1 =) (Consider only #5 and forward - the first is wrong/irrelevant) -- martsummsw at hotmail dot com changed: What|Removed |Added CC||martsummsw at hotmail dot ||com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21827
[Bug c++/28774] Request for warning where const/volatile is ignored in a cast
--- Comment #4 from ian at airs dot com 2006-08-27 06:44 --- I disagree. It is always useful to optionally warn about meaningless code. It can be a way to find a real bug in the program. It is not conceptually different from existing warnings like -Wredundant-decls. The code works fine, but something is odd. The behaviour of icc is irrelevant here. If you want to close this again, please give a reason why we should not warn about meaningless code. -- ian at airs dot com changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28774