PR middle-end/43570
* omp-low.c (scan_sharing_clauses): Don't scan_omp_op
OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
(lower_copyprivate_clauses): Use private var in outer
context instead of original var. Make sure the types
are correct for VLAs.
* testsuite/libgomp.fortran/vla8.f90: New test.
From-SVN: r158603
PR libgomp/43706
* config/linux/affinity.c (gomp_init_affinity): Decrease
gomp_available_cpus if affinity mask confines the process to fewer
CPUs.
* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
non-NULL, just return gomp_available_cpus.
From-SVN: r158601
PR fortran/43339
* openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
sequential loops private in the innermost containing task region.
* gfortran.dg/gomp/sharing-2.f90: Adjust for iteration vars
of sequential loops being private only in the innermost containing
task region.
From-SVN: r158547
PR tree-optimization/43769
* tree-sra.c (bitfield_overlaps_p): If the length of the element is
self-referential, try to compute an upper bound.
From-SVN: r158490
2010-04-16 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/30073
* trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
block of code. Set name to the variable associated with the descriptor.
From-SVN: r158431
2010-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
Backport:
2009-06-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40518
* include/bits/basic_string.h (basic_string<>::_Rep::
_M_set_length_and_sharable): Do not write the empty rep.
(basic_string<>::erase(iterator, iterator)): Likewise,
move out of line...
* include/bits/basic_string.tcc: ... here.
From-SVN: r158190
Backport from mainline:
2009-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR ada/41912
* pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame
for signal frames.
* pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise.
From-SVN: r158146
2009-12-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* include/pa-signal.h: Do not include ucontext.h.
(SIGNAL_HANDLER): Add __attribute__ ((unused)) to signal handler
arguments.
(MAKE_THROW_FRAME): Do not adjust program counter.
* include/hppa-signal.h: Do not include sys/types.h, sys/syscall.h and
unistd.h.
(MAKE_THROW_FRAME): Do not adjust program counter.
(HANDLE_FPE): Define.
(INIT_SEGV, INIT_FPE): Revise indentation.
From-SVN: r158145
2010-04-08 Richard Guenther <rguenther@suse.de>
PR middle-end/42956
* gimplify.c (gimple_fold_indirect_ref): Avoid generating
new ARRAY_REFs on variable size element or minimal index arrays.
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
gimple_fold_indirect_ref.
* gcc.c-torture/compile/pr42956.c: New testcase.
From-SVN: r158123
2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.c (override_options): Adjust the z10
defaults for max-unroll-times, max-completely-peeled-insns
and max-completely-peel-times.
From-SVN: r158121
2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.c (override_options): Set
default of max-pending-list-length to 256
From-SVN: r158120
Backport from mainline:
2010-04-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43607
* ipa-type-escape.c (check_call): Do not access non-existing
arguments.
From-SVN: r158118
Backport from mainline:
2010-04-01 Richard Guenther <rguenther@suse.de>
PR middle-end/43614
* tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
and TREE_THIS_VOLATILE.
(copy_ref_info): Likewise.
* tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
* tree.c (build7_stat): Ignore side-effects of all but arg5
for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
TARGET_MEM_REF.
* gcc.c-torture/compile/pr43614.c: New testcase.
From-SVN: r158117
2010-04-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43629
* tree-ssa-ccp.c (likely_value): Properly look for constant
values. Reset all_undefined_operands if we have seen a
constant value.
* gcc.c-torture/execute/pr43629.c: New testcase.
From-SVN: r158070
2010-03-31 Richard Guenther <rguenther@suse.de>
PR middle-end/43600
* cgraphunit.c (cgraph_output_in_order): Do not allocate
temporary data on stack.
From-SVN: r157868
2010-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43409
Back port from trunk.
* io/io.h: Fix type of size in st_parameter_inquire structure.
Add prototype for new function to return file size.
* io/unix.c (file_size): New function.
* io/inquire.c (inquire_via_unit): Use new function.
(inquire_via_filename): Use new function.
From-SVN: r157847
2010-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43409
Back port from trunk.
* ioparm.def: Change inquire size variable to type pointer to
GFC_IO_INT type.
From-SVN: r157846
2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
stack check if the mask would be zero.
2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/stackcheck1.c: New testcase.
From-SVN: r157823
2010-03-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43265
* io/transfer.c (next_record_r): Only call hit_eof for specific
conditions when an EOF is encountered.
From-SVN: r157812
2009-06-16 J"orn Rennecke <joern.rennecke@arc.com>
Janis Johnson <janis187@us.ibm.com>
PR target/39254
* config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
for the symbol ref of a constant that is the source of a move
- nor for any other not-obvious-label-ref constants.
From-SVN: r157780
PR target/42113
* config/alpha/alpha.md (*cmp_sadd_si): Change mode
of scratch register to DImode. Split to DImode comparison operator.
Use SImode subreg of scratch register in the multiplication.
(*cmp_sadd_sidi): Ditto.
(*cmp_ssub_si): Ditto.
(*cmp_ssub_sidi): Ditto.
From-SVN: r157774
PR c/43381
* c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
nested binding iff it is a FUNCTION_DECL.
(store_parm_decls_newstyle): Pass nested=true to bind for
FUNCTION_DECLs amongst parameters.
testsuite:
* gcc.dg/parm-impl-decl-3.c: New test.
From-SVN: r157772
PR c/43385
* gimplify.c (gimple_boolify): Only recurse on __builtin_expect
argument if the argument is truth_value_p.
* gcc.c-torture/execute/pr43385.c: New test.
From-SVN: r157722
2010-03-22 Richard Guenther <rguenther@suse.de>
Backport from mainline:
2010-03-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43415
* tree-ssa-pre.c (phi_translate): Split out worker to ...
(phi_translate_1): ... this.
(phi_translate): Move all caching here. Cache all NARY
and REFERENCE translations.
* gcc.c-torture/compile/pr43415.c: New testcase.
From-SVN: r157641
PR libgomp/42942
* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
(initialize_env): Adjust callers.
(omp_set_max_active_levels): Set gomp_max_active_levels_var even
when the argument is 0.
* testsuite/libgomp.c/pr42942.c: New test.
From-SVN: r157636
Backport from mainline:
2010-03-20 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/43438
* combine.c (make_extraction): Properly zero-/sign-extend an
extraction of the low part of a CONST_INT. Also handle
CONST_DOUBLE.
* gcc.c-torture/execute/pr43438.c: New testcase.
From-SVN: r157634
Backport from mainline:
2010-03-19 Michael Matz <matz@suse.de>
PR c++/43116
* attribs.c (decl_attributes): When rebuilding a function pointer
type use the same qualifiers as the original pointer type.
* g++.dg/other/pr43116.C: New testcase.
From-SVN: r157633
Backport from mainline:
2010-03-19 Michael Matz <matz@suse.de>
PR target/43305
* builtins.c (expand_builtin_interclass_mathfn,
expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
if that fails.
* gcc.dg/pr43305.c: New testcase.
From-SVN: r157632
Backport from mainline:
2010-03-18 Michael Matz <matz@suse.de>
PR middle-end/43419
* builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
into sqrt(x) if we need to preserve signed zeros.
* gcc.dg/pr43419.c: New testcase.
From-SVN: r157631
Backport from mainline:
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
PR target/43417
* config/sh/sh.md (cbranchdi4_i): Use an "I08" constraint
instead of "i" constraint.
From-SVN: r157610
gcc/
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/43360
* loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
note if we don't know its invariant status.
gcc/testsuite/
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/43360
* gcc.dg/torture/pr43360.c: New.
From-SVN: r157541
2010-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43265
* io/io.h: Delete prototype for read_sf, making it static.
* io/read.c (read_x): Modify to call hit_eof if PAD="no".
* io/transfer.c (read_sf_internal): New static function extracted from
read_sf for use on internal units only. Handle empty string case.
(read_sf): New factoring of this function, make it static. Add special
conditions for EOF based on ADVANCE="no", PAD="no", and whether any
bytes have been previously read from the record.
(read_block_form): Modify to call read_sf or read_sf_internal.
(next_record_r): Add a done flag similar to next_record_w. Call hit_eof
if internal array unit next record returns finished, meaning an EOF was
found and not done, ie not the last record expected. For external
units call hit_eof if item_count is 1 or there are no pending spaces.
(next_record): Update call to next_record_r.
From-SVN: r157532
2010-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43265
Backport from trunk.
* io/read.c (read_x): Replace the use of read_sf with equivalent lower
level I/O, eliminating unneeded code and handling EOF and EOR
conditions.
* io/io.h: Revise prototype for read_sf.
* io/transfer.c (read_sf): Delete no_error parameter and all uses of it.
Set eof and eor condition flags. (read_block_form): Likewise.
(next_record_r): Add condition to call to hit_eof.
From-SVN: r157404
* lib/target-supports-dg.exp (check-flags): Provide defaults for
include-opts and exclude-opts; skip checking the flags if arguments
are the same as the defaults.
(dg-xfail-if): Verify the number of arguments, supply defaults
for unspecified optional arguments.
(dg-skip-if, dg-xfail-run-if): Verify the number of arguments.
From-SVN: r157390
Backport from mainline:
2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR c/43248
* c-decl.c (build_compound_literal): Return early if init is
an error_mark_node.
* gcc.dg/compound-literal-1.c: New testcase.
From-SVN: r157275
Backport from mainline:
2010-03-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43220
* tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
* gcc.c-torture/execute/pr43220.c: New testcase.
From-SVN: r157160
PR ada/42253
* gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
pointer base types are variant of each other. Apply special treatment
for null to fat pointer types in all cases.
From-SVN: r157108
2010-01-20 Janis Johnson <janis187@us.ibm.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/21769
* testsuite/lib/dg-options.exp (add_options_for_no_pch): Add.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Use it.
From-SVN: r156990
2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
(QI to BLKmode splitter): New splitter.
From-SVN: r156954
2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
* config/sparc/gas.h: New file. Restore
TARGET_ASM_NAMED_SECTION to its ELF default.
* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
check !HAVE_GNU_AS.
* config/sparc/sparc.c (sparc_elf_asm_named_section):
Likewise. Add ATTRIBUTE_UNUSED to prototype.
* config.gcc (sparc*-*-linux*): Include sparc/gas.h
after sparc/sysv4.h.
From-SVN: r156858
2010-02-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/42871
* tree-ssa-pre.c (phi_translate_set): Make sure to retain
leaders.
* g++.dg/torture/pr42871.C: New testcase.
From-SVN: r156750
2010-02-10 Daniel Gutson <dgutson@codesourcery.com>
* config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
added to the preprocessor condition.
From-SVN: r156669
PR debug/43010
* dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
if no debug info should be emitted for it.
* g++.dg/debug/pr43010.C: New test.
From-SVN: r156658
PR tree-optimization/42890
* tree-inline.c (delete_unreachable_blocks_update_callgraph): New
function backported from the trunk.
(tree_function_versioning): Call it instead of
delete_unreachable_blocks.
* g++.dg/torture/pr42890.C: New test.
From-SVN: r156605
2010-02-08 Richard Guenther <rguenther@suse.de>
PR middle-end/42995
* tree-inline.c (estimate_move_cost): Assert we are not called
with a void type.
(estimate_num_insns): Do not count the terminating void_type_node
of a function argument type list.
Backport from mainline:
2010-01-06 Richard Guenther <rguenther@suse.de>
* ipa-inline.c (cgraph_decide_inlining_incrementally): Do
not inline regular functions into always-inline functions.
2010-01-05 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42462
* ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
current_function_decl to helper functions and macros.
* gcc.dg/tree-ssa/inline-4.c: New testcase.
* gcc.dg/Wunreachable-2.c: Remove.
From-SVN: r156601
2010-02-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42309
* trans-expr.c (gfc_conv_subref_array_arg): Add new argument
'formal_ptr'. If this is true, give returned descriptor unity
lbounds, in all dimensions, and the appropriate offset.
(gfc_conv_procedure_call); If formal is a pointer, set the last
argument of gfc_conv_subref_array_arg to true.
* trans.h : Add last argument for gfc_conv_subref_array_arg.
* trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
new arg of gfc_conv_subref_array_arg to false.
* trans-stmt.c (forall_make_variable_temp): The same.
2010-02-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42309
* gfortran.dg/subref_array_pointer_4.f90 : New test.
From-SVN: r156554
2010-02-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/42901
*gfortran.dg/namelist_60.f90: New test.
*gfortran.dg/namelist_59.f90: New test.
From-SVN: r156508
2010-02-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/42901
* io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up
code, and adjust logic to set namelist info pointer correctly for array
qualifiers of derived type components.
From-SVN: r156507
2010-02-04 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/42952
* dse.c (const_or_frame_p): Remove MEM handling.
* gcc.dg/torture/pr42952.c: New testcase.
From-SVN: r156495
Backport from mainline:
2009-12-17 Uros Bizjak <ubizjak@gmail.com>
* objc/execute/forward-1.x: XFAIL for -fgnu-runtime on
x86_64-*-darwin*, powerpc*-*-darwin* and alpha*-*-linux* targets.
From-SVN: r156425
PR middle-end/42898
Backport from mainline:
2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
* gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
assignment from the constructor either if the target is volatile.
From-SVN: r156415
2010-01-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38324
* expr.c (gfc_get_full_arrayspec_from_expr): New function.
* gfortran.h : Add prototype for above.
* trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
(gfc_trans_subcomponent_assign): Call new function to replace
the code to deal with allocatable components.
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
gfc_get_full_arrayspec_from_expr to replace existing code.
2010-01-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38324
* gfortran.dg/alloc_comp_basics_1.f90: Remove option -O2.
* gfortran.dg/alloc_comp_bounds_1.f90: New test.
From-SVN: r156401
2010-01-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41044
PR fortran/41167
* expr.c (remove_subobject_ref): If the constructor is NULL use
the expression as the source.
(simplify_const_ref): Change the type of expression if
there are component references. Allow for substring to be at
the end of an arbitrarily long chain of references. If an
element is found that is not in an EXPR_ARRAY, assume that this
is scalar initialization of array. Call remove_subobject_ref in
this case with NULL second argument.
2010-01-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41044
* gfortran.dg/parameter_array_ref_2.f90 : New test.
PR fortran/41167
* gfortran.dg/char_array_arg_1.f90 : New test.
* gfortran.dg/pr25923.f90 : Remove XFAIL.
From-SVN: r156389
2010-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42736
* trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
is required, turn any trailing array elements after a range
into ranges so that offsets can be calculated.
2010-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42736
* gfortran.dg/dependency_25.f90 : New test.
From-SVN: r156302
* config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
HAVE_GNU_AS value.
* config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
Test for HAVE_GNU_AS value.
From-SVN: r156273
* ada/acats/run_all.sh: Make sure norun.lst is sorted using the
current collation.
Backport from mainline:
2009-12-17 Arnaud Charlet <charlet@adacore.com>
* ada/acats/run_all.sh: Strip comments from norun.lst.
From-SVN: r156256
PR fortran/42866
* omp-low.c (expand_omp_sections): Only use single_pred if
l2_bb is single_pred_p.
* testsuite/libgomp.fortran/allocatable5.f90: New test.
From-SVN: r156236
2010-01-24 David S. Miller <davem@davemloft.net>
* gcc/config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
define if not using GAS.
* gcc/config/sparc/sparc.c (sparc_elf_asm_named_section):
Likewise. Delete SECTION_MERGE code, which is only applicable
when using GAS.
From-SVN: r156205
PR bootstrap/42786
* config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
cpu types. Add support for *-sse3 cpu types.
(x86_64-*-*): Ditto.
From-SVN: r156159
PR middle-end/42803
* varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
argument, call initializer_constant_valid_p_1 instead of
initializer_constant_valid_p, pass CACHE to it, return NULL
immediately if first call returns NULL.
(initializer_constant_valid_p_1): New function.
(initializer_constant_valid_p): Use it.
* g++.dg/parse/limits-initializer1.C: New test.
From-SVN: r156070
* dwarf2out.c (loc_descriptor_from_tree_1): Don't handle unsigned
division. Handle signed modulo using DW_OP_{over,over,div,mul,minus}.
* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
modulo instead of signed.
* gcc.dg/cleanup-13.c: Expect DW_OP_mod to do unsigned modulo instead
of signed, add a few new tests.
From-SVN: r156065
gcc/
2010-01-17 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2010-01-13 Steve Ellcey <sje@cup.hp.com>
PR target/42542
* config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
them signed.
gcc/testsuite/
2010-01-17 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2010-01-13 Steve Ellcey <sje@cup.hp.com>
PR target/42542
* gcc.target/ia64/pr42542-1.c: New.
* gcc.target/ia64/pr42542-2.c: New.
* gcc.target/ia64/pr42542-3.c: New.
From-SVN: r155990
Backport from mainline(4.5) to fix a regression bug.
2010-01-15 Jing Yu <jingyu@google.com>
PR rtl-optimization/42691
* combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
a pseudo to a constant and are merged, and adjust comments.
2010-01-15 Jing Yu <jingyu@google.com>
PR rtl-optimization/42691
* gcc.c-torture/execute/pr42691.c: New.
From-SVN: r155949
Backport from mainline(4.5) to fix a regression bug.
2010-01-15 Jing Yu <jingyu@google.com>
PR rtl-optimization/42691
* combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
a pseudo to a constant and are merged, and adjust comments.
2010-01-15 Jing Yu <jingyu@google.com>
PR rtl-optimization/42691
* gcc.c-torture/execute/pr42691.c: New.
From-SVN: r155945
PR c++/42608
* varasm.c (declare_weak): Add weak attribute to decl if it
doesn't have one already.
(assemble_external): Only add decls to weak_decls if they also
have weak attribute.
* g++.dg/template/instantiate11.C: New test.
From-SVN: r155921
Backport from mainline
2010-01-10 Richard Guenther <rguenther@suse.de>
PR middle-end/42667
* builtins.c (fold_builtin_strlen): Add type argument and
convert the resulting length to it.
(fold_builtin_1): Adjust.
* gcc.dg/torture/pr42667.c: New testcase.
From-SVN: r155886
2010-01-13 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/40281
* tree-scalar-evolution.c (instantiate_scev_1): Base and stride
evolutions should not variate in inner loops.
* gcc.dg/graphite/pr40281.c: New.
From-SVN: r155851
Backport from mainline.
2010-01-12 Julian Brown <julian@codesourcery.com>
* config/arm/neon-schedgen.ml (Utils): Don't try to
open missing module.
(find_with_result): New.
From-SVN: r155836
PR target/42564
* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(sparc_tls_referenced_p): Likewise.
* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
and adjust calls to legitimize_pic_address.
(legitimate_constant_p) Use sparc_tls_referenced_p.
(legitimate_pic_operand_p): Likewise.
(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
(sparc_tls_symbol_ref_1): Delete.
(sparc_tls_referenced_p): Make static, recognize specific patterns.
(legitimize_tls_address): Make static, handle CONST patterns.
(legitimize_pic_address): Make static, remove unused parameter and
adjust recursive calls.
(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
and adjust call to legitimize_pic_address.
(sparc_output_mi_thunk): Likewise.
From-SVN: r155663
2010-01-02 Richard Guenther <rguenther@suse.de>
Backport from mainline
2009-12-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/42337
* tree-ssa-pre.c (seen_during_translate): Remove.
(phi_translate_1): Collapse into ...
(phi_translate): ... this. Remove seen parameter and
adjust recursive calls.
Backport from mainline
2009-12-09 Xinliang David Li <davidxl@google.com>
PR tree-optimization/42337
* g++.dg/tree-ssa/pr42337.C: New test.
From-SVN: r155573
PR target/42549
* config/i386/mmx.md (*mmx_subv2sf3): Fix insn operand number for
alternative 1.
testsuite/ChangeLog:
PR target/42549
* gcc.target/i386/mmx-3dnow-check.h: New file.
* gcc.target/i386/pr42549.c: New test.
From-SVN: r155521
2009-12-28 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-12-24 Jason Merrill <jason@redhat.com>
PR c++/41305
* g++.dg/lookup/koenig10.C: New test.
* g++.dg/lookup/koenig11.C: New test.
* g++.dg/lookup/koenig12.C: New test.
From-SVN: r155491
2009-12-27 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42231
* ipa-cp.c (ipcp_update_cloned_node): Add missing edges manually
instead of relying on rebuild_cgraph_edges and mark them as
indirect calls.
(ipcp_update_callgraph): Always redirect indirect edges.
* testsuite/gcc.c-torture/execute/pr42231.c: New test.
From-SVN: r155481
PR c++/41183
* cp-tree.h (current_class_ptr): Give NULL even when cfun
has NULL cfun->language.
* g++.dg/torture/pr41183.C: New test.
From-SVN: r155255
2009-12-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/42263
Backport from mainline
2009-12-03 Richard Earnshaw <rearnsha@arm.com>
* arm/linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier
before the lock release.
From-SVN: r155172
2009-12-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2009-10-05 Doug Kwan <dougkwan@google.com>
PR rtl-optimization/41574
* combine.c (distribute_and_simplify_rtx): Quit if RTX mode is
floating point and we are not doing unsafe math optimizations.
2009-12-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2009-10-08 Doug Kwan <dougkwan@google.com>
PR rtl-optimization/41574
* gcc.dg/pr41574.c: New test.
From-SVN: r155157
libgfortran/
2009-12-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/42268
* intrinsics/pack_generic.c (pack): Add safety checks for the case that
'vector' is NULL.
gcc/testsuite/
2009-12-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/42268
* gfortran.dg/intrinsic_pack_5.f90: New test.
From-SVN: r155139
2009-12-02 Chao-ying Fu <fu@mips.com>
Backport from mainline
2009-11-30 Chao-ying Fu <fu@mips.com>
* gcc.target/mips/dsp-lhx.c: New test.
* gcc.target/mips/dsp-no-lhx.c: New test.
From-SVN: r154928
2009-12-02 Chao-ying Fu <fu@mips.com>
Backport from mainline
2009-11-30 Chao-ying Fu <fu@mips.com>
* config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
From-SVN: r154927
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41807
Backport from mainline.
* trans-const.c (gfc_conv_const): Fix typo in comment. Replace assert
with error message if not constant. Set se->expr to a constant on error.
* resolve.c (next_data_value): Delete check for constant.
From-SVN: r154691
PR fortran/42162
* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
don't use simple loop and handle clauses properly.
* testsuite/libgomp.fortran/pr42162.f90: New test.
From-SVN: r154656
* pa.c (output_call): Only use sr4 for long interspace calls if
call binds local and generating non PIC code.
(attr_length_call): Adjust length calculation for above.
From-SVN: r154528
2009-11-24 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.md: Added agen condition to operand
forwarding bypasses.
Added bypass for early address generation use of int results.
Updated comments.
From-SVN: r154490
2009-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/42090
Backport from trunk.
* io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
skipping the remaining bytes in the record.
(next_record_r): Call skip_record with the number of bytes_left to be
skipped.
From-SVN: r154355
2009-11-17 Andrew Haley <aph@redhat.com>
* posix-threads.cc (park): Rewrite code to handle time.
Move mutex lock before the call to compare_and_swap to avoid a
race condition.
Add some assertions.
(unpark): Add an assertion.
(init): Move here from posix-threads.h.
* include/posix-threads.h (destroy): removed.
From-SVN: r154294
PR c++/42061
* call.c (reference_binding): Return NULL for initializer list with
error operand inside of it.
* g++.dg/cpp0x/initlist27.C: New test.
From-SVN: r154240
PR c++/42059
* typeck.c (cp_build_modify_expr): For initializer list call
check_array_initializer to make sure lhs isn't a VLA.
* g++.dg/cpp0x/initlist26.C: New test.
From-SVN: r154239
* config/i386/predicates.md (call_register_no_elim_operand):
New predicate. Reject stack register as valid call operand
for 32bit targets.
(call_insn_operand): Use call_register_no_elim_operand.
From-SVN: r154183
PR middle-end/42029
* gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
tmp_load if needed.
* libgomp.c/pr42029.c: New test.
From-SVN: r154162
2009-11-11 Kai Tietz <kai.tietz@onevision.com>
Backported from trunk
* directives.c (do_pragma_push_macro): New pragma handler.
(do_pragma_pop_macro): Likewise.
(_cpp_init_internal_pragmas): Add push_macro and
pop_macro handler to internal pragmas.
(lex_macro_node_from_str): Removed.
(cpp_push_definition): Replace lex_macro_node_from_str
by _cpp_lex_identifier.
(cpp_pop_definition): Likewise.
* internal.h (_cpp_lex_identifier): New prototype.
(def_pragma_macro): New structure.
(cpp_reader): New member pushed_macros.
* lex.c (_cpp_lex_identifier): New function.
(lex_identifier_intern): New function.
* init.c (cpp_create_reader): Initialize pushed_macros
member.
(cpp_destroy): Free elements in pushed_macros member.
* pch.c (_cpp_save_pushed_macros): New function.
(_cpp_restore_pushed_macros): Likewise.
(_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros.
(cpp_read_state): Use _cpp_restore_pushed_macros.
ChangeLog for gcc
2009-11-11 Kai Tietz <kai.tietz@onevision.com>
Backported from trunk
* config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO):
Removed.
* c-pragma.c (def_pragma_macro_value): Likewise.
(def_pragma_macro): Likewise.
(pushed_macro_table): Likewise.
(HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded
code.
* doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO):
Removed.
ChangeLog for gcc/testsuite
2009-11-11 Kai Tietz <kai.tietz@onevision.com>
Backported from trunk
* g++.dg/torture/pushpop_macro.C: New testcase.
* gcc.c-torture/execute/pushpop_macro.c: New testcase.
* gcc.dg/cpp/pragma-pop_macro-1.c: Allow test for all
targets.
From-SVN: r154103
2009-11-10 Chao-ying Fu <fu@mips.com>
Backport from mainline
2009-10-29 Chao-ying Fu <fu@mips.com>
* config/mips/mips.c (mips_emit_unary, mips_force_unary): New
functions.
(mips_expand_synci_loop): Use the length rtx to control the
synci loop from the begin rtx that points to the first byte of
the cache line.
From-SVN: r154080
Backport from mainline:
2009-11-06 Michael Matz <matz@suse.de>
PR middle-end/41963
* tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses
of a potential reciprocal to really be reciprocals.
testsuite/ChangeLog:
Backport from mainline:
2009-11-06 Michael Matz <matz@suse.de>
PR middle-end/41963
* gcc.target/i386/pr41963.c: New test.
From-SVN: r154011
PR tree-optimization/41643
Backport from mainline
2009-04-03 Richard Guenther <rguenther@suse.de>
* tree-tailcall.c (tree_optimize_tail_calls_1): Also split the
edge from the entry block if we have degenerate PHI nodes in
the first basic block.
* gcc.dg/pr41643.c: New test.
From-SVN: r153996
PR c++/41967
* parser.c (cp_parser_omp_for_loop): After diagnosing not perfectly
nested loop and parsing statements, don't cp_parser_require }, instead
exit the loop if next token is CPP_EOF.
* g++.dg/gomp/pr41967.C: New test.
From-SVN: r153973
PR c++/36912
* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
(output_constant): Avoid crash after error.
From-SVN: r153941
PR c++/36959
* decl2.c (cxx_callgraph_analyze_expr): Don't reference a function
just because a static variable in it is needed unless -frepo.
From-SVN: r153881
PR rtl-optimization/41917
* rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
operand isn't known to be 0, return 1.
* gcc.c-torture/execute/pr41917.c: New test.
From-SVN: r153875
Fix PR c++/41856
PR c++/41856
* g++.dg/lookup/extern-c-redecl3.C: Make the test x86 only.
* g++.dg/lookup/extern-c-redecl4.C: Likewise.
From-SVN: r153851
Fix PR c++/38699
gcc/ChangeLog:
PR c++/38699
* c-common.c (fold_offsetof_1): Issue errors when the member designator of
the offsetoff expression is not legitimate.
gcc/testsuite/ChangeLog:
* c-c++-common/dfp/builtin-offsetof.c: New test.
* g++.dg/other/offsetof6.C: Likewise.
From-SVN: r153844
Fix PR c++/37093
gcc/cp/ChangeLog:
PR c++/37093
* pt.c (check_valid_ptrmem_cst_expr): New function.
(convert_nontype_argument): Use it to output an error for
illegal pointer to member expressions used as template arguments.
gcc/testsuite/ChangeLog:
PR c++/37093
* g++.dg/other/ptrmem10.C: New test.
* g++.dg/other/ptrmem11.C: Likewise.
From-SVN: r153823
2009-11-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41772
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Stop'extent'
from going negative.
2009-11-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41772
* gfortran.dg/transfer_intrinsic_3.f90.
From-SVN: r153817
2009-10-30 Tobias Burnus <burnus@net-b.de>
PR fortran/41777
* trans-expr.c
* (gfc_conv_procedure_call,gfc_conv_expr_reference):
Use for generic EXPR_FUNCTION the attributes of the specific
function.
2009-10-30 Tobias Burnus <burnus@net-b.de>
PR fortran/41777
gfortran.dg/associated_target_3.f90: New testcase.
From-SVN: r153756
2009-10-28 Johannes Singler <singler@kit.edu>
PR libstdc++/40852
* include/parallel/multiseq_selection.h
(multiseq_partition, multiseq_selection): Avoid intermediate
values exceeding the integer type range for very large inputs.
From-SVN: r153649
Backport from mainline:
2009-08-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.md (reload_inhi, reload_outhi, reload_inqi, reload_outqi): New
patterns.
* pa.c (emit_move_sequence): Check if address of operand1 is valid
for mode mode of operand0 when doing secondary reload for SAR.
From-SVN: r153513
2009-10-22 Richard Guenther <rguenther@suse.de>
PR cp-tools/39177
* tools/gnu/classpath/tools/jar/Creator.java (writeCommandLineEntries):
Do not use uninitialized manifest.
* tools/classes/gnu/classpath/tools/jar/Creator.class: Re-generated.
From-SVN: r153462
* mangle.c (finish_mangling_get_identifier): Use
obstack_base (mangle_obstack) instead of name_base.
* g++.dg/abi/mangle33.C: New test.
From-SVN: r153061
Backport from mainline:
2009-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/41702
* pa.md (casesi): Use sign extended index in call to
gen_casesi64p.
(casesi64p): Update pattern to reflect above.
From-SVN: r153042
* config/arm/arm.c (output_move_neon): Use DImode in call to
adjust_address.
testsuite:
* gcc.target/arm/neon-thumb2-move.c: New test.
From-SVN: r153016
2009-10-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_z10_optimize_cmp): Skip notes and debug
insns when investigating previous or next insns.
From-SVN: r152980
2009-10-16 Benjamin Kosnik <bkoz@redhat.com>
* include/c_compatibility/stdatomic.h: Include cstdatomic if
__cplusplus.
2009-10-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/40654
PR libstdc++/40826
* src/atomic.cc (atomic_flag_test_and_set_explicit): Add
static_cast from base to derived.
(atomic_flag_clear_explicit): Same.
* include/bits/atomic_2.h (__atomic2::atomic_flag): Public derivation.
Remove value type constructor.
* include/bits/atomic_0.h (__atomic0::atomic_flag): Same.
* include/std/future (_Future_state): Use ATOMIC_FLAG_INIT to
initialized the atomic_flag member.
From-SVN: r152965
2009-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Backport from mainline
2009-09-17 Michael Haubenwallner <michael.haubenwallner@salomon.at>
PR target/40913
* config/pa/t-hpux-shlib: Set soname in libgcc_s.sl.
From-SVN: r152883
Backport from mainline
2009-05-05 Ben Elliston <bje@au.ibm.com>
* config/pa/linux-atomic.c: Eliminate conditional include of
errno.h on non-LP64 systems to simplify build requirements.
From-SVN: r152878
Backport from mainline:
2009-10-07 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/22072
* ira-lives.c (check_and_make_def_conflict): Process all operands.
From-SVN: r152856
2009-10-15 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-10-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/41665
* config/i386/i386.md (addsi_1_zext): Get the proper second
operand for lea.
From-SVN: r152845
PR target/41680
* config/i386/i386.md (split after *testqi_ext_3_rex64): Only narrow
paradoxical subregs to prevent partial register stalls if the inner
mode is integer mode.
* g++.dg/torture/pr41680.C: New test.
From-SVN: r152667
PR rtl-optimization/41646
* calls.c (expand_call): For BLKmode types returned in registers
avoid likely spilled hard regs in copy_blkmode_from_reg generated
insns.
* gcc.c-torture/compile/pr41646.c: New test.
From-SVN: r152666
PR c++/39863
* pt.c (tsubst_pack_expansion): Don't do anything now if we
have incomplete packs of different lengths.
PR c++/41038
* tree.c (build_qualified_name): Call convert_from_reference.
* pt.c (register_specialization): Push DECL_SOURCE_LOCATION to the
clones.
* decl.c (grok_special_member_properties): Only adjust
TYPE_HAS_COMPLEX_* if the function is defaulted in the class body.
(cp_finish_decl): Push DECL_DELETED_FN/DECL_DEFAULTED_FN to the
clones.
From-SVN: r152538
PR target/22093
* config/alpha/alpha.md (unaligned_storehi_be): Force operand
of plus RTX into register.
testsuite/ChangeLog:
PR target/22093
* gcc.target/alpha/pr22093.c: New test.
From-SVN: r152343
Fix PR debug/41065
gcc/ChangeLog:
PR debug/41065
* function.h (types_used_by_vars_hash): Declare new hash table.
(types_used_by_vars_eq, types_used_by_var_decl_insert): Declare
equality and hash function for the hash table.
(types_used_by_cur_var_decl): Declare a new global chained list.
(types_used_by_var_decl_insert): Declare new function.
* function.c (types_used_by_vars_hash): Define the hashtable ...
(types_used_by_vars_eq, types_used_by_vars_do_hash): ... as well as
its equality and hash functions.
(hash_types_used_by_vars_entry): New hash helper.
(types_used_by_cur_var_decl): Define the global chained list.
(used_types_insert): Update the list of types used by the global
variable being parsed.
(types_used_by_var_decl_insert): Define new function.
* c-common.h (record_types_used_by_current_var_decl): Declare ...
* c-common.c (record_types_used_by_current_var_decl): ... new
function.
* c-decl.c (finish_decl): Record the types used by the global
variable declaration we've just parsed.
* dwarf2out.c (premark_used_types): Insert a new line between
comment and function.
(premark_used_types_helper): Fix comment.
(premark_types_used_by_global_vars_helper,
premark_types_used_by_global_vars): New functions.
(prune_unused_types): Do not prune types used by global variables.
gcc/cp/ChangeLog:
PR debug/41065
* decl.c (cp_finish_decl): Record the types used by the global
variable declaration we've just parsed.
gcc/testsuite/ChangeLog:
PR debug/41065
* gcc.dg/debug/dwarf2/global-used-types.c: New test.
From-SVN: r152077
PR c/39779
* c-typeck.c (build_binary_op) <short_shift>: Check that integer
constant is more than zero.
testsuite/ChangeLog:
PR c/39779
* gcc.c-torture/compile/pr39779.c: New test.
From-SVN: r152064
2009-09-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
PR libgfortran/41328
* io/transfer.c (read_sf): Adjust fbuf position and do proper fbuf reads
to traverse CR, CR-LF, and LF style line ends.Set at_eof flag on short
read if any characters were successfully read so that EOF condition with
no EOR marker succeeds.
From-SVN: r151883
PR c/41049
* real.c decimal_from_integer, decimal_integer_string): New.
(real_from_integer): Use them as special case for decimal float.
* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
Do not append zero after the decimal point in string to convert.
* dfp/pr41049.c: New test.
From-SVN: r151857
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
conversions between original and packable version of types from
the expression.
From-SVN: r151758
2009-09-16 Richard Guenther <rguenther@suse.de>
Backport from mainline
2009-09-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41101
* tree-ssa-pre.c (maximal_set): Remove.
(compute_antic_aux): Treat the maximal set as implicitly all ones.
Defer all blocks we didn't visit at least one successor.
(add_to_exp_gen): Do not add to the maximal set.
(make_values_for_phi): Likewise.
(compute_avail): Likewise.
(init_pre): Do not allocate the maximal set.
(execute_pre): Do not dump it.
* gcc.c-torture/compile/pr41101.c: New testcase.
From-SVN: r151744
2009-09-13 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (i?86-*-mingw* andx86_64-*-mingw*): Set
need_64bit_hwint for x64 case to yes.
* config.host: Set for x86/x64 mingw the
option use_long_long_for_widest_fast_int to yes.
From-SVN: r151671
2009-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
Backport from mainline, r147279:
2009-05-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/39876
* intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if
the symbol is a module procedure.
2009-05-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/39876
* gfortran.dg/intrinsic_3.f90: New.
From-SVN: r151645
2009-09-09 Kai Tietz <kai.tietz@onevision.com>
PR/41315
* config/i386.c (ix86_can_use_return_insn_p): Check for
padding0, too.
(ix86_expand_prologue): Take frame.padding0 into logic of
to_allocate checks.
(ix86_expand_epilogue): Likewise.
From-SVN: r151569
Backport from mainline:
2009-08-27 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/40861
* simplify-rtx.c (simplify_subreg): Do not call simplify_gen_subreg to
extract word from a multi-word subreg for negative byte positions.
testsuite/ChangeLog:
Backport from mainline:
2009-08-27 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/40861
* gcc.dg/pr40861.c: New test.
From-SVN: r151489
2009-09-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41258
* primary.c (gfc_match_varspec): Do not look for typebound
procedures unless the derived type has a f2k_derived namespace.
2009-09-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41258
* gfortran.dg/typebound_proc_12.f90 : New test.
From-SVN: r151452
2008-08-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41062
* trans-decl.c (gfc_trans_use_stmts): Keep going through use
list if symbol is not use associated.
2008-08-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41062
* gfortran.dg/use_only_4.f90: New test.
From-SVN: r151092
2009-08-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41157
* dtime.c (dtime_sub): Fix computing time increment.
* time_1.h: Add <sys/types.h> header. Use RUSAGE_SELF macro instead
of a hardcoded 0.
From-SVN: r151073
2009-08-24 Richard Guenther <rguenther@suse.de>
PR middle-end/41094
* builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to
pow(x,y*z) only if x is nonnegative.
* gcc.dg/torture/pr41094.c: New testcase.
* gcc.dg/torture/builtin-power-1.c: Adjust.
* gcc.dg/builtins-10.c: Likewise.
From-SVN: r151051
2009-08-20 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (Z10_PREDICT_DISTANCE): New macro.
(s390_z10_fix_long_loop_prediction): New function.
(s390_z10_optimize_cmp): INSN walk moved to callee - s390_reorg.
(s390_reorg): Walk over the INSNs and invoke
s390_z10_fix_long_loop_prediction and s390_z10_optimize_cmp.
From-SVN: r150956
PR middle-end/41123
* expr.c (expand_expr_real_1) <normal_inner_ref>: Handle all kinds
of CONCAT, not just bitpos 0 bitsize size of the whole CONCAT.
* gcc.dg/pr41123.c: New test.
From-SVN: r150947
2009-08-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40847
* iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
character length for case where length expresson is NULL.
2009-08-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40847
* gfortran.dg/transfer_resolve_1.f90 : New test.
From-SVN: r150810
Backport from mainline:
2009-08-14 Uros Bizjak <ubizjak@gmail.com>
PR target/41019
* config/i386/sse.md (SSEMODE124C8): New mode iterator.
(vcond<SSEMODEF2P:mode>): Assert that operation is supported by
ix86_expand_fp_vcond.
(vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
Assert that operation is supported by ix86_expand_int_vcond.
(vcondu<SSEMODE124C8:mode>): Ditto.
testsuite/ChangeLog:
Backport from mainline:
2009-08-14 Uros Bizjak <ubizjak@gmail.com>
PR target/41019
* gcc.target/i386/pr41019.c: New test.
From-SVN: r150809
Fix for PR debug/37801
gcc/ChangeLog:
* gcc/dwarf2out.c (gen_inlined_subroutine_die): Concentrate on
generating inlined subroutine die only. We shouldn't be
called for anything else.
(gen_block_die): Don't generate inline subroutine debug info for
abstract blocks.
gcc/testsuite/ChangeLog:
* gcc/testsuite/gcc.dg/debug/20020224-1.c: Adjust the comment.
Make sure to trigger inlining optimizations.
* gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c: New test.
From-SVN: r150797
2009-07-28 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-07-30 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/40570
* gcc.c-torture/compile/pr40570.c: New test.
2009-07-29 Richard Guenther <rguenther@suse.de>
PR c++/40834
* g++.dg/torture/pr40834.C: New testcase.
From-SVN: r150487
2009-08-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40853
* io/list_read.c (nml_get_obj_data): Do not set nl
pointer to first_nl if nl->next is NULL.
From-SVN: r150476
2009-08-04 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/39987
* pt.c (tsubst_default_argument): Let access checks of the
default argument happen in the context of the current function.
gcc/testsuite/ChangeLog:
PR c++/39987
* g++.dg/overload/defarg4.C: New test.
From-SVN: r150468
PR c++/40948
* init.c (build_vec_init): Look through a TARGET_EXPR around a
CONSTRUCTOR.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r150395
2009-07-30 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/constraints.md (ZQ, ZR, ZS, ZT): New constraints.
(U, W): Constraints are now deprecated and will be removed if we
run out of letters.
* config/s390/s390.md (U, W): Replaced with ZQZR, ZSZT throughout
the file.
("prefetch"): Add the stcmh instruction for prefetching.
* config/s390/s390.c (s390_symref_operand_p): Function moved. No
changes.
(s390_short_displacement): Return always true if compiling for
machines not providing the long displacement facility.
(s390_mem_constraint): Support the new constraint letter Z.
(s390_check_qrst_address): New function.
From-SVN: r150258
2009-07-29 Tobias Burnus <burnus@net-b.de>
PR fortran/40851
* resolve.c (resolve_symbol): Do not initialize pointer
* derived-types.
* trans-decl.c (init_intent_out_dt): Ditto.
(generate_local_decl): No need to set attr.referenced for DT pointers.
2009-07-29 Tobias Burnus <burnus@net-b.de>
PR fortran/40851
* gfortran.dg/derived_init_3.f90: New test.
From-SVN: r150203
PR fortran/40878
* openmp.c (gfc_match_omp_clauses): Use gfc_error_now instead of
gfc_error to diagnose invalid COLLAPSE arguments.
* gfortran.dg/gomp/pr40878-1.f90: New test.
* gfortran.dg/gomp/pr40878-2.f90: New test.
From-SVN: r150167
* pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
Cast "1" to unsigned HOST_WIDE_INT.
(compute_zdepdi_operands): Limit maximum length to 64 bits. Limit
deposit length to the maximum length - lsb. Extend length if
HOST_BITS_PER_WIDE_INT is 32.
From-SVN: r150124
gcc/cp/
2009-07-26 Simon Martin <simartin@users.sourceforge.net>
PR c++/40749
* decl.c (grokdeclarator): Do not set TREE_NO_WARNING for functions
with a qualified return type.
gcc/testsuite/
2007-07-26 Simon Martin <simartin@users.sourceforge.net>
PR c++/40749
* g++.dg/warn/Wreturn-type-6.C: New test.
From-SVN: r150099
2009-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/40727
* fortran/check.c (gfc_check_cmplx, gfc_check_dcmplx): Add check that
the optional second argument isn't of COMPLEX type.
2009-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/40727
* gfortran.dg/intrinsic_cmplx.f90: New test.
From-SVN: r150036
PR target/40832
* config/i386/i386.c (output_387_ffreep): Rewrite to return
ASM_SHORT instead of .word.
* config/i386/i386.md (*tls_global_dynamic_64): Use ASM_SHORT
instead of .word in asm template.
From-SVN: r149995
Backport from mainline:
2009-07-15 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/40710
* resource.c (mark_target_live_regs): Reset DF problem to LR.
From-SVN: r149965
2009-07-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40321
* tree-ssa-pre.c (add_to_exp_gen): Also add names defined by
PHI nodes to the maximal set.
(make_values_for_phi): Add PHI arguments to the maximal set.
(execute_pre): Dump PHI_GEN and the maximal set.
* gcc.c-torture/compile/pr40321.c: New testcase.
* g++.dg/torture/pr40321.C: Likewise.
From-SVN: r149935
PR tree-optimization/40813
* tree-inline.c (copy_bb): Regimplify RHS after last stmt, not before
it.
* g++.dg/opt/inline15.C: New test.
From-SVN: r149858
2009-07-19 Janne Blomqvist <jb@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40714
* io/transfer.c (finalize_transfer): Set current_record to 0
before returning in case of error.
* io/open.c: Fix spelling in comment.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r149795
PR middle-end/40747
* fold-const.c (fold_cond_expr_with_comparison): When folding
< and <= to MIN, make sure the MIN uses the same type as the
comparison's operands.
* gcc.c-torture/execute/pr40747.c: New test.
From-SVN: r149681
* gcc.target/i386/sse-recip-vec.c: Move arrays out of test
function to enable vectorization.
* gcc.target/i386/sse2-lrint-vec.c: Ditto.
* gcc.target/i386/sse2-lrintf-vec.c: Ditto.
From-SVN: r149658
2009-07-14 Jack Howarth <howarth@bromo.med.uc.edu>
* testsuite/gcc.c-torture/compile/20000804-1.c: skip for ilp32 on
both i?86-*-darwin* and x86_64-*-darwin*.
From-SVN: r149633
PR rtl-optimization/40667
* defaults.h (MINIMUM_ALIGNMENT): Define if not defined.
* doc/tm.texi (MINIMUM_ALIGNMENT): Document it.
* config/i386/i386.h (MINIMUM_ALIGNMENT): Define.
* config/i386/i386.c (ix86_minimum_alignment): New function.
* config/i386/i386-protos.h (ix86_minimum_alignment): New prototype.
* cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT.
* emit-rtl.c (gen_reg_rtx): Likewise.
* function.c (assign_parms): Likewise. If nominal_type needs
bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment
rather than passed_type's alignment.
From-SVN: r149517
PR target/40668
* function.c (assign_parm_setup_stack): Adjust
MEM_OFFSET (data->stack_parm) if promoted_mode is different
from nominal_mode on big endian.
* gcc.c-torture/execute/pr40668.c: New test.
From-SVN: r149512
2009-07-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40440
* trans-expr.c (gfc_conv_procedure_call): Do not deallocate
allocatable components if the argument is a pointer.
2009-07-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40440
* gfortran.dg/alloc_comp_result_2.f90: New test.
From-SVN: r149431
PR middle-end/40669
* tree-tailcall.c (adjust_return_value_with_ops,
create_tailcall_accumulator): Set DECL_GIMPLE_REG_P on the temporary
if it has complex or vector type.
Backport from mainline:
2009-06-03 Richard Guenther <rguenther@suse.de>
PR middle-end/40328
* fold-const.c (fold_convert): Fold the build COMPLEX_EXPR.
* gcc.dg/pr40669.c: New test.
From-SVN: r149329
2009-07-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40551
* dependency.h : Add second bool* argument to prototype of
gfc_full_array_ref_p.
* dependency.c (gfc_full_array_ref_p): If second argument is
present, return true if last dimension of reference is an
element or has unity stride.
* trans-array.c : Add NULL second argument to references to
gfc_full_array_ref_p.
* trans-expr.c : The same, except for;
(gfc_trans_arrayfunc_assign): Return fail if lhs reference
is not a full array or a contiguous section.
2009-07-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40551
* gfortran.dg/func_assign_2.f90 : New test.
From-SVN: r149261
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): For integer
maxloc initialize limit to -huge-1 rather than just -huge.
* gfortran.dg/maxloc_1.f90: New test.
From-SVN: r149237
2009-07-04 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-07-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40640
* gcc.c-torture/compile/pr40640.c: New testcase.
From-SVN: r149231
2009-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/40638
* trans-io.c (set_parameter_value): Don't build un-necessary run-time
checks for units of KIND less than 4.
From-SVN: r149218
2009-07-03 Vladimir Makarov <vmakarov@redhat.com>
PR target/40587
* ira.c (build_insn_chain): Use DF_LR_OUT instead of
df_get_live_out.
* testsuite/gfortran.dg/pr40587.f: New test.
From-SVN: r149213
PR c++/40566
* convert.c (convert_to_integer) <case COND_EXPR>: Don't convert
to type arguments that have void type.
* g++.dg/parse/cond5.C: New test.
From-SVN: r149123
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
the type of the left operand if it pads a self-referential type when
the right operand is a constructor.
From-SVN: r149116
2009-06-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40443
* interface.c (gfc_search_interface): Hold back a match to an
elementary procedure until all other possibilities are
exhausted.
2009-06-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40443
* gfortran.dg/generic_18.f90: New test.
From-SVN: r149056
2009-06-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40579
* tree-vrp.c (vrp_evaluate_conditional): Bail out early if
the IL to simplify has constants that overflowed.
* gcc.c-torture/execute/pr40579.c: New testcase.
From-SVN: r149051
PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.
testsuite/ChangeLog:
PR tree-optimization/40550
* gcc.dg/pr40550.c: New test.
From-SVN: r149027
2009-06-27 Kai Tietz <kai.tietz@onevision.com>
Merged from trunk rev/148061
2009-06-01 Jakub Jelinek <jakub@redhat.com>
PR other/40024
* emutls.c (__emutls_get_address): Change arr->size to mean number
of allocated arr->data entries instead of # of slots + 1.
From-SVN: r149016
2009-06-22 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-06-22 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/40492
* g++.dg/torture/pr40492.C: New test.
From-SVN: r148797
2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40497
* include/bits/stl_iterator_base_funcs.h (next, prev): Fix the
signature per the current C++1x draft (N2857).
* testsuite/24_iterators/operations/40497.cc: Add.
From-SVN: r148752
2009-06-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39800
* resolve.c (is_sym_host_assoc): New function.
(resolve_fl_derived): Call it when checking PRIVATE components
of PUBLIC derived types. Change gfc_error to a gfc_notify_std
with std=f2003.
(resolve_fl_namelist): Call it twice to check for host
association.
2009-06-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39800
* gfortran.dg/private_type_13.f90: New test.
* gfortran.dg/private_type_2.f90: Add option -std=f95.
From-SVN: r148741
2009-06-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40402
* resolve.c (next_data_value): It is an error if the value is
not constant.
2009-06-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40402
* gfortran.dg/data_value_1.f90: New test.
From-SVN: r148732
* system-aix64.ads: New file.
* gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
64bit system.ads for ppc64 multilib variants.
From-SVN: r148660
2009-06-17 Richard Guenther <rguenther@suse.de>
PR middle-end/40460
* tree-chrec.h (build_polynomial_chrec): If we cannot determine
if there is no evolution of left in the loop bail out.
* tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
chrec_fold_multiply.
* g++.dg/torture/pr40460.C: New testcase.
From-SVN: r148602
2009-06-17 Richard Guenther <rguenther@suse.de>
PR middle-end/40389
* tree-ssa-operands.c (parse_ssa_operands): Add NRV results
to the addresses taken bitmap.
* g++.dg/torture/pr40389.C: New testcase.
From-SVN: r148601
2009-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
* libsupc++/exception_ptr.h (exception_ptr::swap(exception_ptr&&)):
Remove.
(exception_ptr::operator=(exception_ptr&&)): Cast source to
rvalue-reference so that move constructor is called.
* testsuite/18_support/exception_ptr/move.cc: New.
From-SVN: r148556
2009-06-14 Richard Guenther <rguenther@suse.de>
Backport from mainline
2009-05-18 Richard Guenther <rguenther@suse.de>
PR fortran/40168
* trans-expr.c (gfc_trans_zero_assign): For local array
destinations use an assignment from an empty constructor.
* gfortran.dg/array_memset_2.f90: Adjust.
From-SVN: r148469
2009-06-11 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-06-10 H.J. Lu <hongjiu.lu@intel.com>
* doc/extend.texi: Add description for __builtin_ia32_crc32di.
From-SVN: r148398
2009-06-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40334
* io/list_read.c (list_formatted_read_scalar): Set the end file
conditions after a return from EOF error.
From-SVN: r148303
PR c++/40373
* call.c (check_dtor_name): Return false even if
get_type_value (name) is error_mark_node.
* g++.dg/template/dtor7.C: New test.
From-SVN: r148283
PR c++/40370
PR c++/40372
* parser.c (cp_parser_direct_declarator): Don't set TREE_SIDE_EFFECTS
on error_mark_node. Check for VLAs outside of function context
before check whether to wrap bounds into a NOP_EXPR with
TREE_SIDE_EFFECTS.
* g++.dg/template/error41.C: New test.
* g++.dg/template/error42.C: New test.
From-SVN: r148281
2009-06-07 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-06-03 Richard Guenther <rguenther@suse.de>
PR middle-end/40328
* gcc.dg/torture/pr40328.c: New testcase.
From-SVN: r148248
PR middle-end/40340
* tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
inlined_function_outer_scope_p blocks for artificial inlines
even at -g0/-g1.
* tree.c (tree_nonartificial_location): Rewrite using
block_nonartificial_location.
* gcc.dg/pr40340-1.c: New test.
* gcc.dg/pr40340-2.c: New test.
* gcc.dg/pr40340-3.c: New test.
* gcc.dg/pr40340-4.c: New test.
* gcc.dg/pr40340-5.c: New test.
* gcc.dg/pr40340.h: New file.
From-SVN: r148214
Merged r146816 from trunk into 4.4 branch. Specifically,
2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/39893
* gfortran.dg/assumed_charlen_dummy.f90: New Test.
2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/39893
fortran/data.c (gfc_assign_data_value): If the lvalue is an
assumed character length entity in a data statement, then
return FAILURE to prevent segmentation fault.
From-SVN: r148176
2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/40019
* trans-types.c (gfc_build_uint_type): Make nonstatic.
* trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New
* prototypes.
* trans-types.h (gfc_build_uint_type): Add prototype.
* trans-decl.c (gfc_build_intrinsic_function_decls): Build
gfor_fndecl_clz128 and gfor_fndecl_ctz128.
* trans-intrinsic.c (gfc_conv_intrinsic_leadz,
gfc_conv_intrinsic_trailz): Call the right builtins or library
functions, and cast arguments to unsigned types first.
* simplify.c (gfc_simplify_leadz): Deal with negative arguments.
2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/40019
* intrinsics/bit_intrinsics.c: New file.
* gfortran.map (GFORTRAN_1.2): New list.
* Makefile.am: Add intrinsics/bit_intrinsics.c.
* Makefile.in: Regenerate.
2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/40019
* gfortran.dg/leadz_trailz_1.f90: New test.
* gfortran.dg/leadz_trailz_2.f90: New test.
-- Diese und die folgenden Zeilen werden ignoriert --
M libgfortran/Makefile.in
A libgfortran/intrinsics/bit_intrinsics.c
M libgfortran/ChangeLog
M libgfortran/gfortran.map
M libgfortran/Makefile.am
M gcc/testsuite/ChangeLog
A gcc/testsuite/gfortran.dg/leadz_trailz_2.f90
A gcc/testsuite/gfortran.dg/leadz_trailz_1.f90
M gcc/fortran/ChangeLog
M gcc/fortran/trans-types.c
M gcc/fortran/trans.h
M gcc/fortran/trans-types.h
M gcc/fortran/trans-decl.c
M gcc/fortran/trans-intrinsic.c
M gcc/fortran/simplify.c
From-SVN: r148143
PR c++/40308
PR c++/40311
* typeck.c (cp_build_modify_expr): Always pass init-lists to the
conversion code.
* call.c (implicit_conversion): Allow init-list conversion to scalar
during direct-initialization, too. Mark the conversion bad if it
has too many levels of braces.
(convert_like_real): And give a helpful error.
PR c++/40306
PR c++/40307
* decl.c (cp_finish_decl): Handle auto deduction from ().
* typeck.c (build_x_indirect_ref): Handle dereferencing an operand
with dependent type that is known to be a pointer.
* call.c (implicit_conversion): Handle conversion from
initializer-list to scalar.
(convert_like_real): Likewise. Avoid crashing on list
initialization with bad conversions.
From-SVN: r148141
Backport from mainline:
2009-05-31 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.md (ashldi3_std): New define_expand.
(ashldi3): Use it.
From-SVN: r148106
* dwarf2out.c (dwarf2out_cfi_label): Add FORCE argument, if true,
force output of the label even for dwarf2out_do_cfi_asm.
(add_fde_cfi): If -g2 and above and cfi might change CFA,
force creation of CFI label and chain DW_CFA_set_loc jumping to it
for convert_cfa_to_fb_loc_list. Adjust other dwarf2out_cfi_label
caller.
(dwarf2out_stack_adjust, dwarf2out_frame_debug,
dwarf2out_begin_epilogue, dwarf2out_frame_debug_restore_state): Adjust
dwarf2out_cfi_label callers.
* tree.h (dwarf2out_cfi_label): Adjust prototype.
* config/arm/arm.c (thumb_pushpop, thumb1_output_function_prologue):
Adjust dwarf2out_cfi_label callers.
* config/vax/vax.c (vax_output_function_prologue): Likewise.
From-SVN: r148070
PR middle-end/40291
* builtins.c (expand_builtin_memcmp): Convert len to sizetype
before expansion.
* gcc.c-torture/compile/pr40291.c: New test.
From-SVN: r147979
2009-05-27 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-05-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/40266
* config/i386/driver-i386.c (host_detect_local_cpu): Support
AVX, SSE4, AES, PCLMUL and POPCNT.
From-SVN: r147914
2009-05-27 Kai TIetz <kai.tietz@onevision.com>
* g++.old-deja/g++.brendan/array1.C (array): Use __SIZE_TYPE__
cast instead of assuming 0ul.
* g++.old-deja/g++.brendan/crash64.C (size_t): Define it via
__SIZE_TYPE__.
(_type_desc): Make first argument const.
* g++.old-deja/g++.jason/new3.C (dg-options): Add -Wno-long-long.
From-SVN: r147897
2009-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
PR libfortran/37754
* io/write_float.def: Simplify format calculation.
2009-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Backport from mainline:
PR fortran/22423
* io/transfer.c (read_block_direct): Avoid warning.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
PR libfortran/39667
* io/file_pos.c (st_rewind): Don't truncate or flush.
* io/intrinsics.c (fgetc): Flush if switching mode.
(fputc): Likewise.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
PR libfortran/39782
* io/transfer.c (data_transfer_init): Don't flush before seek.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
* io/io.h (is_preconnected): Remove prototype.
* io/unix.c (is_preconnected): Remove function.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
PR libfortran/38668
* io/transfer.c (finalize_transfer): Don't flush for advance='no'.
2009-05-23 Danny Smith <dannysmith@clear.net.nz>
Backport from mainline:
* io/write.c (itoa) : Rename back to gfc_itoa.
(write_i): Adjust call to write_decimal.
(write_integer): Use gfc_itoa.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
* io/io.h (move_pos_offset): Remove prototype.
* io/transfer.c (formatted_transfer_scalar_read): Use sseek
instead of move_pos_offset.
* io/unix.c (move_pos_offset): Remove.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
PR libfortran/39665 libfortran/39702 libfortran/39709
* io/io.h (st_parameter_dt): Revert aligned attribute from u.p.value.
* io/list_read.c (read_complex): Read directly into user pointer.
(read_real): Likewise.
(list_formatted_read_scalar): Update read_complex and read_real calls.
(nml_read_obj): Read directly into user pointer.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
PR libfortran/39665
* io/io.h (st_parameter_dt): Add aligned attribute to u.p.value.
* io/read.c (convert_real): Add note about alignment requirements.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
* io/open.c (already_open): Test for POSIX close return value.
* io/unit.c (close_unit_1): Likewise.
* io/unix.c (raw_close): Return 0 for success for preconnected units.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
* runtime/error.c (gfc_itoa): Move to io/write.c
(xtoa): Rename to gfc_xtoa.
* runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
* libgfortran.h (gfc_itoa): Remove prototype.
(xtoa): Rename prototype to gfc_xtoa.
* io/list_read.c (nml_read_obj): Use size_t for string length.
* io/transfer.c (read_block_direct): Change nbytes arg from
pointer to value.
(unformatted_read): Minor cleanup, call read_block_directly properly.
(skip_record): Use ssize_t.
(next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
(iolength_transfer): Make sure to multiply before cast.
* io/intrinsics.c (fgetc): Remove unnecessary variable.
* io/format.c (format_hash): Use gfc_charlen_type.
* io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
make static.
(write_i): Call with pointer to itoa.
(write_z): Call with pointer to gfc_xtoa.
(write_integer): Pointer to itoa.
(nml_write_obj): Type cleanup, don't call strlen in loop.
2009-05-23 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
PR libgfortran/39664
* io/unix.c (raw_close): Don't close STDOUT_FILENO,
STDERR_FILENO nor STDIN_FILENO.
2009-05-23 David Edelsohn <edelsohn@gnu.org>
Backport from mainline:
* io/io.h (struct stream): Rename truncate to trunc.
(struncate): Same.
* io/unix.c (raw_init): Rename truncate to trunc.
(buf_init): Same.
(open_internal): Same.
2009-05-23 Daniel Kraft <d@domob.eu>
Backport from mainline:
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-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
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-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
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 write,
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.
2009-05-23 Janne Blomqvist <jb@gcc.gnu.org>
Backport from mainline:
PR libfortran/25561 libfortran/37754
* io/io.h (struct stream): Define new stream interface function
pointers, and inline functions for accessing it.
(struct fbuf): Use int instead of size_t, remove flushed element.
(mem_alloc_w): New prototype.
(mem_alloc_r): New prototype.
(stream_at_bof): Remove prototype.
(stream_at_eof): Remove prototype.
(file_position): Remove prototype.
(flush): Remove prototype.
(stream_offset): Remove prototype.
(unit_truncate): New prototype.
(read_block_form): Change to return pointer, int* argument.
(hit_eof): New prototype.
(fbuf_init): Change prototype.
(fbuf_reset): Change prototype.
(fbuf_alloc): Change prototype.
(fbuf_flush): Change prototype.
(fbuf_seek): Change prototype.
(fbuf_read): New prototype.
(fbuf_getc_refill): New prototype.
(fbuf_getc): New inline function.
* io/fbuf.c (fbuf_init): Use int, get rid of flushed.
(fbuf_debug): New function.
(fbuf_reset): Flush, and return position offset.
(fbuf_alloc): Simplify, don't flush, just realloc.
(fbuf_flush): Make usable for read mode, salvage remaining bytes.
(fbuf_seek): New whence argument.
(fbuf_read): New function.
(fbuf_getc_refill): New function.
* io/file_pos.c (formatted_backspace): Use new stream interface.
(unformatted_backspace): Likewise.
(st_backspace): Make sure format buffer is reset, use new stream
interface, use unit_truncate.
(st_endfile): Likewise.
(st_rewind): Likewise.
* io/intrinsics.c: Use new stream interface.
* io/list_read.c (push_char): Don't use u.p.scratch, use realloc
to resize.
(free_saved): Don't check u.p.scratch.
(next_char): Use new stream interface, use fbuf_getc() for external files.
(finish_list_read): flush format buffer.
(nml_query): Update to use modified interface:s
* io/open.c (test_endfile): Use new stream interface.
(edit_modes): Likewise.
(new_unit): Likewise, set bytes_left to 1 for stream files.
* io/read.c (read_l): Use new read_block_form interface.
(read_utf8): Likewise.
(read_utf8_char1): Likewise.
(read_default_char1): Likewise.
(read_utf8_char4): Likewise.
(read_default_char4): Likewise.
(read_a): Likewise.
(read_a_char4): Likewise.
(read_decimal): Likewise.
(read_radix): Likewise.
(read_f): Likewise.
* io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
usage of u.p.line_buffer.
(read_block_form): Update interface to return pointer, use
fbuf_read for direct access.
(read_block_direct): Update to new stream interface.
(write_block): Use mem_alloc_w for internal I/O.
(write_buf): Update to new stream interface.
(formatted_transfer_scalar): Don't use u.p.line_buffer, use
fbuf_seek for external files.
(us_read): Update to new stream interface.
(us_write): Likewise.
(data_transfer_init): Always check if we switch modes and flush.
(skip_record): Use new stream interface, fix comparison.
(next_record_r): Check for and reset u.p.at_eof, use new stream
interface, use fbuf_getc for spacing.
(write_us_marker): Update to new stream interface, don't inline.
(next_record_w_unf): Likewise.
(sset): New function.
(next_record_w): Use new stream interface, use fbuf for printing
newline.
(next_record): Use new stream interface.
(finalize_transfer): Remove sfree call, use new stream interface.
(st_iolength_done): Don't use u.p.scratch.
(st_read): Don't check for end of file.
(st_read_done): Don't use u.p.scratch, use unit_truncate.
(hit_eof): New function.
* io/unit.c (init_units): Always init fbuf for formatted units.
(update_position): Use new stream interface.
(unit_truncate): New function.
(finish_last_advance_record): Use fbuf to print newline.
* io/unix.c: Remove unused SSIZE_MAX macro.
(BUFFER_SIZE): Make static const variable rather than macro.
(struct unix_stream): Remove dirty_offset, len, method,
small_buffer. Order elements by decreasing size.
(struct int_stream): Remove.
(move_pos_offset): Remove usage of dirty_offset.
(reset_stream): Remove.
(do_read): Rename to raw_read, update to match new stream
interface.
(do_write): Rename to raw_write, update to new stream interface.
(raw_seek): New function.
(raw_tell): New function.
(raw_truncate): New function.
(raw_close): New function.
(raw_flush): New function.
(raw_init): New function.
(fd_alloc): Remove.
(fd_alloc_r_at): Remove.
(fd_alloc_w_at): Remove.
(fd_sfree): Remove.
(fd_seek): Remove.
(fd_truncate): Remove.
(fd_sset): Remove.
(fd_read): Remove.
(fd_write): Remove.
(fd_close): Remove.
(fd_open): Remove.
(fd_flush): Rename to buf_flush, update to new stream interface
and unix_stream.
(buf_read): New function.
(buf_write): New function.
(buf_seek): New function.
(buf_tell): New function.
(buf_truncate): New function.
(buf_close): New function.
(buf_init): New function.
(mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
(mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
(mem_read): Change to match new stream interface.
(mem_write): Likewise.
(mem_seek): Likewise.
(mem_tell): Likewise.
(mem_truncate): Likewise.
(mem_close): Likewise.
(mem_flush): New function.
(mem_sfree): Remove.
(empty_internal_buffer): Cast to correct type.
(open_internal): Use correct type, init function pointers.
(fd_to_stream): Test whether to open file as buffered or raw.
(output_stream): Remove mode set.
(error_stream): Likewise.
(flush_all_units_1): Use new stream interface.
(flush_all_units): Likewise.
(stream_at_bof): Remove.
(stream_at_eof): Remove.
(file_position): Remove.
(file_length): Update logic to use stream interface.
(flush): Remove.
(stream_offset): Remove.
* io/write.c (write_utf8_char4): Use int instead of size_t.
(write_x): Extra safety check.
(namelist_write_newline): Use new stream interface.
From-SVN: r147887
* doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
Remove outdated reference to flow.c and fix nits.
* doc/gccint.texi: Tweak RTL description.
* doc/rtl.texi: Likewise.
From-SVN: r147822
PR tree-optimization/40087
* tree-ssa-loop-niter.c (number_of_iterations_ne_max,
number_of_iterations_ne): Rename never_infinite argument.
(number_of_iterations_lt_to_ne, number_of_iterations_lt,
number_of_iterations_le): Handle pointer-type ivs when
exit_must_be_taken is false.
(number_of_iterations_cond): Do not always assume that
exit_must_be_taken if the control variable is a pointer.
* gcc.dg/tree-ssa/pr40087.c: New test.
From-SVN: r147806
PR rtl-optimization/40105
Backport from mainline:
2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
Steven Bosscher <steven@gcc.gnu.org>
* Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H).
* cfgrtl.c: Include insn-attr.h.
(rest_of_pass_free_cfg): New function.
(pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
2009-04-27 Richard Sandiford <rdsandiford@googlemail.com>
Eric Botcazou <ebotcazou@adacore.com>
* resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
a label's basic block.
(mark_target_live_regs): Tidy and rework obsolete comments.
Change back DF problem to LIVE. If a label starts a basic block,
assume that all registers that used to be live then still are.
(init_resource_info): If a label starts a basic block, set its
BLOCK_FOR_INSN accordingly.
(free_resource_info): Undo the setting of BLOCK_FOR_INSN.
From-SVN: r147780
2009-05-21 David Billinghurst <billingd@gcc.gnu.org>
Backport from mainline:
PR libstdc++/36211
* testsuite/lib/libstdc++.exp(v3_target_compile): Add
cxxldflags to additional_flags rather than cxx_final.
From-SVN: r147762
PR middle-end/40204
* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
recursion if build_int_cst_type returns the same INTEGER_CST as
arg1.
* gcc.c-torture/compile/pr40204.c: New test.
From-SVN: r147750
2009-05-19 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do
not falsely claim to have propagated into all uses.
* gcc.c-torture/compile/20090519-1.c: New testcase.
From-SVN: r147703
gcc/ChangeLog:
PR debug/40109
* dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
child of the containing namespace's DIE.
gcc/testsuite/ChangeLog:
PR debug/40109
* g++.dg/debug/dwarf2/nested-1.C: New test.
From-SVN: r147675
2009-05-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39999
* gimple.h (gimple_expr_type): Use the expression type looking
through useless conversions.
* tree-ssa-sccvn.c (vn_nary_op_lookup_stmt): Use gimple_expr_type.
(vn_nary_op_insert_stmt): Likewise.
(simplify_binary_expression): Likewise.
* gcc.c-torture/compile/pr39999.c: New testcase.
From-SVN: r147657
PR target/37179
* config/i386/driver-i386.c (processor_signatures): New enum.
(SIG_GEODE): Move from vendor_signatures to processor_signatures.
(host_detect_local_cpu): For SIG_AMD vendor, check for SIG_GEODE
processor signature to detect geode processor.
From-SVN: r147469
PR middle-end/39666
* gimplify.c (gimplify_switch_expr): If case labels cover the whole
range of the type, but default label is missing, add it with one
of the existing labels instead of adding a new label for it.
* gcc.dg/pr39666-1.c: New test.
* gcc.dg/pr39666-2.c: Likewise.
* g++.dg/warn/Wuninitialized-4.C: Likewise.
* g++.dg/warn/Wuninitialized-5.C: Likewise.
* gfortran.dg/pr39666-1.f90: Likewise.
* gfortran.dg/pr39666-2.f90: Likewise.
From-SVN: r147440
2009-05-12 Johannes Singler <singler@ira.uka.de>
PR libstdc++/39546
* include/parallel/algo.h (find_switch):
Parametrize binder2nd with const T& instead of T.
* testsuite/25_algorithms/find/39546.cc: new test case
From-SVN: r147439
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
* tree-vect-analyze.c (vect_analyze_group_access): Use
HOST_WIDE_INT for gap.
From-SVN: r147376
PR tree-optimization/40074
* tree-vect-analyze.c (vect_analyze_group_access): Take gaps into
account in group size and step comparison.
From-SVN: r147370
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40018
* trans-array.c (gfc_trans_array_constructor_value): Fold
convert numeric constants.
(gfc_build_constant_array_constructor): The same.
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40018
* gfortran.dg/array_constructor_31.f90: New test.
From-SVN: r147347
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38863
* trans-expr.c (gfc_conv_operator_assign): Remove function.
* trans.h : Remove prototype for gfc_conv_operator_assign.
* trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
derivde types with intent(out).
(gfc_trans_call): Add mask, count1 and invert arguments. Add
code to use mask for WHERE assignments.
(gfc_trans_forall_1): Use new arguments for gfc_trans_call.
(gfc_trans_where_assign): The gfc_symbol argument is replaced
by the corresponding code. If this has a resolved_sym, then
gfc_trans_call is called. The call to gfc_conv_operator_assign
is removed.
(gfc_trans_where_2): Change the last argument in the call to
gfc_trans_where_assign.
* trans-stmt.h : Modify prototype for gfc_trans_call.
* trans.c (gfc_trans_code): Use new args for gfc_trans_call.
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38863
* gfortran.dg/dependency_24.f90: New test.
From-SVN: r147345
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39879
* trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
type parentheses argument if it is a variable with allocatable
components.
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39879
* gfortran.dg/alloc_comp_assign_10.f90: New test.
From-SVN: r147336
PR middle-end/40057
* dojump.c (prefer_and_bit_test): Use immed_double_const instead of
GEN_INT for 1 << bitnum.
(do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of
build_int_cst_type.
* gcc.c-torture/execute/pr40057.c: New test.
From-SVN: r147242
2009-05-06 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/17395
* pt.c (tsubst_copy) <case PARM_DECL>: We don't want to tsubst the
whole list of PARM_DECLs, just the current one.
gcc/testsuite/ChangeLog:
PR c++/17395
* g++.dg/template/call7.C: New test.
From-SVN: r147202
2009-05-06 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-05-06 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (*avx_<code><mode>3_finite): Replace
ssemodesuffixf2c with avxmodesuffixf2c.
From-SVN: r147176
2009-05-06 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2009-05-03 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
possible.
* configure: Regenerate.
From-SVN: r147155
2009-05-05 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/39909
* include/std/mutex (__get_once_functor_lock, __get_once_mutex,
__set_once_functor_lock_ptr): Replace global lock object with local
locks on global mutex.
* src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
__set_once_functor_lock_ptr): Likewise, keeping old function to
preserve ABI.
(__once_proxy): Use pointer to local lock if set, global lock
otherwise.
* config/abi/pre/gnu.ver: Add new symbols to new ABI version.
* testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
* testsuite/30_threads/call_once/39909.cc: New.
From-SVN: r147138
2009-05-05 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
possible.
* configure: Regenerate.
From-SVN: r147123
PR c++/40013
* pt.c (tsubst): If magic NOP_EXPR with side-effects has no type,
set it from its operand's type after tsubst_expr.
* g++.dg/ext/vla7.C: New test.
From-SVN: r147120
Backport from mainline:
2009-04-28 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/39914
* ira-conflicts.c (ira_build_conflicts): Prohibit call used
registers for allocnos created from user-defined variables only
when not optimizing.
From-SVN: r147081
2009-04-29 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-29 Richard Guenther <rguenther@suse.de>
PR middle-end/39937
* gcc.c-torture/compile/pr39937.c: New testcase.
From-SVN: r146981
2009-04-29 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39941
* gcc.c-torture/compile/pr39941.c: New testcase.
2009-04-29 Anmol P. Paralkar <anmol@freescale.com>
PR target/39565
* gcc.dg/pr39565.c: New testcase.
2009-04-28 Richard Guenther <rguenther@suse.de>
PR middle-end/39937
* gfortran.fortran-torture/compile/pr39937.f: New testcase.
From-SVN: r146972
PR testsuite/39807
* dg-extract-results.sh: Close open files and use >> instead of >
to decrease number of concurrently open files from awk. Avoid
= at the beginning of a regexp and redirect to a file determined
by curfile variable rather than concatenated strings to workaround
Solaris nawk bug.
From-SVN: r146851
PR inline-asm/39543
* fwprop.c (forward_propagate_asm): New function.
(forward_propagate_and_simplify): Propagate also into __asm, if it
doesn't increase the number of referenced registers.
* gcc.target/i386/pr39543-1.c: New test.
* gcc.target/i386/pr39543-2.c: New test.
* gcc.target/i386/pr39543-3.c: New test.
From-SVN: r146814
2009-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
Replace global lock object with local locks on global mutex.
* src/mutex.cc: Likewise.
* config/abi/pre/gnu.ver: Adjust.
* testsuite/30_threads/call_once/call_once2.cc: New.
From-SVN: r146786
2009-04-24 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/39867
* fold-const.c (fold_cond_expr_with_comparison): When folding
> and >= to MAX, make sure the MAX uses the same type as the
comparison's operands.
testsuite:
2009-04-24 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/39867
* gcc.dg/pr39867.c: New.
From-SVN: r146702
* config/spu/spu-builtins.h: Delete file.
* config/spu/spu.h (enum spu_builtin_type): Move here from
spu-builtins.h.
(struct spu_builtin_description): Likewise. Add GTY marker.
Do not use enum spu_function_code or enum insn_code.
(spu_builtins): Add extern declaration.
* config/spu/spu.c: Do not include "spu-builtins.h".
(enum spu_function_code, enum spu_builtin_type_index,
V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
unsigned_V8HI_type_node, unsigned_V4SI_type_node,
unsigned_V2DI_type_node): Move here from spu-builtins.h.
(spu_builtin_types): Make static. Add GTY marker.
(spu_builtins): Add extern declaration with GTY marker.
Include "gt-spu.h".
* config/spu/spu-c.c: Do not include "spu-builtins.h".
(spu_resolve_overloaded_builtin): Do not use spu_function_code.
Check programmatically whether all parameters are scalar.
* config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
From-SVN: r146661
2009-04-23 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/38228
* pt.c (unify): Do not allow the result of a template argument
deduction to be a METHOD_TYPE.
* cvt.c (cp_convert): Report a meaningful error for non-valid use
of pointer to member functions during conversions.
* call.c (build_new_op): Report a meaningful error for non-valid
use of pointer to member functions in binary expressions.
* typeck.c (invalid_nonstatic_memfn_p): Do not crash when EXPR is
NULL;
gcc/testsuite/ChangeLog:
PR c++/38228
* g++.dg/expr/bound-mem-fun.C: New test.
From-SVN: r146645
* gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
type is an enumeral or a boolean type, change it to an integer type
with the same mode and signedness.
From-SVN: r146626
PR c/39855
* fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
into 0, use omit_one_operand.
* gcc.dg/torture/pr39855.c: New test.
From-SVN: r146622
2009-04-22 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/39762
* ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
ira_may_move_out_cost): Add comments about way of their usage.
(ira_get_register_move_cost, ira_get_may_move_cost): New functions.
* ira-conflicts.c (process_regs_for_copy): Use function
ira_get_register_move_cost instead of global
ira_register_move_cost.
* ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
color_pass, move_spill_restore, update_curr_costs): Ditto.
* ira-lives.c (process_single_reg_class_operands): Ditto.
* ira-emit.c (emit_move_list): Ditto.
* ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
(record_reg_classes): Ditto. Use functions
ira_get_register_move_cost and ira_get_may_move_cost instead of
global vars ira_register_move_cost, ira_may_move_out_cost and
ira_may_move_in_cost.
(record_address_regs): Don't call ira_init_register_move_cost.
Use function ira_get_may_move_cost instead of global
ira_may_move_in_cost.
(process_bb_node_for_hard_reg_moves): Use function
ira_get_register_move_cost instead of global ira_register_move_cost.
(ira_costs): Don't call ira_init_register_move_cost.
From-SVN: r146612
2009-04-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39824
* tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
make sure the types are compatible.
* gcc.c-torture/compile/pr39824.c: New testcase.
From-SVN: r146611
2009-04-22 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/39639
* parser.c (cp_parser_template_argument_list): Display an error
when an ellipsis is not preceded by a parameter pack. Also, warn
about variadic templates usage without -std=c++0x.
gcc/testsuite/ChangeLog:
PR c++/39639
* g++.dg/cpp0x/pr39639.C: New test.
From-SVN: r146609
2009-04-22 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39845
* gcc.c-torture/compile/pr39845.c: New testcase.
2009-04-21 Richard Guenther <rguenther@suse.de>
PR middle-end/39829
* gcc.dg/torture/pr39829.c: New testcase.
From-SVN: r146579
Backport from mainline:
2009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
family of intrinsics instead of BUILT_IN_INF family.
* trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
From-SVN: r146572
PR tree-optimization/39675
* tree-vect-transform.c (vect_transform_loop): Remove currently
redundant check of the return code of vect_schedule_slp. Check that
stmt_vec_info still exists for the statement, before checking its
vectorization type.
From-SVN: r146365
2009-04-18 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-18 Richard Guenther <rguenther@suse.de>
PR middle-end/39804
* gcc.target/i386/pr39804.c: New testcase.
From-SVN: r146315
gcc/
* config.gcc: Add soft-fp/t-softfp and i386/t-linux to tmake_file
for i[34567]86-*-kfreebsd*-gnu*, x86_64-*-kfreebsd*-gnu*.
libgcc/
* config.host: Add i386/${host_address}/t-fprules-softfp to
tmake_file for i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu*.
From-SVN: r146249
2009-04-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39764
* tree-ssa-ccp.c (get_value): Canonicalize value with
canonicalize_float_value.
* g++.dg/torture/pr39764.C: New testcase.
From-SVN: r146157
* configure.ac: Change copyright header to refer to version
3 of the GNU General Public License and to point readers at the
COPYING3 file and the FSF's license web page.
* Makefile.def: Likewise.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
From-SVN: r146024
2009-04-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39713
* tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
reference trees have SSA_NAME operands.
* g++.dg/torture/pr39713.C: New testcase.
From-SVN: r145952
gcc/cp/
2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-10 Jason Merrill <jason@redhat.com>
PR c++/28301
* parser.c (cp_parser_skip_to_end_of_block_or_statement): Return
if we see a close brace without an open brace.
gcc/testsuite/
2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
PR c++/28301
* g++.dg/cpp0x/enum2.C: Updated.
* g++.dg/debug/pr22514.C: Likewise.
* g++.dg/parse/enum2.C: Likewise.
* g++.dg/parse/enum3.C: Likewise.
* g++.dg/template/crash79.C: Likewise.
* g++.old-deja/g++.jason/cond.C: Likewise.
* g++.dg/template/pr28301.C: New.
From-SVN: r145938
2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-10 H.J. Lu <hongjiu.lu@intel.com>
* config/rs6000/darwin-vecsave.asm: Remove extra "*/".
From-SVN: r145904
2009-04-09 Jack Howarth <howarth@bromo.med.uc.edu>
* configure.host: Restore match for darwin9 or later.
* configure.ac: Likewise.
* configure: Regenerate.
From-SVN: r145863
2009-04-09 Jack Howarth <howarth@bromo.med.uc.edu>
* configure.ac: Restore match for darwin9 or later. Use double
brackets since regeneration eats one pair.
* configure: Regenerate.
From-SVN: r145862
gcc/
2009-04-08 David Ayers <ayers@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.
gcc/testsuite/
2009-04-02 David Ayers <ayers@fsfe.org>
PR objc/27377
* objc.dg/conditional-1.m: New tests.
From-SVN: r145718
PR c++/35146
* pt.c (fn_type_unification): For DEDUCE_EXACT check that
the deduced template arguments give us the parameter types
we're looking for.
From-SVN: r145634
C++ DR 613
* semantics.c (finish_non_static_data_member): Allow such references
without an associated object in sizeof/decltype/alignof.
From-SVN: r145620
2009-04-05 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39648
* gcc.c-torture/compile/pr39648.c: New testcase.
From-SVN: r145574
2009-04-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39519
* parse.c (parse_derived): Do not break on finding pointer,
allocatable or private components.
2009-04-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/39519
* gfortran.dg/alloc_comp_assign_9.f90: New test.
From-SVN: r145538
PR target/39501
* arm.md (movsfcc): Disable if not TARGET_HARD_FLOAT.
* testsuite/gcc.c-torture/execute/pr39501.c: New file.
* testsuite/gcc.c-torture/execute/pr39501.x: New file.
From-SVN: r145537
* unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value.
* unwind-dw2.c (execute_cfa_program): Set how to REG_UNDEFINED
instead of REG_UNSAVED for DW_CFA_undefined.
(uw_update_context_1): Handle REG_UNDEFINED the same as REG_UNSAVED.
(uw_update_context): If RA column is REG_UNDEFINED, mark it as
outermost frame.
From-SVN: r145536
2009-04-03 Tobias Burnus <burnus@net-b.de>
PR fortran/39594
* resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
if it is not a procedure pointer.
* primary.c (match_actual_arg): Ditto.
2009-04-03 Tobias Burnus <burnus@net-b.de>
PR fortran/39594
* gfortran.dg/common_12.f90: New.
From-SVN: r145519
PR c++/39608
* semantics.c (finish_id_expression): Don't assume a dependent
member of the current instantiation isn't a valid integral
constant expression. Check dependent_scope_p.
* pt.c (dependent_scope_p): Check TYPE_P.
(tsubst_copy): If args is null, just return.
From-SVN: r145509
* mangle.c (write_expression): Mangle dependent name as
source-name.
PR c++/38030, 38850, 39070
* pt.c (type_dependent_expression_p_push): New fn.
(tsubst_copy_and_build) [CALL_EXPR]: Only do arg-dep lookup when the
substitution makes the call non-dependent. Preserve koenig_p.
* parser.c (cp_parser_postfix_expression): Only do arg-dep lookup
for non-dependent calls.
* semantics.c (finish_call_expr): Revert earlier changes.
* cp-tree.h: Revert change to finish_call_expr prototype.
From-SVN: r145468
PR tree-optimization/39595
* tree-vect-analyze.c (vect_build_slp_tree): Check that the size of
interleaved loads group is not greater than the SLP group size.
From-SVN: r145465
PR rtl-optimization/39588
* combine.c (merge_outer_ops): Do not set the constant when this
is not necessary.
(simplify_shift_const_1): Do not modify it either in this case.
From-SVN: r145431
* config/ia64/ia64.c (ia64_handle_option): Inform user that Itanium1
tuning is deprecated if -mtune value is set to an Itanium1 variant.
From-SVN: r145426
PR c/37772
* c-parser.c (c_parser_asm_statement): Skip until close paren and
return if c_parser_asm_string_literal returned NULL.
* gcc.dg/pr37772.c: New test.
* g++.dg/ext/asm11.C: New test.
From-SVN: r145402
PR other/39591
* omp-low.c (remove_exit_barrier): Don't optimize if there are any
addressable variables in the parallel that could go out of scope while
running queued tasks.
* testsuite/libgomp.c/pr39591-1.c: New test.
* testsuite/libgomp.c/pr39591-2.c: New test.
* testsuite/libgomp.c/pr39591-3.c: New test.
From-SVN: r145391
2009-03-29 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-03-31 Joseph Myers <joseph@codesourcery.com>
PR target/39592
* gcc.target/i386/pr39592-1.c: New test.
From-SVN: r145346
Backport from mainline:
2009-03-30 Paolo Bonzini <bonzini@gnu.org>
* gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
of TREE_CONSTANT_OVERFLOW.
From-SVN: r145334
2009-03-30 Sebastian Pop <sebastian.pop@amd.com>
* doc/invoke.texi (-floop-interchange, -floop-strip-mine,
-floop-block): Document dependences on PPL, CLooG and Graphite.
From-SVN: r145315
PR target/39558
* macro.c (cpp_get_token): If macro_to_expand returns NULL
and used some tokens, add CPP_PADDING before next token.
* gcc.target/powerpc/altivec-29.c: New test.
From-SVN: r145298
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
following vector keyword has expansion starting with pixel or bool
keyword, expand vector to __vector and pixel or bool to __pixel or
__bool.
* gcc.target/powerpc/altivec-28.c: New test.
From-SVN: r145201
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.