[Bug fortran/39427] F2003: Procedures with same name as types/type constructors
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added OtherBugsDependingO||20585 nThis|| Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39427
[Bug libfortran/33595] FAIL: gfortran.dg/nint_2.f90 -O0 execution test
--- Comment #17 from fxcoudert at gcc dot gnu dot org 2009-03-29 07:36 --- Fixed by John. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Component|fortran |libfortran Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33595
[Bug fortran/33845] Namespace memory cleanup needed
--- Comment #2 from fxcoudert at gcc dot gnu dot org 2009-03-29 07:38 --- And now it's gone... -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33845
[Bug fortran/34546] Incorrect array identified in out of bounds runtime error
--- Comment #5 from fxcoudert at gcc dot gnu dot org 2009-03-29 07:44 --- Wrong runtime error message is still there: $ cat a.f90 real :: u(1,1) = 1.0 real :: v(1, 1) = 2.0 write(*,*) u(1,:) * v(2,:) end $ gfortran a.f90 -fbounds-check -w ./a.out At line 3 of file a.f90 Fortran runtime error: Array reference out of bounds for array 'u', upper bound of dimension 1 exceeded (2 1) -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Keywords||diagnostic Known to fail|4.3.0 |4.3.0 4.4.0 4.5.0 Last reconfirmed|2007-12-21 10:10:48 |2009-03-29 07:44:10 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34546
[Bug fortran/38115] unneeded temp
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Keywords||missed-optimization http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38115
[Bug fortran/36761] Unallocated array referenced silently
--- Comment #2 from fxcoudert at gcc dot gnu dot org 2009-03-29 07:51 --- *** This bug has been marked as a duplicate of 20520 *** -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36761
[Bug fortran/20520] allocatable arrays used uninitialized without a warning
--- Comment #11 from fxcoudert at gcc dot gnu dot org 2009-03-29 07:51 --- *** Bug 36761 has been marked as a duplicate of this bug. *** -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added CC||terry at chem dot gu dot se http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20520
[Bug fortran/36158] Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36158
[Bug fortran/35423] Implement OpenMP workshare
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35423
[Bug fortran/35161] Add warning about procedures with same C binding label and different interface
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Keywords||diagnostic Summary|Bind(C): Procedures with|Add warning about procedures |different interface and same|with same C binding label |C binding label |and different interface http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35161
[Bug fortran/38386] Update BIND(C,name=) checking for Fortran 2008
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:03:11 date|| Summary|Update BIND(C,name= |Update BIND(C,name=) |checking for Fortran 2008 |checking for Fortran 2008 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38386
[Bug fortran/35003] spurious warning using -Wconversion, a do loop, and 8 byte integers
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |minor Keywords||diagnostic http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35003
[Bug objc/27377] [4.2/4.3/4.4 Regression] false compiler warnings generated in Objective-C code
--- Comment #8 from ayers at gcc dot gnu dot org 2009-03-29 08:09 --- Subject: Bug 27377 Author: ayers Date: Sun Mar 29 08:09:44 2009 New Revision: 145225 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145225 Log: gcc/ 2009-03-00 David Ayers ay...@fsfe.org PR objc/27377 * c-typeck.c (build_conditional_expr): Emit ObjC warnings by calling objc_compare_types and surpress warnings about incompatible C pointers that are compatible ObjC pointers. testsuite/ 2009-03-00 David Ayers ay...@fsfe.org PR objc/27377 * objc.dg/conditional-1.m: New tests. Added: trunk/gcc/testsuite/objc.dg/conditional-1.m Modified: trunk/gcc/ChangeLog trunk/gcc/c-typeck.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27377
[Bug fortran/35423] Implement OpenMP workshare
--- Comment #4 from fxcoudert at gcc dot gnu dot org 2009-03-29 08:11 --- Has the second patch been reviewed? Has Vasilis completed his copyright assignment? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35423
[Bug fortran/34505] FLOAT/SNGL: Not accepted as actual argument; diagnostics problems
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:18:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34505
[Bug fortran/34547] NULL(): Fortran 2003 changes, accepts invalid, ICE on invalid
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:19:05 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34547
[Bug fortran/34740] -fbounds-check with TRANSFER misses out of bounds in array assignment
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:22:06 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34740
[Bug fortran/34741] Bounds-check of array-pointer == [ constructor ]
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:22:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34741
[Bug fortran/35095] DATA with implied-do: Improve bounds checking
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:23:20 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35095
[Bug fortran/35267] VOLATILE constrain: Misleading error message Incompatible ranks
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:23:57 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35267
[Bug fortran/35918] Accepts invalid: INTERFACE symbol and REAL symbol
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:24:27 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35918
[Bug fortran/36383] -std=95: Reject public procedure with private derv. type argument
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||accepts-invalid Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:25:06 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36383
[Bug fortran/36947] Attributes not fully checked comparing actual vs dummy procedure
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:26:27 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36947
[Bug fortran/37039] Cray pointer with pointee DIMENSION statement after POINTER statement
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:26:51 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37039
[Bug fortran/38114] unneeded temp
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:27:46 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38114
[Bug fortran/38351] Poor error message for rank mismatch in operator args
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||diagnostic Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:29:35 date|| Summary|poor error message |Poor error message for rank ||mismatch in operator args http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38351
[Bug fortran/38444] Poor recovery from error
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||error-recovery Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:30:49 date|| Summary|poor error message |Poor recovery from error http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38444
[Bug fortran/38506] -std=f*: Reject scalar character to array dummy in several cases
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||accepts-invalid Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:31:42 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38506
[Bug fortran/38568] ICE with invalid bounds for I/O FMT= array
--- Comment #2 from fxcoudert at gcc dot gnu dot org 2009-03-29 08:35 --- The testcase segfaults for me on current trunk on x86_64-linux, this is what gdb says: a.f90:3.14: WRITE(*, FMT(1:9) ) ! Invalid 1:9 is regarded as array bounds not at substring 1 Warning: Upper array reference at (1) is out of bounds (9 1) in dimension 1 Program received signal SIGSEGV, Segmentation fault. 0x0049780d in gfc_conv_scalarized_array_ref (se=0x7fff47f3e780, ar=0xa8af678) at ../../trunk/gcc/fortran/trans-array.c:2409 warning: Source file is more recent than executable. 2409n = se-loop-order[0]; (gdb) bt #0 0x0049780d in gfc_conv_scalarized_array_ref (se=0x7fff47f3e780, ar=0xa8af678) at ../../trunk/gcc/fortran/trans-array.c:2409 #1 0x004990e5 in gfc_conv_array_ref (se=0x7fff47f3e780, ar=0xa8af678, sym=0xa8ac1d0, where=0x0) at ../../trunk/gcc/fortran/trans-array.c:2457 #2 0x004b2ba2 in gfc_conv_variable (se=0x7fff47f3e780, expr=0xa8af5a0) at ../../trunk/gcc/fortran/trans-expr.c:679 #3 0x004bfed5 in set_string (block=value optimized out, postblock=value optimized out, var=value optimized out, type=value optimized out, e=0xa8af5a0) at ../../trunk/gcc/fortran/trans-io.c:597 #4 0x004c1b46 in build_dt (function=value optimized out, code=value optimized out) at ../../trunk/gcc/fortran/trans-io.c:1748 -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to fail||4.4.0 4.5.0 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:35:13 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38568
[Bug fortran/37802] Improve wording for matmul bound checking
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:37:18 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37802
[Bug fortran/37937] Bind(C) diagnostic when using c_double for COMPLEX variables
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:39:10 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37937
[Bug middle-end/39575] New: after build_sese_loop_nests, loops still unordered
in build_sese_loop_nests, the loops in sese-loop_nest can be: loop3 loop2 loop1(test case: gcc.dg/graphite/block-3.c), after the algorithms(sort the loops) there, it will still unordered as loop2 loop1 loop3. I'm not sure if this is the bug. but if this bug is confirmed, I will take care of this. -- Summary: after build_sese_loop_nests, loops still unordered Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nemokingdom at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39575
[Bug fortran/37691] Duplicate error messages
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||diagnostic Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:41:02 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37691
[Bug fortran/38619] error message when converting between different derived types with same name
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:41:41 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38619
[Bug fortran/38718] some simplifiers for elemental intrinsics missing; required for init expressions
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:42:17 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38718
[Bug fortran/38894] c_f_procpointer/c_f_pointer - add missing argument checking
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:47:29 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894
[Bug fortran/39352] gfortran.dg/vect/pr39318.f90 doesn't work on ia64
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||EH Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:48:50 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39352
[Bug fortran/39288] Bind(C): C_LOC of character substrings (F2003 erratum, pending)
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:49:23 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39288
[Bug fortran/39288] Bind(C): C_LOC of character substrings (F2003 erratum, pending)
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |SUSPENDED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39288
[Bug fortran/39178] Generate main() rather than using a main in libgfortran/fmain.c
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:49:58 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39178
[Bug fortran/37173] Check whether intrinsic assignment between character kind=1 / 4 is allowed
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2009-03-29 08:52 --- I think you're right. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords|diagnostic |accepts-invalid Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:52:07 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37173
[Bug fortran/37297] Ambiguity check for F2003 GENERIC bindings is not yet fully conformant
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||accepts-invalid Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:54:02 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37297
[Bug fortran/37077] Implement Internal Unit I/O for character KIND=4
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37077
[Bug libfortran/33905] show_backtrace hangs on SIGSEGV in malloc/free
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2009-03-29 09:18 --- Toon, do you have an example that shows this happening? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33905
[Bug fortran/37446] Diagnostic of edit descriptors, esp. EN
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 09:21:07 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37446
[Bug fortran/39576] New: gcc/fortran/error.c's error_print - missing break ?
Sent to me in a private email - and not yet checked. -- In gcc/fortran/error.c this statement case 'u': arg[pos].type = TYPE_UINTEGER; looks like it's missing a 'break'. If a translator provided a format string translation that contained the substring %ulu, then an argument of type TYPE_ULONGINT would be fetched and stored in arg[pos].u.ulongintval, and later, spec[n++].u.uintval would be used. Which would lead to wrong results on 64-bit platforms. -- Summary: gcc/fortran/error.c's error_print - missing break ? Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39576
[Bug fortran/38247] problem with contained subprocedure.
--- Comment #10 from fxcoudert at gcc dot gnu dot org 2009-03-29 09:03 --- Closing for now, as it's been three months without news from the bug reporter. Please reopen the report and attached a testcase if it's still not fixed. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38247
[Bug fortran/37211] TRANSFER to characters: Size checking
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 09:21:19 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37211
[Bug fortran/39289] Reject VOLATILE in PURE
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 09:17:23 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39289
[Bug libfortran/37634] Fix libgfortran compiling to support GCC_NO_EXECUTABLES
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 09:16:52 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37634
[Bug fortran/37222] Checks when overriding type-bound procedures are incomplete
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||accepts-invalid, rejects- ||valid Last reconfirmed|-00-00 00:00:00 |2009-03-29 08:52:59 date|| Summary|Gfortran's check when |Checks when overriding type- |overriding type-bound |bound procedures are |procedures is incomplete|incomplete http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37222
[Bug fortran/37513] Misleading error for (invalid) protected_pointer = unprotected_pointer
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 09:17:34 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37513
[Bug fortran/34928] Extension: volatile common blocks
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Summary|volatile does not accept a |Extension: volatile common |common block name |blocks http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
[Bug fortran/39577] New: False positive with -fcheck=recursion
The following program is valid but with -fcheck=recursion the following error is shown: At line 1 of file aa.f90 Fortran runtime error: Recursive call to nonrecursive procedure 'test' There might be more such cases if one digs (entry? some strange label returns of F77? ...). But we might be lucky and everything is fixed at one place. Dump: goto __return_test; __return_test:; return __result_test; is_recursive.0 = 0; integer function test() test = 5 return ! not reachable end function test program main integer :: a a = test() a = test() end program main -- Summary: False positive with -fcheck=recursion Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39577
[Bug fortran/39577] False positive with -fcheck=recursion
--- Comment #1 from dominiq at lps dot ens dot fr 2009-03-29 11:21 --- Confirmed, the error seems to be due to the second call to test(): usual suspect = unitialized variable? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39577
[Bug tree-optimization/28850] missed call - jmp transformation; redundant unwind stuff with empty finally
--- Comment #4 from hubicka at gcc dot gnu dot org 2009-03-29 13:32 --- Subject: Bug 28850 Author: hubicka Date: Sun Mar 29 13:32:13 2009 New Revision: 145233 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145233 Log: PR middle-end/28850 * tree-pass.h (pass_cleanup_eh): New function. (remove_unreachable_regions): Break code handling RTL to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW that can not be reached by runtime. (can_be_reached_by_runtime): New function. (label_to_region_map): New function. (num_eh_regions): New function. (rtl_remove_unreachable_regions): New function. (convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions. (remove_eh_region): New function. * except.h: Include sbitmap and vecprim. (remove_eh_region, remove_unreachable_regions, label_to_region_map, num_eh_regions): Declare. * passes.c (init_optimization_passes): Schedule cleanup_eh. * Makefile.in (EXCEPT_H): New; replace all uses of except.h by it. * tree-eh.c (tree_remove_unreachable_handlers): New function. (tree_empty_eh_handler_p): New function. (cleanup_empty_eh): New function. (cleanup_eh): New function. (pass_cleanup_eh): New function. Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/except.c trunk/gcc/except.h trunk/gcc/passes.c trunk/gcc/tree-eh.c trunk/gcc/tree-pass.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28850
[Bug libfortran/33905] show_backtrace hangs on SIGSEGV in malloc/free
--- Comment #2 from toon at moene dot org 2009-03-29 13:36 --- I'll try to come up with a bug report this week (the original case is much to complicated to use as an example). However, it might take some time and it also might be system dependent to trigger this event. It's clear, however, from the way you implemented the traceback feature that it is possible to hit this snag - it's just that not many people will hit it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33905
[Bug other/32213] License for libiberty
--- Comment #2 from jsm28 at gcc dot gnu dot org 2009-03-29 14:35 --- In addition to the issues listed in that 2003 message, libiberty extracts documentation from (GPL, LGPL, etc.) source files to go in a GFDL manual and has no exception text to allow that documentation from GPL files to be distributed under the GFDL. Solving that issue (presuming the solution is a GPLv3 exception license text and the files move to GPLv3 / LGPLv3 + exception) would also facilitate such documentation extraction in GCC proper where it's felt useful (e.g. for internals API reference). -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-03-29 14:35:44 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32213
[Bug fortran/38568] ICE with invalid bounds for I/O FMT= array
--- Comment #3 from jvdelisle at gcc dot gnu dot org 2009-03-29 14:48 --- This should be an error rather than a warning? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38568
[Bug target/39578] New: Linkage broken for dllimport vtables
The linkage for the vtable for any class marked dllimport is generated as a standard external link rather than a dllimport __imp_ link. This results in linker diagnostics such as: Info: resolving vtable for TestObject by linking to __imp___ZTV10TestObject (auto-import) d:/jsupport/mingw/bin/../lib/gcc/mingw32/4.3.3-dw2/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line. This should work unless it involves constant data structures referencing symbols from auto-imported DLLs. The following simple testcase demonstrates this. - vttest.cpp - struct __attribute__((dllimport)) TestObject { virtual void VirtFunc(); }; int main() { TestObject obj; obj.VirtFunc(); return 0; } - vttestdll.cpp - struct __attribute__((dllexport)) TestObject { virtual void VirtFunc() {} }; g++ -shared -o vttest.dll -Wl,--out-implib,libvttest.dll.a vttestdll.cpp Creating library file: libvttest.a g++ -o vttest.exe vttest.cpp libvttest.dll.a Info: resolving vtable for TestObject by linking to __imp___ZTV10TestObject (auto-import) d:/jsupport/mingw/bin/../lib/gcc/mingw32/4.3.3-dw2/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line. This should work unless it involves constant data structures referencing symbols from auto-imported DLLs. -- Summary: Linkage broken for dllimport vtables Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: critical Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tdragon at tdragon dot net GCC build triplet: mingw32 GCC host triplet: mingw32 GCC target triplet: mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39578
[Bug target/36654] [4.2 Regression] Inlined con/de-structor breaks virtual inheritance dllimport classes
--- Comment #14 from tdragon at tdragon dot net 2009-03-29 15:30 --- I have just filed PR39578, the cause of which may be related to this PR or its fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36654
[Bug target/39545] Structures with flexible array member passed/returned incorrectly
--- Comment #6 from hjl at gcc dot gnu dot org 2009-03-29 15:45 --- Subject: Bug 39545 Author: hjl Date: Sun Mar 29 15:45:10 2009 New Revision: 145237 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145237 Log: gcc/ 2009-03-29 H.J. Lu hongjiu...@intel.com PR target/39545 * config/i386/i386.c (classify_argument): Ignore flexible array member in struct and warn ABI change. gcc/testsuite/ 2009-03-29 H.J. Lu hongjiu...@intel.com PR target/39545 * gcc.c-torture/compile/pr16566-2.c: Add -Wno-psabi for x86-64. * gcc.target/i386/pr39545-1.c: New. * gcc.target/i386/pr39545-2.c: Likewise. * gcc.target/x86_64/abi/test_passing_structs.c (flex1_struct): New. (flex2_struct): Likewise. (check_struct_passing7): Likewise. (check_struct_passing8): Likewise. (f1s): Likewise. (f2s): Likewise. (main): Call check_struct_passing7 and check_struct_passing8. Added: trunk/gcc/testsuite/gcc.target/i386/pr39545-1.c trunk/gcc/testsuite/gcc.target/i386/pr39545-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.c-torture/compile/pr16566-2.c trunk/gcc/testsuite/gcc.target/x86_64/abi/test_passing_structs.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39545
[Bug target/39545] Structures with flexible array member passed/returned incorrectly
--- Comment #7 from hjl at gcc dot gnu dot org 2009-03-29 15:55 --- Subject: Bug 39545 Author: hjl Date: Sun Mar 29 15:54:55 2009 New Revision: 145239 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145239 Log: gcc/ 2009-03-29 H.J. Lu hongjiu...@intel.com Backport from mainline: 2009-03-29 H.J. Lu hongjiu...@intel.com PR target/39545 * config/i386/i386.c (classify_argument): Ignore flexible array member in struct and warn ABI change. gcc/testsuite/ 2009-03-29 H.J. Lu hongjiu...@intel.com Backport from mainline: 2009-03-29 H.J. Lu hongjiu...@intel.com PR target/39545 * gcc.c-torture/compile/pr16566-2.c: Add -Wno-psabi for x86-64. * gcc.target/i386/pr39545-1.c: New. * gcc.target/i386/pr39545-2.c: Likewise. * gcc.target/x86_64/abi/test_passing_structs.c (flex1_struct): New. (flex2_struct): Likewise. (check_struct_passing7): Likewise. (check_struct_passing8): Likewise. (f1s): Likewise. (f2s): Likewise. (main): Call check_struct_passing7 and check_struct_passing8. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/pr39545-1.c - copied unchanged from r145238, trunk/gcc/testsuite/gcc.target/i386/pr39545-1.c branches/gcc-4_4-branch/gcc/testsuite/gcc.target/i386/pr39545-2.c - copied unchanged from r145238, trunk/gcc/testsuite/gcc.target/i386/pr39545-2.c Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/i386/i386.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr16566-2.c branches/gcc-4_4-branch/gcc/testsuite/gcc.target/x86_64/abi/test_passing_structs.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39545
[Bug target/39545] Structures with flexible array member passed/returned incorrectly
--- Comment #8 from hjl dot tools at gmail dot com 2009-03-29 15:55 --- Fixed. -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39545
[Bug middle-end/39579] New: [4.5 regression] Many regressions on trunk
As of revision 145224, on Linux/ia64, I saw FAIL: gcc.dg/vect/vect-35.c scan-tree-dump-times vect vectorized 2 loops 1 FAIL: gfortran.dg/vect/fast-math-pr38968.f90 scan-tree-dump vect vectorized 1 loops FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) -- Summary: [4.5 regression] Many regressions on trunk Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com GCC target triplet: ia64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39579
[Bug fortran/36161] gfc_error formats are not marked gcc-internal-format in po file
--- Comment #6 from goeran at uddeborg dot se 2009-03-29 16:53 --- It didn't take long for this to be added to xgettext. It's already in the development version (see https://savannah.gnu.org/bugs/?26040#comment1 for details). So then maybe I can reopen this, to have the new functionality used on the GCC side? -- goeran at uddeborg dot se changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36161
[Bug fortran/36161] gfc_error formats are not marked gcc-internal-format in po file
--- Comment #7 from bruno at clisp dot org 2009-03-29 16:55 --- (In reply to comment #4) The Fortran front-end diagnostic strings have a specific format, that is an extension of the C printf format. It is not the same as the gcc-internal-format. Thus, if you want it to be supported, it first needs to be recognized by the tools (xgettext), Support for this type of format has now been added to xgettext. The support will be contained in gettext 0.18. then we'll modify the front-end headers to mark it appropriately. The xgettext options that need to be passed to xgettext --language=GCC-source are: --keyword=gfc_error:1:gfc-internal-format \ --keyword=gfc_error_now:1:gfc-internal-format \ --keyword=gfc_fatal_error:1:gfc-internal-format \ --keyword=gfc_internal_error:1:gfc-internal-format \ --keyword=gfc_notify_std:2:gfc-internal-format \ --keyword=gfc_warning:1:gfc-internal-format \ --keyword=gfc_warning_now:1:gfc-internal-format If you want to generate these options automatically, you'll need to modify the 'po/exgettext' script. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36161
[Bug fortran/36161] gfc_error formats are not marked gcc-internal-format in po file
--- Comment #8 from joseph at codesourcery dot com 2009-03-29 16:59 --- Subject: Re: gfc_error formats are not marked gcc-internal-format in po file On Sun, 29 Mar 2009, bruno at clisp dot org wrote: The xgettext options that need to be passed to xgettext --language=GCC-source are: --keyword=gfc_error:1:gfc-internal-format \ --keyword=gfc_error_now:1:gfc-internal-format \ --keyword=gfc_fatal_error:1:gfc-internal-format \ --keyword=gfc_internal_error:1:gfc-internal-format \ --keyword=gfc_notify_std:2:gfc-internal-format \ --keyword=gfc_warning:1:gfc-internal-format \ --keyword=gfc_warning_now:1:gfc-internal-format If you want to generate these options automatically, you'll need to modify the 'po/exgettext' script. For example, you might arrange for the script to do this for functions with a parameter named fmsgid (see the discussion in ABOUT-GCC-NLS of the conventions used). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36161
[Bug middle-end/39579] [4.5 regression] Many regressions on trunk
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-03-29 17:03 --- Please be more specific in your summaries, even if you end up filing a separate bug per failing testcase (which would be appropriate anyway). -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39579
[Bug fortran/38507] Bogus Warning: Deleted feature: GOTO jumps to END of construct
--- Comment #8 from tobi at gcc dot gnu dot org 2009-03-29 17:16 --- Subject: Bug 38507 Author: tobi Date: Sun Mar 29 17:15:48 2009 New Revision: 145245 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145245 Log: fortran/ PR fortran/38507 * gfortran.h (gfc_st_label): Fix comment. (gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block. * parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and END SELECT with labels. (check_do_closure): Fix formatting. (parse_do_block): Fix typo in error message. * resolve.c (code_stack): Remove tail member. Update comment to new use of reachable_labels. (reachable_labels): Rename to ... (find_reachable_labels): ... this. Overhaul. Update preceding comment. (resolve_branch): Fix comment preceding function. Rewrite. (resolve_code): Update call to find_reachable_labels. Add code to deal with EXEC_END_BLOCK. * st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK. * trans.c (gfc_trans_code): Likewise. testsuite/ * do_4.f: New. * goto_2.f90: Correct expected warnings. * goto_4.f90: Likewise. * goto_5.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/do_4.f trunk/gcc/testsuite/gfortran.dg/goto_5.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/parse.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/st.c trunk/gcc/fortran/trans.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/goto_2.f90 trunk/gcc/testsuite/gfortran.dg/goto_4.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38507
[Bug fortran/38568] ICE with invalid bounds for I/O FMT= array
--- Comment #4 from burnus at gcc dot gnu dot org 2009-03-29 17:46 --- This should be an error rather than a warning? Good question. I could imagine some legacy code which does: character(len=5) :: str(5) print *, str(1)(1:10) or something similar in spirit. (I cannot come up with a good example, though.) If something like that could occur in legacy code, a warning might be better. If not, an error is appropriate and the ICE easier to fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38568
[Bug target/39578] Linkage broken for dllimport vtables
--- Comment #1 from dave dot korn dot cygwin at gmail dot com 2009-03-29 17:47 --- For Cygwin, we just recently made --enable-auto-import the default in CVS binutils. Now that we're moving to shared library runtimes throughout it made sense. However, I think this is a real bug, as it doesn't happen on 4.3.2; we get a direct undefined reference to the import symbol in the object file: $ g++ -g -o vttest.exe vttest.cpp libvttest.dll.a --save-temps ad...@ubik /tmp/vttest $ nm vttest.o b .bss d .data N .debug_abbrev N .debug_aranges N .debug_frame N .debug_info N .debug_line N .debug_loc N .debug_pubnames N .debug_ranges N .debug_str d .eh_frame t .text t .text$_ZN10TestObjectC1Ev T __ZN10TestObjectC1Ev U ___gxx_personality_v0 U ___main U __imp___ZN10TestObject8VirtFuncEv U __imp___ZTV10TestObject T _main ad...@ubik /tmp/vttest $ My earlier build of 4.3.3 with the patch for PR36654 reverted does the same thing. However, as soon as I reapplied the patch and rebuilt cc1plus, I got this output: /tmp/vttest $ nm vttest.olibvtt b .bss d .data N .debug_abbrev N .debug_aranges N .debug_frame N .debug_info N .debug_line N .debug_loc N .debug_pubnames N .debug_ranges N .debug_str d .eh_frame t .text t .text$_ZN10TestObjectC1Ev T __ZN10TestObjectC1Ev U __ZTV10TestObject U ___gxx_personality_v0 U ___main U __imp___ZN10TestObject8VirtFuncEv T _main /tmp/vttest $ So I think that confirms it. -- dave dot korn dot cygwin at gmail dot com changed: What|Removed |Added CC||dave dot korn dot cygwin at ||gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39578
[Bug fortran/37423] Fortran 2003: DEFERRED bindings not yet implemented
--- Comment #2 from domob at gcc dot gnu dot org 2009-03-29 17:47 --- Subject: Bug 37423 Author: domob Date: Sun Mar 29 17:47:00 2009 New Revision: 145248 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145248 Log: 2009-03-29 Daniel Kraft d...@domob.eu PR fortran/37423 * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and added a comment explaining DEFERRED binding handling. * decl.c (match_binding_attributes): Really match DEFERRED attribute. (match_procedure_in_type): Really match PROCEDURE(interface) syntax and do some validity checks for DEFERRED and this construct. * module.c (binding_overriding): New string constant for DEFERRED. (mio_typebound_proc): Module-IO DEFERRED flag. * resolve.c (check_typebound_override): Ensure that a non-DEFERRED binding is not overridden by a DEFERRED one. (resolve_typebound_procedure): Allow abstract interfaces as targets for DEFERRED bindings. (ensure_not_abstract_walker), (ensure_not_abstract): New methods. (resolve_fl_derived): Use new `ensure_not_abstract' method for non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED binding is overridden. (check_typebound_baseobject): New method. (resolve_compcall), (resolve_typebound_call): Check base-object of the type-bound procedure call. * gfc-internals.texi (Type-bound procedures): Document a little bit about internal handling of DEFERRED bindings. 2009-03-29 Daniel Kraft d...@domob.eu PR fortran/37423 * gfortran.dg/typebound_proc_4.f03: Remove not-implemented check for DEFERRED bindings. * gfortran.dg/typebound_proc_9.f03: New test. * gfortran.dg/typebound_proc_10.f03: New test. * gfortran.dg/typebound_proc_11.f03: New test. * gfortran.dg/abstract_type_5.f03: New test. Added: trunk/gcc/testsuite/gfortran.dg/abstract_type_5.f03 trunk/gcc/testsuite/gfortran.dg/typebound_proc_10.f03 trunk/gcc/testsuite/gfortran.dg/typebound_proc_11.f03 trunk/gcc/testsuite/gfortran.dg/typebound_proc_9.f03 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c trunk/gcc/fortran/gfc-internals.texi trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/module.c trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/typebound_proc_4.f03 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37423
[Bug target/39501] -O -ffinite-math-only gets min(x,y) optimization wrong for SF on arm-*-gnueabi
--- Comment #8 from martinwguy at yahoo dot it 2009-03-29 17:49 --- A bit more info on the real-world cases that this bug bites. 1) libvorbis's testsuite (only in trunk) fails: svn co http://svn.xiph.org/trunk/vorbis cd vorbis; ./autogen.sh; ./configure; make test/test complains that max_abs (0.00) too small.; it should say ok It can be fixed by using ./configure CFLAGS=-fno-finite-math-only (Both of these utilities' build scripts append your CFLAGS settings to their own default ones.) 2) LAME -V0 outputs silence wget http://downloads.sourceforge.net/lame/lame-398-2.tar.gz tar xzf lame-398-2.tar.gz cd lame-398-2 ./configure make wget http://martinwguy.co.uk/martin/test/Happy.wav frontend/lame --nohist -V0 Happy.wav Happy.mp3 mpg123 -w Happy2.wav Happy.mp3 # Or frontend/lame --quiet --decode Happy.mp3 Happy2.wav sox Happy2.wav -e stat | grep 'Maximum amplitude' should say something like maxamp = 0.574310, not 0.00 It can be fixed by using ./configure CFLAGS=-fno-finite-math-only and also with ./configure CFLAGS=-fno-schedule-insns -fno-schedule-insns2 though this does not fix the libvorbis issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39501
[Bug fortran/38568] ICE with invalid bounds for I/O FMT= array
--- Comment #5 from jvdelisle at gcc dot gnu dot org 2009-03-29 18:13 --- With -Werror, the segfault goes away. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38568
[Bug c/35198] [4.2/4.3/4.4/4.5 Regression] missed evaluation of VM array type when used as a cast
--- Comment #11 from jsm28 at gcc dot gnu dot org 2009-03-29 18:14 --- Subject: Bug 35198 Author: jsm28 Date: Sun Mar 29 18:13:43 2009 New Revision: 145254 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254 Log: PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands.
[Bug c/5675] const variables wrongly considered part of constant expressions (gcc.dg/c9[09]-const-expr-3.c)
--- Comment #14 from jsm28 at gcc dot gnu dot org 2009-03-29 18:14 --- Subject: Bug 5675 Author: jsm28 Date: Sun Mar 29 18:13:43 2009 New Revision: 145254 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254 Log: PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands.
[Bug c/29116] Failure to diagnose violation of constraint 6.7.5.2p2
--- Comment #5 from jsm28 at gcc dot gnu dot org 2009-03-29 18:14 --- Subject: Bug 29116 Author: jsm28 Date: Sun Mar 29 18:13:43 2009 New Revision: 145254 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254 Log: PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands.
[Bug c/19976] integer division by zero in subexpression should be overflow
--- Comment #13 from jsm28 at gcc dot gnu dot org 2009-03-29 18:14 --- Subject: Bug 19976 Author: jsm28 Date: Sun Mar 29 18:13:43 2009 New Revision: 145254 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254 Log: PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands.
[Bug c/456] constant expressions constraints (gcc.dg/c90-const-expr-1)
--- Comment #16 from jsm28 at gcc dot gnu dot org 2009-03-29 18:14 --- Subject: Bug 456 Author: jsm28 Date: Sun Mar 29 18:13:43 2009 New Revision: 145254 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254 Log: PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands.
[Bug c/31871] C99 failure to diagnose non-integer cast
--- Comment #5 from jsm28 at gcc dot gnu dot org 2009-03-29 18:14 --- Subject: Bug 31871 Author: jsm28 Date: Sun Mar 29 18:13:43 2009 New Revision: 145254 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145254 Log: PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands.
[Bug c/456] constant expressions constraints (gcc.dg/c90-const-expr-1)
--- Comment #17 from jsm28 at gcc dot gnu dot org 2009-03-29 18:16 --- Fixed for 4.5. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=456
[Bug c/5675] const variables wrongly considered part of constant expressions (gcc.dg/c9[09]-const-expr-3.c)
--- Comment #15 from jsm28 at gcc dot gnu dot org 2009-03-29 18:18 --- Fixed for 4.5. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5675
[Bug c/19976] integer division by zero in subexpression should be overflow
--- Comment #14 from jsm28 at gcc dot gnu dot org 2009-03-29 18:19 --- Fixed for 4.5. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19976
[Bug c/29116] Failure to diagnose violation of constraint 6.7.5.2p2
--- Comment #6 from jsm28 at gcc dot gnu dot org 2009-03-29 18:20 --- Fixed for 4.5. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29116
[Bug c/31871] C99 failure to diagnose non-integer cast
--- Comment #6 from jsm28 at gcc dot gnu dot org 2009-03-29 18:22 --- Fixed for 4.5. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31871
[Bug c/35198] [4.2/4.3/4.4/4.5 Regression] missed evaluation of VM array type when used as a cast
--- Comment #12 from jsm28 at gcc dot gnu dot org 2009-03-29 18:23 --- Fixed for 4.5. Fix not suitable for backporting. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work|2.95.4 |2.95.4 4.5.0 Resolution||FIXED Target Milestone|4.2.5 |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35198
[Bug middle-end/37448] [4.3 4.5 Regression] gcc 4.3.1 cannot compile big function
--- Comment #28 from hubicka at gcc dot gnu dot org 2009-03-29 18:26 --- The testcase is now failing on mainline. Reason seems to be new pure-const pass causing PRE to take unacceptable amount of time producing extraordinarily large bitmaps. I stoppped it after while and out of 1GB of memory use, 700MB was PRE bitmap. Honza -- hubicka at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.3 Regression] gcc 4.3.1 |[4.3 4.5 Regression] gcc |cannot compile big function |4.3.1 cannot compile big ||function http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448
[Bug middle-end/39580] New: [4.5 regression] Revision 145204 caused libgomp.c++/collapse-2.C
Revision 145204: http://gcc.gnu.org/ml/gcc-cvs/2009-03/msg00711.html caused: FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: libgomp.c++/collapse-2.C -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) on Linux/ia64. -- Summary: [4.5 regression] Revision 145204 caused libgomp.c++/collapse-2.C Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com GCC target triplet: ia64-unknown-linux-gnu OtherBugsDependingO 39579 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39580
[Bug middle-end/37448] [4.3 4.5 Regression] gcc 4.3.1 cannot compile big function
--- Comment #29 from hubicka at gcc dot gnu dot org 2009-03-29 18:31 --- tree-ssa-pre.c:4201 (init_pre)68 544319360 2960 2920 35303438 tree-ssa-pre.c:590 (bitmap_set_new) 187851 167503080 38440200 12734360 183944666 tree-ssa-pre.c:591 (bitmap_set_new) 187851 96183960 26228960 14024680 223113273 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448
[Bug middle-end/39580] [4.5 regression] Revision 145204 caused libgomp.c++/collapse-2.C
--- Comment #1 from hjl dot tools at gmail dot com 2009-03-29 18:38 --- I got Executing on host: /export/gnu/import/rrs/145204/bld/gcc/xgcc -B/export/gnu/import/rrs/145204/bld/gcc/ /export/gnu/import/rrs/145204/src/libgomp/testsuite/libgomp.c++/collapse-2.C -B/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/./libgomp/ -I/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/./libgomp -I/export/gnu/import/rrs/145204/src/libgomp/testsuite/.. -fmessage-length=0 -fopenmp -O3 -fomit-frame-pointer -funroll-loops -nostdinc++ -I/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/libstdc++-v3/include/ia64-unknown-linux-gnu -I/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/libstdc++-v3/include -I/export/gnu/import/rrs/145204/src/libstdc++-v3/libsupc++ -I/export/gnu/import/rrs/145204/src/libstdc++-v3/include/backward -I/export/gnu/import/rrs/145204/src/libstdc++-v3/testsuite/util -B/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/./libgomp/../libstdc++-v3/src/.libs -L/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/./libgomp/.libs -lgomp -L/export/gnu/import/rrs/145204/bld/ia64-unknown-linux-gnu/./libgomp/../libstdc++-v3/src/.libs -lstdc++ -lm -o ./collapse-2.exe(timeout = 300) /export/gnu/import/rrs/145204/src/libgomp/testsuite/libgomp.c++/collapse-2.C: In function 'void _Z2f9I1IIiEiEv1JIT0_ES4_S4_.omp_fn.6(void*)':^M /export/gnu/import/rrs/145204/src/libgomp/testsuite/libgomp.c++/collapse-2.C:317: internal compiler error: in insert_in_history_vect, at sel-sched-ir.c:1514^M Please submit a full bug report,^M with preprocessed source if appropriate.^M See http://gcc.gnu.org/bugs.html for instructions.^M compiler exited with status 1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39580
[Bug middle-end/12392] very long optimized compile
--- Comment #26 from hubicka at gcc dot gnu dot org 2009-03-29 18:48 --- We seem to have regression at mainline today perhaps because of pure-const at -O2: cfg.c:142 (alloc_block)15403008: 2.3% 0: 0.0% 0: 0.0% 0: 0.0% 160448 tree-inline.c:4265 (copy_decl_no_change) 15203936: 2.2% 0: 0.0% 964656: 3.3% 690224: 0.7% 99321 tree-ssanames.c:141 (make_ssa_name_fn) 17623560: 2.6% 0: 0.0%1129680: 3.9%1250216: 1.3% 156277 emit-rtl.c:2665 (copy_rtx_if_shared_1) 20117600: 3.0% 0: 0.0% 0: 0.0%4023520: 4.1% 502940 lists.c:143 (alloc_EXPR_LIST) 23694160: 3.5% 0: 0.0% 0: 0.0%4738832: 4.9% 592354 emit-rtl.c:641 (gen_rtx_MEM) 24466560: 3.6% 0: 0.0% 174080: 0.6%4928128: 5.1% 616016 rtl.c:269 (copy_rtx) 29621128: 4.4% 0: 0.0% 0: 0.0%5896184: 6.1% 743632 tree-inline.c:3766 (copy_tree_r) 30563536: 4.5% 0: 0.0% 0: 0.0%2974912: 3.1% 393331 emit-rtl.c:3513 (make_insn_raw)58450216: 8.6% 0: 0.0% 88: 0.0%5313664: 5.5% 664208 cselib.c:1232 (cselib_subst_to_values)103375952:15.3% 0: 0.0% 0: 0.0% 20656064:21.3%2586614 Total 677205851124344604 29046802 96985481 13652049 source location GarbageFreed Leak OverheadTimes and at -O1 tree-phinodes.c:157 (allocate_phi_node)10091496: 2.5% 0: 0.0% 0: 0.0% 191592: 0.4% 27549 gimple-iterator.c:446 (gsi_insert_after_without_ 12590760: 3.1% 0: 0.0% 0: 0.0%2518152: 5.2% 314769 lists.c:143 (alloc_EXPR_LIST) 13522200: 3.3% 0: 0.0% 0: 0.0%2704440: 5.6% 338055 emit-rtl.c:3513 (make_insn_raw)13602336: 3.3% 0: 0.0% 0: 0.0%1236576: 2.5% 154572 gimple.c:2071 (gimple_copy)14430192: 3.6% 0: 0.0% 0: 0.0% 600976: 1.2% 127728 cfg.c:142 (alloc_block)14840448: 3.7% 0: 0.0% 0: 0.0% 0: 0.0% 154588 tree-inline.c:4265 (copy_decl_no_change) 15919880: 3.9% 0: 0.0% 0: 0.0% 678088: 1.4% 97852 tree-ssanames.c:141 (make_ssa_name_fn) 17289000: 4.3% 0: 0.0%240: 0.0%1152616: 2.4% 144077 tree-inline.c:3766 (copy_tree_r) 30226976: 7.4% 0: 0.0% 0: 0.0%2942688: 6.1% 389203 this is tree after ehcleanup merge. Perhaps memory problems was solved with it, we still have compile time issues with PRE though. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12392
[Bug tree-optimization/39355] [4.4/4.5 Regression] Revision 144529: ICE due to missing or incorrectly relocated DECL_VALUE_EXPR in PCH header for PARM_DECL
--- Comment #50 from danglin at gcc dot gnu dot org 2009-03-29 18:49 --- During the PCH generation, there's only one node for which decl_value_expr_insert is called (a different PARM_DECL). So, I have to think the flag shouldn't be set. However, finding the PARM_DECL during PCH generation is a bit of a trick and I haven't been able to find it so far. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39355
[Bug middle-end/39579] [4.5 regression] Many regressions on trunk
--- Comment #2 from hjl dot tools at gmail dot com 2009-03-29 18:54 --- Revision 145172 changed gcc.dg/vect/vect-35.c: http://gcc.gnu.org/ml/gcc-cvs/2009-03/msg00679.html It may have caused: FAIL: gcc.dg/vect/vect-35.c scan-tree-dump-times vect vectorized 2 loops 1 on Linux/ia64. -- hjl dot tools at gmail dot com changed: What|Removed |Added BugsThisDependsOn|39580 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39579
[Bug libfortran/37754] [4.4/4.5 Regression] READ I/O Performance regression from 4.3 to 4.4/4.5
--- Comment #13 from jvdelisle at gcc dot gnu dot org 2009-03-29 18:55 --- Subject: Bug 37754 Author: jvdelisle Date: Sun Mar 29 18:55:05 2009 New Revision: 145258 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145258 Log: 2009-03-29 Jerry DeLisle jvdeli...@gcc.gnu.org PR libfortran/37754 * io/io.h (format_hash_entry): New structure for hash table. (format_hash_table): The hash table itself. (free_format_data): Revise function prototype. (free_format_hash_table, init_format_hash, free_format_hash): New function prototypes. * io/unit.c (close_unit_1): Use free_format_hash_table. * io/transfer.c (st_read_done, st_write_done): Free format data if internal unit. * io/format.c (free_format_hash_table): New function that frees any memory allocated previously for cached format data. (reset_node): New static helper function to reset the format counters for a format node. (reset_fnode_counters): New static function recursively calls reset_node to traverse the fnode tree. (format_hash): New simple hash function based on XOR, probabalistic, tosses collisions. (save_parsed_format): New static function to save the parsed format data to use again. (find_parsed_format): New static function searches the hash table looking for a match. (free_format_data): Revised to accept pointer to format data rather than the dtp pointer so that the function can be used in more places. (format_lex): Editorial. (parse_format_list): Set flag used to determine of format data hashing is to be used. Internal units are not persistent enough for this. (revert): Move to ne location in file. (parse_format): Use new functions to look for previously parsed format strings and use them rather than re-parse. If not found, saves the parsed format data for later use. 2009-03-29 Jerry DeLisle jvdeli...@gcc.gnu.org PR libfortran/37754 * io/transfer.c (formatted_transfer_scalar): Remove this function by factoring it into two new functions, one for read and one for right, eliminating all the conditionals for read or write mode. (formatted transfer_scalar_read): New function. (formatted transfer_scalar_write): New function. (formatted_transfer): Use new functions. Modified: branches/fortran-dev/libgfortran/ChangeLog.dev branches/fortran-dev/libgfortran/io/format.c branches/fortran-dev/libgfortran/io/io.h branches/fortran-dev/libgfortran/io/transfer.c branches/fortran-dev/libgfortran/io/unit.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37754
[Bug fortran/39577] False positive with -fcheck=recursion
--- Comment #2 from burnus at gcc dot gnu dot org 2009-03-29 19:20 --- the error seems to be due to the second call to test(): usual suspect = unitialized variable? No - the problem is a missing is_recursive = 0 (see dump in comment 0). The problem is that the variable needs to be set in trans-stmt.c's gfc_trans_return while the variable is created in gfc_generate_function_code. The question is now, how to make the TREE available to gfc_trans_return. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39577
[Bug middle-end/39579] [4.5 regression] Many regressions on trunk
--- Comment #3 from hjl dot tools at gmail dot com 2009-03-29 18:58 --- Revision 145171: http://gcc.gnu.org/ml/gcc-cvs/2009-03/msg00678.html added gfortran.dg/vect/fast-math-pr38968.f90. It failed on Linux/ia64. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39579
[Bug target/38781] PR38151: valgrind finds problem
--- Comment #5 from hjl dot tools at gmail dot com 2009-03-29 19:33 --- The updated patch is at http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01581.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||ubizjak at gmail dot com URL|http://gcc.gnu.org/ml/gcc- |http://gcc.gnu.org/ml/gcc- |patches/2009- |patches/2009- |01/msg00747.html|03/msg01581.html http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38781
[Bug fortran/38507] Bogus Warning: Deleted feature: GOTO jumps to END of construct
--- Comment #9 from tobi at gcc dot gnu dot org 2009-03-29 19:38 --- Fixed on trunk. -- tobi at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38507
[Bug libfortran/38654] Fortran I/O speedup
--- Comment #6 from domob at gcc dot gnu dot org 2009-03-29 19:50 --- Subject: Bug 38654 Author: domob Date: Sun Mar 29 19:50:15 2009 New Revision: 145259 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145259 Log: 2009-03-29 Daniel Kraft d...@domob.eu PR fortran/38654 * io/read.c (read_f): Reworked to speed up floating point parsing. (convert_real): Use pointer-casting instead of memcpy and temporaries. 2009-03-29 Daniel Kraft d...@domob.eu PR fortran/38654 * gfortran.dg/read_float_2.f03 * gfortran.dg/read_float_3.f90 Added: branches/fortran-dev/gcc/testsuite/ChangeLog.dev branches/fortran-dev/gcc/testsuite/gfortran.dg/read_float_2.f03 branches/fortran-dev/gcc/testsuite/gfortran.dg/read_float_3.f90 Modified: branches/fortran-dev/libgfortran/ChangeLog.dev branches/fortran-dev/libgfortran/io/read.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38654