PR c++/47303
* decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
or DECL_EXTERNAL.
* g++.dg/template/anonunion1.C: New test.
From-SVN: r169000
PR tree-optimization/47290
* tree-eh.c (infinite_empty_loop_p): New function.
(cleanup_empty_eh): Use it.
* g++.dg/torture/pr47290.C: New test.
From-SVN: r168974
2011-01-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47240
* resolve.c (expression_rank): Fix rank of procedure poiner components.
* trans-expr.c (gfc_conv_procedure_call): Take care of procedure
pointer components as actual arguments.
2011-01-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47240
* gfortran.dg/proc_ptr_comp_29.f90: New.
From-SVN: r168973
* doc/extend.texi: Mention __float128 support on hppa HP-UX.
* config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
* config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
(pa_c_mode_for_suffix): New.
(TARGET_EXPAND_BUILTIN): Define.
(TARGET_C_MODE_FOR_SUFFIX): Define.
(pa_builtins): Define.
(pa_init_builtins): Register __float128 type and init new support
builtins.
* config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
* config/pa/quadlib.c (_U_Qfcopysign): New.
From-SVN: r168969
PR middle-end/46894
* explow.c (allocate_dynamic_stack_space): Do not assume more than
BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
are defined.
From-SVN: r168968
2011-01-18 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/47216
* emit-rtl.c: Include tree-flow.h.
(set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
of replicating it with different semantics.
* Makefile.in (emit-rtl.o): Adjust.
From-SVN: r168951
2011-01-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/unique_ptr.h (default_delete<>::default_delete()):
Declare defaulted per DR 1517.
* testsuite/util/testsuite_common_types.h
(constexpr_defaulted_default_constructible): Add.
* testsuite/20_util/default_delete/cons/constexpr.cc: Use it.
From-SVN: r168947
PR rtl-optimization/47299
* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
subtarget. Use normal multiplication if both operands are
constants.
* expmed.c (expand_widening_mult): Don't try to optimize constant
multiplication if op0 has VOIDmode. Convert op1 constant to mode
before using it.
* gcc.c-torture/execute/pr47299.c: New test.
From-SVN: r168944
Now that gdb supports Blackfin targets, no need to mask it.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
From-SVN: r168943
PR c++/47067
* semantics.c (base_field_constructor_elt): New fn.
(cxx_eval_bare_aggregate): Use it.
(build_data_member_initialization): Leave COMPONENT_REF for
vfield inits.
From-SVN: r168937
In gcc/objc/:
2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/47314
* objc-act.c (finish_objc): When calling check_duplicates to check
duplicated instance methods, set 'is_class' to 0, not 1.
In gcc/testsuite/:
2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/47314
* objc.dg/selector-warn-1.m: New.
* obj-c++.dg/selector-warn-1.mm: New.
From-SVN: r168934
The formulation of the pre-reload pattern allows the lower_subreg
pass to properly split the patterns. This also required re-writing
rx_source_operand and related predicates to accept subregs.
From-SVN: r168929
A standalone __builtin_rx_sat isn't implementable due to needing
to keep the flags live before reload. Instead provide a saturating
add pattern, which hopefully will be pattern-matched by high-level
optimizations.
From-SVN: r168928
The patterns represented with ashift 1 canonically need to have
the ashift as the first operand of the logical operation.
Leave insv represented as a zero_extract store.
Implement a variable store to a 1 bit field as tst+bmne.
Implement a variable store of a condition into a 1 bit field with bmcc.
From-SVN: r168927
Use match_operator, not code_iterators. Use a new helper function,
rx_split_cbranch. Get the modes right on the comparisons. Distinguish
fp comparisons with CC_Fmode.
From-SVN: r168919
To be replaced by the generic compare_elim pass, but we need to disable
this before fiddling with the arrangement of the arithmetic instructions,
as required by the generic pass.
From-SVN: r168916