PR c/35442
* c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
VIEW_CONVERT_EXPR the same as CASE_CONVERT.
* gcc.dg/pr35442.c: New test.
From-SVN: r142558
PR middle-end/36802
* omp-low.c (use_pointer_for_field): Only call maybe_lookup_decl
on parallel and task contexts.
* testsuite/libgomp.c/pr36802-1.c: New test.
* testsuite/libgomp.c/pr36802-2.c: New test.
* testsuite/libgomp.c/pr36802-3.c: New test.
From-SVN: r142546
2008-12-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38405
* tree-vrp.c (simplify_truth_ops_using_ranges): Make sure to
not sign-extend truth values.
From-SVN: r142539
* tree-sra.c (scalarize_use): Create another temporary with the proper
type for signed types in the use_all && !is_output bitfield case.
From-SVN: r142537
2008-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/38425
* io.c (check_io_constraints): Check constraints on REC=, POS=, and
internal unit with POS=. Fix punctuation on a few error messages.
From-SVN: r142534
PR middle-end/38428
* tree-ssa-operands.c (get_expr_operands) <case BIT_FIELD_REF>: Set
gimple_set_has_volatile_ops if the BIT_FIELD_REF is volatile.
* gcc.c-torture/compile/pr38428.c: New test.
From-SVN: r142527
PR middle-end/38422
* fold-const.c (fold_unary) <CASE_CONVERT>: Don't convert MULT_EXPR
operands to mult_type if it isn't narrower than op0's type.
* gcc.c-torture/execute/pr38422.c: New test.
From-SVN: r142521
2008-12-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38421
* include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
* doc/xml/manual/appendix_contributing.xml: Add __ea to the list
of badnames.
From-SVN: r142519
PR tree-optimization/38074
* cgraphbuild.c (compute_call_stmt_bb_frequency): Fix handling of 0
entry frequency.
* predict.c (combine_predictions_for_bb): Ignore predictor predicting
in both dirrection for first match heuristics.
(tree_bb_level_predictions): Disable noreturn heuristic when there
is no returning path.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r142517
2008-12-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/38291
* io.c (match_dt_element): Use dt->pos in matcher.
(gfc_free_dt): Free dt->pos after use.
(gfc_resolve_dt): Use dt->pos in resolution of stream position tag.
2008-12-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/38291
* io/transfer.c (data_transfer_init): Add checks for POS= valid range.
Add check for unit opened with ACCESS="stream". Flush and seek if
current stream position does not match. Check ENDFILE on read.
From-SVN: r142515
PR middle-end/37248
* fold-const.c (make_bit_field_ref): Change bitpos and bitsize
arguments to HOST_WIDE_INT. If type has different signedness
than unsignedp or different precision from bitsize, create
the right type for BIT_FIELD_REF and cast to type.
(fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.
Revert:
2008-03-05 Richard Guenther <rguenther@suse.de>
PR c++/35336
* fold-const.c (fold_truthop): Remove code generating
BIT_FIELD_REFs of structure bases.
(fold_binary): Likewise.
(make_bit_field_ref): Remove.
(optimize_bit_field_compare): Remove.
(all_ones_mask_p): Remove.
* gcc.target/i386/pr37248-1.c: New test.
* gcc.target/i386/pr37248-2.c: New test.
* gcc.target/i386/pr37248-3.c: New test.
From-SVN: r142484
* tree-sra.c (sra_explode_bitfield_assignment): Always
call unsigned_type_for, if the precision is higher than
needed, call build_nonstandard_integer_type.
From-SVN: r142483
PR debug/38367
* function.c (assign_parm_find_stack_rtl): If promoted_mode
is wider than DECL_MODE, adjust MEM_OFFSET (stack_parm) for
big endian.
From-SVN: r142481
PR middle-end/38338
* builtins.c (expand_builtin_apply_args): Put before parm_birth_insn
only if internal_arg_pointer is a non-virtual pseudo.
* gcc.dg/pr38338.c: New test.
From-SVN: r142480
* config/alpha/alpha.c (alpha_fold_vector_minmax): Create
VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
(alpha_emit_conditional_branch): Do not generate direct branch
for UNORDERED comparisons.
From-SVN: r142474