Ben Elliston [Wed, 25 Mar 2009 22:05:08 +0000 (22:05 +0000)]
backport: re PR target/39175 (ICE while compiling qt-4.5.0-rc1)
Backport from mainline:
2009-02-19 Jakub Jelinek <jakub@redhat.com>
PR target/39175
* c-common.c (c_determine_visibility): If visibility changed and
DECL_RTL has been already set, call make_decl_rtl to update symbol
flags.
cp/
* decl2.c (determine_visibility): If visibility changed and
DECL_RTL has been already set, call make_decl_rtl to update symbol
flags.
testsuite/
* gcc.dg/visibility-20.c: New test.
* g++.dg/ext/visibility/visibility-11.C: New test.
Uros Bizjak [Mon, 23 Mar 2009 11:19:41 +0000 (12:19 +0100)]
backport: re PR target/39482 (ICE in inline_secondary_memory_needed, at config/i386/i386.c:25478)
Backport from mainline:
2009-03-17 Uros Bizjak <ubizjak@gmail.com>
PR target/39482
* config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
from different units in a single alternative.
(*truncdfsf_i387): Ditto.
(*truncxfsf2_mixed): Ditto.
(*truncxfdf2_mixed): Ditto.
testsuite/ChangLog:
Backport from mainline:
2009-03-17 Uros Bizjak <ubizjak@gmail.com>
PR target/39482
* gcc.target/i386/pr39482.c: New test.
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.