Paul Thomas [Sat, 7 Mar 2009 15:58:49 +0000 (15:58 +0000)]
re PR fortran/39295 (Too strict interface conformance check)
2009-03-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39295
* interface.c (compare_type_rank_if): Return 1 if the symbols
are the same and deal with external procedures where one is
identified to be a function or subroutine by usage but the
other is not.
2009-03-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39295
* gfortran.dg/interface_25.f90: New test.
* gfortran.dg/interface_26.f90: New test.
Jason Merrill [Wed, 4 Mar 2009 19:37:43 +0000 (14:37 -0500)]
re PR c++/9634 ([DR224] Injected class name as qualifier should not make the name dependent)
PR c++/9634
PR c++/29469
PR c++/29607
Implement DR 224.
* decl.c (make_typename_type): Do look inside currently open classes.
* parser.c (cp_parser_lookup_name): Likewise.
(cp_parser_template_name): Likewise.
* pt.c (dependent_scope_p): New function.
* cp-tree.h: Declare it.
* class.c (currently_open_class): Return fast if T isn't a class.
Co-Authored-By: Giovanni Bajo <giovannibajo@gcc.gnu.org>
From-SVN: r144621
Martin Jambor [Sat, 28 Feb 2009 18:33:27 +0000 (19:33 +0100)]
backport: re PR middle-end/37861 (Bogus array bounds warning)
2009-02-28 Martin Jambor <mjambor@suse.cz>
Backport from mainline:
2008-12-02 Martin Jambor <mjambor@suse.cz>
PR middle-end/37861
* tree-ssa-forwprop.c
(forward_propagate_addr_into_variable_array_index): Check that the
offset is not computed from a MULT_EXPR if element size is one.
Uros Bizjak [Thu, 26 Feb 2009 07:06:48 +0000 (08:06 +0100)]
backport: re PR inline-asm/39058 (ICE with double in inline-asm)
Backport from mainline:
2009-02-02 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/39058
* recog.h (asm_operand_ok): Add constraints argument.
* recog.c (asm_operand_ok): Likewise. If it is set, for digits
recurse on matching constraint.
(check_asm_operands): Pass constraints as 3rd argument to
asm_operand_ok. Don't look up matching constraint here.
* stmt.c (expand_asm_operands): Pass NULL as 3rd argument
to asm_operand_ok.
testsuite/ChangeLog:
Backport from mainline:
2009-02-02 Jakub Jelinek <jakub@redhat.com>
PR inline-asm/39058
* gcc.target/i386/pr39058.c: New test.
Janis Johnson [Wed, 25 Feb 2009 22:08:55 +0000 (22:08 +0000)]
backport: re PR middle-end/36578 (cast to long double not taken into account when result stored to a double)
2009-02-25 Janis Johnson <janis187@us.ibm.com>
gcc/
Backport from mainline:
2008-10-29 Joseph Myers <joseph@codesourcery.com>
PR middle-end/36578
* convert.c (convert_to_real): Do not optimize conversions of
binary arithmetic operations between binary and decimal
floating-point types. Consider mode of target type in determining
decimal type for arithmetic. Unless
flag_unsafe_math_optimizations, do not optimize binary conversions
where this may change rounding behavior.
* real.c (real_can_shorten_arithmetic): New.
* real.h (real_can_shorten_arithmetic): Declare.
gcc/testsuite/
Backport from mainline:
2008-10-29 Joseph Myers <joseph@codesourcery.com>
PR middle-end/36578
* gcc.dg/dfp/convert-bfp-13.c, gcc.dg/dfp/convert-bfp-14.c,
gcc.dg/dfp/convert-dfp-fold-2.c, gcc.target/i386/pr36578-1.c,
gcc.target/i386/pr36578-2.c: New tests.
Uros Bizjak [Sat, 21 Feb 2009 11:08:24 +0000 (12:08 +0100)]
backport: calls.c (emit_library_call_value_1): Use slot_offset instead of offset when calculating bounds for indexing...
Backport from mainline:
2009-02-20 Jaka Mocnik <jaka@xlab.si>
* calls.c (emit_library_call_value_1): Use slot_offset instead of
offset when calculating bounds for indexing stack_usage_map. Fixes
a buffer overflow with certain target setups.
Uros Bizjak [Thu, 19 Feb 2009 12:44:40 +0000 (13:44 +0100)]
re PR target/39228 (387 optimised __builtin_isinf() gives incorrect result)
PR target/39228
* config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
(UNSPEC_FXAM_MEM): New unspec.
(fxam<mode>2_i387_with_temp): New insn and split pattern.
(isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
memory using fxam<mode>2_i387_with_temp to remove excess precision.
testsuite/ChangeLog:
PR target/39228
* gcc.c-torture/execute/pr39228.c: New test.
Paul Thomas [Thu, 19 Feb 2009 06:43:15 +0000 (06:43 +0000)]
re PR fortran/38852 ([4.3] UBOUND fails for negative stride triplets)
2009-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38852
PR fortran/39006
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
descriptor ubound for UBOUND, when the array lbound == 1.
2009-02-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38852
PR fortran/39006
* gfortran.dg/bound_6.f90: New test.
Uros Bizjak [Wed, 11 Feb 2009 11:53:47 +0000 (12:53 +0100)]
re PR target/39118 (x86_64 red zone violation)
PR target/39118
* config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
(memory_blockage): New expander.
(*memory_blockage): New insn pattern.
* config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
instead of general blockage at the end of function prologue when
frame pointer is used to access red zone area. Do not emit blockage
when profiling, it is emitted in generic code.
(ix86_expand_epilogue): Emit memory_blockage at the beginning of
function epilogue when frame pointer is used to access red zone area.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r144101
Uros Bizjak [Tue, 10 Feb 2009 16:12:47 +0000 (17:12 +0100)]
re PR target/39118 (x86_64 red zone violation)
PR target/39118
* config/i386/i386.c (expand_prologue): Emit blockage at the end
of function prologue when frame pointer is used to access
red zone area.
backport: algorithmfwd.h: Add parallelism default for many declarations.
2009-02-09 Johannes Singler <singler@ira.uka.de>
Backport from mainline:
2009-02-03 Johannes Singler <singler@ira.uka.de>
* include/parallel/algorithmfwd.h:
Add parallelism default for many declarations.
* include/parallel/numericfwd.h: Likewise.
* include/parallel/iterator.h: Use iterator_traits as usual.
* include/parallel/par_loop.h:
Include equally_split.h.
(for_each_template_random_access_ed):
Avoid calling the Result default constructor.
* include/parallel/numeric: Replace
for_each_template_random_access by
for_each_template_random_access_ed in numeric functions.
Joseph Myers [Sun, 8 Feb 2009 19:01:57 +0000 (19:01 +0000)]
re PR c/36432 (“incompatible pointer type” with pointer to array as a struct member)
PR c/36432
* c-decl.c (grokdeclarator): Don't treat [] declarators in fields
as indicating flexible array members unless the field itself is
being declarared as the incomplete array.
testsuite:
* gcc.dg/c90-flex-array-2.c, gcc.dg/c99-flex-array-6.c: New tests.
H.J. Lu [Fri, 30 Jan 2009 22:36:22 +0000 (22:36 +0000)]
backport: re PR rtl-optimization/38245 (stack corruption when a call is removed but not the outgoing argument pushes)
2009-01-30 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-01-14 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/38245
* gcc.dg/pr38245-3.c: New test.
* gcc.dg/pr38245-3.h: New file.
* gcc.dg/pr38245-4.c: New file.
* gcc.dg/pr38364.c: New test.
Uros Bizjak [Tue, 27 Jan 2009 11:39:42 +0000 (12:39 +0100)]
backport: re PR target/38706 (../../../../src/libstdc++-v3/src/strstream.cc:419: internal compiler error: Segmentation fault)
gcc/ChangeLog:
Backport from mainline:
2009-01-13 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
relocations of local symbols wider than UNITS_PER_WORD are not valid.
(alpha_legitimize_address): Do not split local symbols wider than
UNITS_PER_WORD into HIGH/LO_SUM parts.
2009-01-07 Uros Bizjak <ubizjak@gmail.com>
PR target/38706
* config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
free_after_compilation when outputting a thunk.
(alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
Do not call free_after_compilation here.
2008-12-22 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/elf.h (ASM_OUTPUT_EXTERNAL): New macro.
2008-12-21 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_pad_noreturn): New static function.
(alpha_reorg): Call alpha_pad_noreturn.
2008-12-08 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_set_memflags): Process memory
references in full insn sequence.
2008-12-05 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_fold_vector_minmax): Create
VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
(alpha_emit_conditional_branch): Do not generate direct branch
for UNORDERED comparisons.
gcc/testsuite/ChangeLog:
Backport from mainline:
2009-01-07 Uros Bizjak <ubizjak@gmail.com>
PR target/38706
* g++.dg/other/pr38706.C: New test.
libstdc++/ChangeLog:
Backport from mainline:
2009-01-13 Uros Bizjak <ubizjak@gmail.com>
* scripts/extract_symvers: Add sed script to remove ' [<other>: xx] '
field from readelf output.
Paul Thomas [Mon, 26 Jan 2009 06:15:41 +0000 (06:15 +0000)]
re PR fortran/38907 (ICE when contained function has same name as module function and used in expression)
2009-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38907
Backport from trunk
* resolve.c (check_host_association): Remove the matching to
correct an incorrect host association and use manipulation of
the expression instead.
2009-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38907
Backport from trunk
* gfortran.dg/host_assoc_function_7.f90: New test.
Paul Thomas [Mon, 26 Jan 2009 05:12:03 +0000 (05:12 +0000)]
re PR fortran/38657 (PUBLIC/PRIVATE Common blocks)
2009-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38657
* module.c (write_common_0): Add argument 'this_module' and
check that non-use associated common blocks are written first.
(write_common): Call write_common_0 twice, once with true and
then with false.
Uros Bizjak [Sun, 25 Jan 2009 12:26:15 +0000 (13:26 +0100)]
backport: re PR target/38931 (Seg fault when getting instruction latency on a *movsi_1 with an MMX target register)
Backport from mainline:
2009-01-22 Uros Bizjak <ubizjak@gmail.com>
PR target/38931
* config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
(*movdi_1_rex64): Use type "mmx" for alternative 5.
2009-01-21 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/38879
* alias.c (base_alias_check): Unaligned access via AND address can
alias all surrounding object types except those with sizes equal
or wider than the size of unaligned access.
testsuite/ChangeLog:
Backport from mainline:
2009-01-22 Uros Bizjak <ubizjak@gmail.com>
PR target/38931
* gcc.target/i386/pr38931.c: New test.