platform/upstream/gcc.git
14 years agore PR libstdc++/44963 ([DR 1334] Ambiguous function overload using __gnu_cxx::crope...
Paolo Carlini [Sun, 8 Aug 2010 14:54:51 +0000 (14:54 +0000)]
re PR libstdc++/44963 ([DR 1334] Ambiguous function overload using __gnu_cxx::crope with std::back_inserter in c++0x mode)

2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/44963
* include/bits/stl_iterator.h (insert_iterator<>::
operator=(const typename _Container::value_type&,
back_insert_iterator<>::
operator=(const typename _Container::value_type&),
front_insert_iterator<>::
operator=(const typename _Container::value_type&))): Add
in C++0x mode.
* testsuite/ext/rope/44963.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
dg-error line number.

From-SVN: r163001

14 years agomarch.c: Skip if -march defined.
Uros Bizjak [Sun, 8 Aug 2010 12:09:46 +0000 (14:09 +0200)]
march.c: Skip if -march defined.

* gcc.dg/march.c: Skip if -march defined.
* gcc.dg/mtune.c: Skip if -mtune defined.

* g++.old-deja/g++.jason/thunk3.C: Skip for targets with
generic thunk support.

From-SVN: r162998

14 years agocmath: Implement US 136.
Paolo Carlini [Sun, 8 Aug 2010 10:07:16 +0000 (10:07 +0000)]
cmath: Implement US 136.

2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath: Implement US 136.
* include/tr1_impl/cmath: Do not bring fpclassify, etc from namespace
std, define namespace tr1.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++0x.cc: New.

From-SVN: r162995

14 years agomingw32.h ((EXTRA_OS_CPP_BUILTINS): Define _WIN64 not expanded.
Kai Tietz [Sun, 8 Aug 2010 07:30:08 +0000 (07:30 +0000)]
mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define _WIN64 not expanded.

2010-08-08  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
        _WIN64 not expanded.

From-SVN: r162994

14 years agoparser.c (cp_default_arg_entry): Declare.
Nathan Froyd [Sun, 8 Aug 2010 02:16:06 +0000 (02:16 +0000)]
parser.c (cp_default_arg_entry): Declare.

* parser.c (cp_default_arg_entry): Declare.  Declare a VEC of it.
(cp_unparsed_functions_entry): Declare.  Declare a VEC of it.
(cp_parser) [unparsed_functions_queues]: Rename to unparsed_queues.
Change type to a VEC.
(unparsed_funs_with_default_args): Define.
(unparsed_funs_with_definitions): Define.
(push_unparsed_function_queues): New function.
(cp_parser_new): Call it.
(pop_unparsed_function_queues): New function.
(cp_parser_class_specifier): Adjust processing of unparsed functions.
(cp_parser_template_declaration_after_export): Use VEC_safe_push.
(cp_parser_save_member_function_body): Likewise.
(cp_parser_late_parsing_for_member): Call push_unparsed_function_queues
and pop_unparsed_function_queues.
(cp_parser_late_parsing_default_args): Likewise.
(cp_parser_save_default_args): Use VEC_safe_push.

From-SVN: r162992

14 years agoname-lookup.h (cp_label_binding): Declare.
Nathan Froyd [Sun, 8 Aug 2010 02:14:07 +0000 (02:14 +0000)]
name-lookup.h (cp_label_binding): Declare.

* name-lookup.h (cp_label_binding): Declare.  Declare a VEC type
containing it.
(cp_binding_level): Convert shadowed_labels and dead_vars_from_for
fields to VECs.
* decl.c (poplevel): Adjust for type changes.
(declare_local_label): Likewise.

From-SVN: r162991

14 years agoDaily bump.
GCC Administrator [Sun, 8 Aug 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162989

14 years agodecl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead of alloca.
Nathan Froyd [Sat, 7 Aug 2010 21:12:32 +0000 (21:12 +0000)]
decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead of alloca.

* gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
of alloca.
(components_to_record): Likewise.
* gcc-interface/trans.c (gnat_to_gnu): Likewise.
* gcc-interface/utils.c (max_size): Likewise.
(build_vms_descriptor32): Likewise.
(build_vms_descriptor): Likewise.

From-SVN: r162985

14 years agointerface.c (compare_actual_formal): Use XALLOCAVEC instead of alloca.
Nathan Froyd [Sat, 7 Aug 2010 21:10:45 +0000 (21:10 +0000)]
interface.c (compare_actual_formal): Use XALLOCAVEC instead of alloca.

* interface.c (compare_actual_formal): Use XALLOCAVEC instead of
alloca.
(check_some_aliasing): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_conversion): Likewise.
(gfc_conv_intrinsic_int): Likewise.
(gfc_conv_intrinsic_lib_function): Likewise.
(gfc_conv_intrinsic_cmplx): Likewise.
(gfc_conv_intrinsic_ctime): Likewise.
(gfc_conv_intrinsic_fdate): Likewise.
(gfc_conv_intrinsic_ttynam): Likewise.
(gfc_conv_intrinsic_minmax): Likewise.
(gfc_conv_intrinsic_minmax_char): Likewise.
(gfc_conv_intrinsic_ishftc): Likewise.
(gfc_conv_intrinsic_index_scan_verify): Likewise.
(gfc_conv_intrinsic_merge): Likewise.
(gfc_conv_intrinsic_trim): Likewise.
* trans.c (gfc_trans_runtime_error_vararg): Likewise.

From-SVN: r162984

14 years agore PR target/45213 ("suffix or operands invalid for `push'" triggered by optimisation...
Uros Bizjak [Sat, 7 Aug 2010 20:32:30 +0000 (22:32 +0200)]
re PR target/45213 ("suffix or operands invalid for `push'" triggered by optimisations on x86_64)

PR target/45213
* config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
to output 32bit SFmode immediate as 8 byte sign extended value.

testsuite/ChangeLog:

PR target/45213
* gcc.target/i386/pr45213.c: New test.

From-SVN: r162983

14 years agore PR fortran/45143 ([F2008,corrig1] Endless loop with unlimited edit descriptor)
Jerry DeLisle [Sat, 7 Aug 2010 12:10:25 +0000 (12:10 +0000)]
re PR fortran/45143 ([F2008,corrig1] Endless loop with unlimited edit descriptor)

2010-08-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/45143
* gfortran.dg/fmt_error_11.f03: New test.

From-SVN: r162979

14 years agore PR fortran/45143 ([F2008,corrig1] Endless loop with unlimited edit descriptor)
Jerry DeLisle [Sat, 7 Aug 2010 12:03:23 +0000 (12:03 +0000)]
re PR fortran/45143 ([F2008,corrig1] Endless loop with unlimited edit descriptor)

2010-08-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/45143
* io/format.c: Remove fnode storage structure definitions, moving these
to format.h. (parse_format_list): Add check for data descriptors,
taking care of nested formats. Adjust calling parameters to pass a
check flag. (parse_format): Likewise.
* io/format.h: Add structures moved from format.c.

From-SVN: r162978

14 years agoBy ramana for Marcus Shawcroft.
Marcus Shawcroft [Sat, 7 Aug 2010 09:31:14 +0000 (09:31 +0000)]
By ramana for Marcus Shawcroft.

2010-08-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
(SUBWORD_BOOL_CAS): Likewise.
(SUBWORD_SYNC_OP): Likewise.
(SUBWORD_TEST_AND_SET): Likewise.
(FETCH_AND_OP_WORD): Parenthesise INF_OP
(SUBWORD_SYNC_OP): Likewise.
(OP_AND_FETCH_WORD): Likewise.

        * lib/target-supports.exp (check_effective_target_sync_int_long):
        Add arm*-*-linux-gnueabi.
        (check_effective_target_sync_char_short): Likewise.

From-SVN: r162977

14 years agoCortex A9 VFP Pipeline description.
Ramana Radhakrishnan [Sat, 7 Aug 2010 09:20:41 +0000 (09:20 +0000)]
Cortex A9 VFP Pipeline description.

2010-08-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
        * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
         (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
         (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
         generic part.
         (cortex_a9_sched_adjust_cost): New function.
         (xscale_sched_adjust_cost): New function.
        * config/arm/arm-protos.h (struct tune_params): New field
        sched_adjust_cost.
        * config/arm/arm-cores.def: Adjust costs for cortex-a9.

From-SVN: r162976

14 years agodecl.c (subst_pair): Declare.
Nathan Froyd [Sat, 7 Aug 2010 04:26:26 +0000 (04:26 +0000)]
decl.c (subst_pair): Declare.

* gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
(build_subst_list): Return a VEC instead of a tree.
(build_variant_list): Take a VEC for subst_list.  Adjust
accordingly.
(create_field_decl_from): Likewise.
(create_variant_part_from): Likewise.
(copy_and_substitute_in_size): Likewise.
(gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
Free the built vector.

From-SVN: r162975

14 years agoDaily bump.
GCC Administrator [Sat, 7 Aug 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162973

14 years agore PR target/44942 (Bug in argument passing of long double)
Eric Botcazou [Fri, 6 Aug 2010 23:22:52 +0000 (23:22 +0000)]
re PR target/44942 (Bug in argument passing of long double)

PR target/44942
* config/sparc/sparc.c (function_arg_advance): Always take into account
the padding, if any.

From-SVN: r162967

14 years agore PR fortran/45159 (Unnecessary temporaries)
Thomas Koenig [Fri, 6 Aug 2010 22:33:37 +0000 (22:33 +0000)]
re PR fortran/45159 (Unnecessary temporaries)

2010-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* dependency.c (check_section_vs_section):  Handle cases where
the start expression coincides with the lower or upper
bound of the array.

2010-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/dependency_31.f90:  New test.

From-SVN: r162966

14 years agohook.in: Rename variable dir to dir_.
David Malcolm [Fri, 6 Aug 2010 20:43:04 +0000 (20:43 +0000)]
hook.in: Rename variable dir to dir_.

libstdc++-v3/
* python/hook.in: Rename variable dir to dir_.

Co-Authored-By: Jan Kratochvil <jan.kratochvil@redhat.com>
From-SVN: r162962

14 years agoRemove warnings
Dan Witte [Fri, 6 Aug 2010 20:05:33 +0000 (20:05 +0000)]
Remove warnings

From-SVN: r162959

14 years agoAdd missing commit from patch earlier today
Anthony Green [Fri, 6 Aug 2010 20:02:41 +0000 (20:02 +0000)]
Add missing commit from patch earlier today

From-SVN: r162958

14 years agodependency_30.f90: Fix incorrect dg-do line.
Thomas Koenig [Fri, 6 Aug 2010 19:54:34 +0000 (19:54 +0000)]
dependency_30.f90: Fix incorrect dg-do line.

2010-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.dg/dependency_30.f90:  Fix incorrect dg-do line.

From-SVN: r162957

14 years ago* include/std/thread: Add deleted thread(thread&).
Jason Merrill [Fri, 6 Aug 2010 19:41:23 +0000 (15:41 -0400)]
* include/std/thread: Add deleted thread(thread&).

From-SVN: r162954

14 years agotypeck.c (complete_type_or_maybe_complain): Split out from...
Jason Merrill [Fri, 6 Aug 2010 19:35:01 +0000 (15:35 -0400)]
typeck.c (complete_type_or_maybe_complain): Split out from...

* typeck.c (complete_type_or_maybe_complain): Split out from...
(complete_type_or_else): Here.
(build_class_member_access_expr): Call it.
(finish_class_member_access_expr): Likewise.
* call.c (build_special_member_call): Likewise.
* cvt.c (build_expr_type_conversion): Likewise.
* init.c (build_new): Likewise.
* typeck2.c (build_functional_cast): Likewise.
* cp-tree.h: Declare it.

* init.c (build_value_init): Add complain parm.
(build_value_init_noctor): Likewise.
(perform_member_init): Pass it.
(expand_aggr_init_1): Likewise.
(build_new_1): Likewise.
(build_vec_init): Likewise.
* pt.c (tsubst_expr): Likewise.
* typeck2.c (build_functional_cast): Likewise.
* cp-tree.h: Adjust.
* tree.c (build_target_expr_with_type): Handle error_mark_node.

From-SVN: r162953

14 years agotypeck.c (decay_conversion): Any expression with type nullptr_t decays to nullptr.
Jason Merrill [Fri, 6 Aug 2010 19:34:49 +0000 (15:34 -0400)]
typeck.c (decay_conversion): Any expression with type nullptr_t decays to nullptr.

* typeck.c (decay_conversion): Any expression with type nullptr_t
decays to nullptr.

From-SVN: r162952

14 years agotuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99.
Paolo Carlini [Fri, 6 Aug 2010 14:46:08 +0000 (14:46 +0000)]
tuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99.

2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (pack_arguments): Rename to forward_as_tuple
and simplify, per US 98 and US 99.
* testsuite/20_util/tuple/creation_functions/pack_arguments.cc:
Rename to...
* testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
... this, adjust.
* testsuite/20_util/pair/piecewise.cc: Adjust.

From-SVN: r162948

14 years agodecl.c (gnat_to_gnu_entity): Do not build an allocator for large imported objects.
Eric Botcazou [Fri, 6 Aug 2010 12:58:04 +0000 (12:58 +0000)]
decl.c (gnat_to_gnu_entity): Do not build an allocator for large imported objects.

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
allocator for large imported objects.

From-SVN: r162947

14 years agoAdd OS/2 Support
Dan Witte [Fri, 6 Aug 2010 12:36:26 +0000 (12:36 +0000)]
Add OS/2 Support

Co-Authored-By: Walter Meinl <wuno@lsvw.de>
From-SVN: r162946

14 years agoDefine libffi macros carefully
Dan Horák [Fri, 6 Aug 2010 12:26:52 +0000 (14:26 +0200)]
Define libffi macros carefully

From-SVN: r162945

14 years agotree-ssa-ccp.c (struct prop_value_d): Add mask member.
Richard Guenther [Fri, 6 Aug 2010 11:47:31 +0000 (11:47 +0000)]
tree-ssa-ccp.c (struct prop_value_d): Add mask member.

2010-08-06  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (struct prop_value_d): Add mask member.
(dump_lattice_value): Dump it.
(get_default_value): Adjust.
(get_constant_value): Likewise.
(set_value_varying): Likewise.
(set_lattice_value): Make sure to not go up the lattice
with bitwise constant values.
(get_value_for_expr): Handle ADDR_EXPRs.
(value_to_double_int): New function.
(get_value_from_alignment): Likewise.
(do_dbg_cnt): Adjust.
(ccp_lattice_meet): Handle partially constant values.
(bit_value_unop_1): New function.
(bit_value_binop_1): Likewise.
(bit_value_unop): Likewise.
(bit_value_binop): Likewise.
(evaluate_stmt): Track partially constant values if
flag_tree_bit_ccp is set.
(ccp_fold_stmt): Dump if we folded a predicate.
(ccp_visit_stmt): Adjust.
* common.opt (ftree-bit-ccp): New flag.
* doc/invoke.texi (ftree-bit-ccp): Document.
* opts.c (decode_options): Enable bit-CCP at -O1.

* gcc.dg/tree-ssa/ssa-dce-3.c: XFAIL.
* gcc.dg/tree-ssa/pr23744.c: Disable CCP.
* gcc.dg/tree-ssa/pr25382.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-30.c: New testcase.
* gcc.dg/tree-ssa/ssa-ccp-31.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-32.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-33.c: Likewise.
* gcc.c-torture/execute/20100805-1.c: Likewise.

From-SVN: r162943

14 years agotuple (begin, end): Remove per GB 87.
Paolo Carlini [Fri, 6 Aug 2010 11:28:50 +0000 (11:28 +0000)]
tuple (begin, end): Remove per GB 87.

2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (begin, end): Remove per GB 87.
* testsuite/20_util/tuple/range_access.cc: Remove.

From-SVN: r162942

14 years agoratio (ratio_less): Improve, use ratio_divide to avoid more overflows.
Paolo Carlini [Fri, 6 Aug 2010 08:58:27 +0000 (08:58 +0000)]
ratio (ratio_less): Improve, use ratio_divide to avoid more overflows.

2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/ratio (ratio_less): Improve, use ratio_divide to avoid
more overflows.
* testsuite/20_util/ratio/comparisons/comp1.cc: Extend.
* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.

From-SVN: r162941

14 years agoFix spelling errors
Michael Kohler [Fri, 6 Aug 2010 05:45:23 +0000 (05:45 +0000)]
Fix spelling errors

From-SVN: r162938

14 years agoFix SELinux test
Evan Phoenix [Fri, 6 Aug 2010 05:40:15 +0000 (05:40 +0000)]
Fix SELinux test

From-SVN: r162937

14 years agoImprove libffi comments
Matthias Klose [Fri, 6 Aug 2010 05:28:37 +0000 (05:28 +0000)]
Improve libffi comments

From-SVN: r162936

14 years agoEnable build with microsoft compiler
Anthony Green [Fri, 6 Aug 2010 05:24:11 +0000 (05:24 +0000)]
Enable build with microsoft compiler

From-SVN: r162935

14 years agoEnable build with sun compiler
Oliver Kiddle [Fri, 6 Aug 2010 04:55:25 +0000 (04:55 +0000)]
Enable build with sun compiler

From-SVN: r162933

14 years agoAdd closure API example to documentation
Conrad Irwin [Fri, 6 Aug 2010 04:45:46 +0000 (04:45 +0000)]
Add closure API example to documentation

From-SVN: r162932

14 years ago* class.c (build_utf8_ref): Fix code formatting from previous commit.
David Daney [Fri, 6 Aug 2010 04:11:29 +0000 (04:11 +0000)]
* class.c (build_utf8_ref): Fix code formatting from previous commit.

From-SVN: r162931

14 years ago* class.c (build_utf8_ref): Make decl DECL_USER_ALIGN.
David Daney [Fri, 6 Aug 2010 04:02:42 +0000 (04:02 +0000)]
* class.c (build_utf8_ref): Make decl DECL_USER_ALIGN.

From-SVN: r162930

14 years agoinvoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable and -mrelocatable...
Alan Modra [Fri, 6 Aug 2010 02:46:44 +0000 (12:16 +0930)]
invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable and -mrelocatable-lib description.

* doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
and -mrelocatable-lib description.

From-SVN: r162929

14 years agoDaily bump.
GCC Administrator [Fri, 6 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162928

14 years agoFrom Martin Thuresson <martint@google.com>
Bernd Schmidt [Thu, 5 Aug 2010 22:58:35 +0000 (22:58 +0000)]
From Martin Thuresson  <martint@google.com>
* postreload.c (reload_cse_simplify_operands): Use
SET_REGNO_RAW instead of SET_REGNO.
* caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
SET_REGNO.
* ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
instead of SET_REGNO.
* rtl.h (SET_REGNO_RAW): New macro.

From-SVN: r162924

14 years agortlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask computations.
Eric Botcazou [Thu, 5 Aug 2010 22:18:33 +0000 (22:18 +0000)]
rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask computations.

* rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
computations.  Fix formatting issues.
(num_sign_bit_copies1): Likewise.
(canonicalize_condition): Likewise.

From-SVN: r162923

14 years agoReplace exact_log2(x & -x) in favor of more direct computation.
Richard Henderson [Thu, 5 Aug 2010 19:41:31 +0000 (12:41 -0700)]
Replace exact_log2(x & -x) in favor of more direct computation.

* toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
(floor_log2): Use clz_hwi.
(exact_log2): Use ctz_hwi.
* toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
* builtins.c (fold_builtin_bitop): Use them.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
* combine.c (get_pos_from_mask): Use ctz_hwi.
* double-int.c (double_int_ctz): Likewise.
* explow.c (force_reg): Likewise.
* tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.

From-SVN: r162920

14 years agore PR target/45189 (New stack alignment test failures)
Richard Henderson [Thu, 5 Aug 2010 18:04:58 +0000 (11:04 -0700)]
re PR target/45189 (New stack alignment test failures)

PR target/45189
Fix unwind for i386 stack re-alignment.

From-SVN: r162919

14 years agoexpr.c (store_expr): Use emit_block_move only if both source and target are MEMs.
Richard Guenther [Thu, 5 Aug 2010 16:37:38 +0000 (16:37 +0000)]
expr.c (store_expr): Use emit_block_move only if both source and target are MEMs.

2010-08-05  Richard Guenther  <rguenther@suse.de>

* expr.c (store_expr): Use emit_block_move only if both
source and target are MEMs.  Use store_bit_field if only
the target is a MEM.

From-SVN: r162918

14 years agore PR target/45189 (New stack alignment test failures)
Richard Henderson [Thu, 5 Aug 2010 15:39:54 +0000 (08:39 -0700)]
re PR target/45189 (New stack alignment test failures)

PR 45189
Unbreak ia64 build after last dwarf2out.c change.

From-SVN: r162917

14 years agogcov.c (flag_display_progress): New static variable.
Nicolas Setton [Thu, 5 Aug 2010 15:21:13 +0000 (15:21 +0000)]
gcov.c (flag_display_progress): New static variable.

* gcov.c (flag_display_progress): New static variable.
(main): Display progress info on standard output if requested.
(options): Add -d/--display-progress.
(print_usage): Print them.
(process_args): Handle them.
* doc/gcov.texi: Document them.

From-SVN: r162916

14 years agolto-plugin.c: Include <hashtab.h>
Andi Kleen [Thu, 5 Aug 2010 14:25:45 +0000 (14:25 +0000)]
lto-plugin.c: Include <hashtab.h>

* lto-plugin.c: Include <hashtab.h>
        (sym_aux): Add next_conflict field to save conflict chains.
        (plugin_file_info): Add conflicts symtab.
        (parse_table_entry): Initialize aux->next_conflict.
        (process_symtab): Increment found.
        (dump_symtab): Add.
        (finish_conflict_resolution): Add.
        (free_symtab): Add.
        (write_resolution): Remove symbols loop and move into
        dump_symtab. Call dump_symtab for main symbol and conflicts table.
        Call free_symtab to free conflicts table.
        (SWAP): Add.
        (eq_sym): Add.
        (hash_sym): Add.
        (symbol_strength): Add.
        (resolve_conflicts): Add.
        (claim_file_handler): Add n variable. Check return value of
        process_symtab. Call resolve_conflicts.

From-SVN: r162915

14 years agore PR testsuite/42855 (FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized *)
Martin Jambor [Thu, 5 Aug 2010 13:36:18 +0000 (15:36 +0200)]
re PR testsuite/42855 (FAIL: gcc.dg/tree-ssa/pr42585.c scan-tree-dump-times optimized *)

2010-08-05  Martin Jambor  <mjambor@suse.cz>

PR testsuite/42855
* testsuite/gcc.dg/tree-ssa/pr42585.c: Skip dump scan on powerpc
and arm.

From-SVN: r162913

14 years agoipa-cp.c (ipcp_discover_new_direct_edges): New function.
Martin Jambor [Thu, 5 Aug 2010 13:30:14 +0000 (15:30 +0200)]
ipa-cp.c (ipcp_discover_new_direct_edges): New function.

2010-08-05  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_discover_new_direct_edges): New function.
(ipcp_insert_stage): Redirect only edges not flagged with
indirect_inlining_edge.  Call ipcp_discover_new_direct_edges for all
discovered constants.

* testsuite/gcc.dg/ipa/ipcp-ii-1.c: New test.
* testsuite/g++.dg/ipa/ipcp-ivi-1.C: Likewise.

From-SVN: r162912

14 years agoipa-prop.h (enum ipa_lattice_type): Changed comments.
Martin Jambor [Thu, 5 Aug 2010 13:23:07 +0000 (15:23 +0200)]
ipa-prop.h (enum ipa_lattice_type): Changed comments.

2010-08-05  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (enum ipa_lattice_type): Changed comments.
(struct ipa_param_descriptor): New fields types and
cannot_devirtualize.
(ipa_param_cannot_devirtualize_p): New function.
(ipa_param_types_vec_empty): Likewise.
(ipa_make_edge_direct_to_target): Declare.
* ipa-cp.c: Fixed first stage driver name in initial comment,
described devirtualization there too.
(ipcp_analyze_node): Call ipa_analyze_params_uses.
(ipcp_print_all_lattices): Print devirtualization info.
(ipa_set_param_cannot_devirtualize): New function.
(ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
lattice to BOTTOM.
(ipcp_init_stage): Merged into...
(ipcp_generate_summary): ...its caller.
(ipcp_change_tops_to_bottom): Also process type lists.
(ipcp_add_param_type): New function.
(ipcp_copy_types): Likewise.
(ipcp_propagate_types): Likewise.
(ipcp_propagate_stage): Also propagate types.
(ipcp_need_redirect_p): Variable jump_func moved to its scope block.
Also return true if propagated types require it.
(ipcp_update_callgraph): Dump redirection info.
(ipcp_process_devirtualization_opportunities): New function.
(ipcp_const_param_count): Include known type information.
(ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
on new node.  Fixed formatting.
* ipa-prop.c (make_edge_direct_to_target): Renamed to
ipa_make_edge_direct_to_target and changed all callers.  Made
externally visible.
(ipa_node_duplication_hook): Duplicate types vector.
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
redirect outgoing calls for which we can't get a decl from the
statement.  Check that we can get a decl from the call statement.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
ipa_analyze_params_uses only when ipa-cp is disabled.
* tree-inline.c (get_indirect_callee_fndecl): Removed.
(expand_call_inline): Do not call get_indirect_callee_fndecl.
* params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
* Makefile.in (ipa-cp.o): Add gimple.h to dependencies.

* testsuite/g++.dg/ipa/devirt-1.C: New test.
* testsuite/g++.dg/ipa/devirt-2.C: Likewise.
* testsuite/g++.dg/ipa/devirt-3.C: Likewise.
* testsuite/g++.dg/ipa/devirt-4.C: Likewise.
* testsuite/g++.dg/ipa/devirt-5.C: Likewise.
* testsuite/gcc.dg/ipa/iinline-3.c: Likewise.

From-SVN: r162911

14 years agoexpmed.c (expand_mult_const): Expand shift into temporary.
Uros Bizjak [Thu, 5 Aug 2010 12:03:36 +0000 (14:03 +0200)]
expmed.c (expand_mult_const): Expand shift into temporary.

* expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
temporary. Emit move from temporary to accum, so REG_EQUAL note will
be attached to this insn in correct mode.

From-SVN: r162910

14 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Aug 2010 09:26:47 +0000 (11:26 +0200)]
[multiple changes]

2010-08-05  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb: Minor reformatting.

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* sem.adb (Do_Unit_And_Dependents): If some parent unit is an
instantiation, process its body before the spec of the main unit,
because it may contain subprograms invoked in the spec of main.
* einfo.ads: Add documention of delayed freeze.

2010-08-05  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Process_Linker): Take into account new values for
attribute Response_File_Format.
* prj.ads (Response_File_Format): New enumeration values GCC_GNU,
GCC_Object_List and GCC_Option_List.

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
selected component that denotes a discriminant if it is the
discriminant of a component of an unconstrained record type.

From-SVN: r162908

14 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Aug 2010 09:21:58 +0000 (11:21 +0200)]
[multiple changes]

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Insert_Actions): If the action appears within a
conditional expression that is already analyzed, insert action further
out.

2010-08-05  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.

From-SVN: r162907

14 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Aug 2010 09:18:41 +0000 (11:18 +0200)]
[multiple changes]

2010-08-05  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb: Minor reformatting
* gnat1drv.adb: Minor reformatting.
Minor code reorganization (use Nkind_In).

2010-08-05  Ed Schonberg  <schonberg@adacore.com>

* exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
determine whether the expression in an address clause for an
initialized object must be constant. Code moved from freeze.adb.
(Remove_Side_Effects): When the temporary is initialized with a
reference, indicate that the temporary is a constant as done in all
other cases.
* freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
If object does not need a constant address, remove side effects from
address expression, so it is elaborated at the point of the address
clause and not at the freeze point of the object, so that elaboration
order is respected.

2010-08-05  Vincent Celier  <celier@adacore.com>

* prj.adb (Is_Compilable): Return False for header files of non Ada
languages.

2010-08-05  Emmanuel Briot  <briot@adacore.com>

* prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
exec directory as a warning rather than an error.

From-SVN: r162906

14 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Aug 2010 09:14:19 +0000 (11:14 +0200)]
[multiple changes]

2010-08-05  Thomas Quinot  <quinot@adacore.com>

* sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
reformatting.

2010-08-05  Steve Baird  <baird@adacore.com>

* exp_util.adb (Remove_Side_Effects): An access value which designates
a volatile object of a nonvolatile type is prohibited.
Do not call Make_Reference to construct a reference to such an object.

From-SVN: r162905

14 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Aug 2010 09:08:50 +0000 (11:08 +0200)]
[multiple changes]

2010-08-05  Robert Dewar  <dewar@adacore.com>

* a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
* a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
a-suewen.adb, a-suewen.ads: New files.
* Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
encoding packages.
* sem_elab.adb: Minor reformatting.

2010-08-05  Arnaud Charlet  <charlet@adacore.com>

* sem_ch8.adb (Use_One_Type): Protect against empty scopes.
* exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
in case of null Comp.

From-SVN: r162904

14 years agoerrout.adb, [...]: Minor reformatting.
Robert Dewar [Thu, 5 Aug 2010 08:59:22 +0000 (08:59 +0000)]
errout.adb, [...]: Minor reformatting.

2010-08-05  Robert Dewar  <dewar@adacore.com>

* errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.

From-SVN: r162903

14 years agosem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a nested access type...
Gary Dismukes [Thu, 5 Aug 2010 08:55:34 +0000 (08:55 +0000)]
sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a nested access type whose designated type has...

2010-08-05  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
nested access type whose designated type has tasks or is a protected
object when the restrictions No_Task_Hierarchy or
No_Local_Protected_Objects apply. Add ??? comment.
* sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
type is not a library-level type and No_Local_Protected_Objects applies.
(Analyze_Task_Type): Give a warning when a task type is not a
library-level type and No_Task_Hierarchy applies.

From-SVN: r162902

14 years agosem.adb: Minor reformatting
Arnaud Charlet [Thu, 5 Aug 2010 08:52:20 +0000 (08:52 +0000)]
sem.adb: Minor reformatting

* sem.adb: Minor reformatting
* sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
mode, not useful.

From-SVN: r162901

14 years agoutility (begin, end): Remove per GB 85.
Paolo Carlini [Thu, 5 Aug 2010 08:45:26 +0000 (08:45 +0000)]
utility (begin, end): Remove per GB 85.

2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/tr1_impl/utility (begin, end): Remove per GB 85.
* testsuite/20_util/pair/range_access.cc: Remove.

* include/std/functional (function<>::function()): Remove explicit,
per JP 3.

From-SVN: r162900

14 years agoi386.c (ix86_decompose_address): Check for SI_REG using REGNO of base_reg directly.
Uros Bizjak [Thu, 5 Aug 2010 08:24:58 +0000 (10:24 +0200)]
i386.c (ix86_decompose_address): Check for SI_REG using REGNO of base_reg directly.

* config/i386/i386.c (ix86_decompose_address): Check for SI_REG
using REGNO of base_reg directly.

From-SVN: r162899

14 years agomove.h (forward): Update to N3092.
Paolo Carlini [Thu, 5 Aug 2010 07:34:08 +0000 (07:34 +0000)]
move.h (forward): Update to N3092.

2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (forward): Update to N3092.
(identity): Remove (US 92 is NAD).
* include/debug/set.h: Fix move constructor to simply use move.
* include/debug/unordered_map: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/vector: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.
* include/debug/string: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/unordered_set: Likewise.
* include/profile/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/map.h: Likewise.
* include/profile/list: Likewise.
* include/profile/multimap.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* testsuite/20_util/identity/value.cc: Remove
* testsuite/20_util/identity/requirements/typedefs.cc: Likewise.
* testsuite/20_util/identity/requirements/explicit_instantiation.cc:
Likewise.

From-SVN: r162898

14 years agore PR tree-optimization/45144 (SRA optimization issue of bit-field)
Jie Zhang [Thu, 5 Aug 2010 03:05:35 +0000 (03:05 +0000)]
re PR tree-optimization/45144 (SRA optimization issue of bit-field)

PR tree-optimization/45144
* tree-sra.c (type_consists_of_records_p): Return false
if the record contains bit-field.

testsuite/
PR tree-optimization/45144
* gcc.dg/tree-ssa/pr45144.c: New test.

From-SVN: r162897

14 years agoDaily bump.
GCC Administrator [Thu, 5 Aug 2010 00:18:51 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r162896

14 years agoForce the use of stack_pointer_offset in computing the frame size.
Richard Henderson [Wed, 4 Aug 2010 23:58:39 +0000 (16:58 -0700)]
Force the use of stack_pointer_offset in computing the frame size.

By exporting padding[012] and to_allocate from ix86_compute_frame_layout,
we encouraged re-computation of the size of the local frame.  All of the
truly relevant offsets are now exported directly, and should be compared
against directly.

From-SVN: r162891

14 years agoRemove code duplication in ix86_expand_epilogue.
Richard Henderson [Wed, 4 Aug 2010 23:58:33 +0000 (16:58 -0700)]
Remove code duplication in ix86_expand_epilogue.

Union the undo of the frame pointer between the pop and move
code paths.

Combine the local frame stack deallocation with the one for
ix86_static_chain_on_stack, if possible.

From-SVN: r162890

14 years agoDescribe unwinding for realigned frames explicitly.
Richard Henderson [Wed, 4 Aug 2010 23:58:26 +0000 (16:58 -0700)]
Describe unwinding for realigned frames explicitly.

We had been relying on some extremely fragile code within
dwarf2out in order to guess what to do with aligned stack
frames, which broke when we decided to perform the stores
to the aligned stack frame via EBP instead of ESP.

Instead, emit the appropriate unwinding instructions from
the backend.  This requires adding a new reg-note in order
to describe a register save at an arbitrary address.

From-SVN: r162889

14 years agoEmit the prologue/epilogue using frame offsets.
Richard Henderson [Wed, 4 Aug 2010 23:58:20 +0000 (16:58 -0700)]
Emit the prologue/epilogue using frame offsets.

Record register save offsets in ix86_frame.

Move SP/FP offsets into the global state; update them everywhere
we currently handle CFA offsets.

Use that global state to choose base registers and offsets for
the register saves and restores.

There is a bug fix contained herein, whereby r11 could be clobbered
along an indirect sibcall path when the stack frame is very large (>2GB).
The emit_restore_{sse_,}regs_using_mov functions didn't handle this
case, but pro_epilogue_adjust_stack does.

From-SVN: r162888

14 years agoRemove duplicate definition of TARGET_64BIT_MS_ABI.
Richard Henderson [Wed, 4 Aug 2010 23:58:14 +0000 (16:58 -0700)]
Remove duplicate definition of TARGET_64BIT_MS_ABI.

The definition in cygming.h differed from the definition in i386.h in
that the predicate was true for 32-bit when outside of any function.
Which (a) seems wrong and (b) never matters because the predicate is
only tested in terms of REGPARM and RED_ZONE, both of which are tied
to functions.

From-SVN: r162887

14 years agoCleanup 32-bit ms_hook code.
Richard Henderson [Wed, 4 Aug 2010 23:58:08 +0000 (16:58 -0700)]
Cleanup 32-bit ms_hook code.

Emit the entire required hook code sequence via ASM_BYTE; emit
unwind info onto a blockage insn.

Remove the vswapmov pattern.

Fix indentation in several places.

From-SVN: r162886

14 years agoConsolidate red-zone logic into ix86_using_red_zone.
Richard Henderson [Wed, 4 Aug 2010 23:58:02 +0000 (16:58 -0700)]
Consolidate red-zone logic into ix86_using_red_zone.

From-SVN: r162885

14 years agoSimplify logic saving the int registers in the prologue.
Richard Henderson [Wed, 4 Aug 2010 23:57:56 +0000 (16:57 -0700)]
Simplify logic saving the int registers in the prologue.

From-SVN: r162884

14 years agoEliminate most of the conditional compilation from dwarf2out.c.
Richard Henderson [Wed, 4 Aug 2010 23:57:50 +0000 (16:57 -0700)]
Eliminate most of the conditional compilation from dwarf2out.c.

Trying to reduce the amount of code compiled when dwarf2 debug
info and/or dwarf2 unwind info are disabled results in a twisted
mess.  Don't bother -- just build it all even if it's not going
to be used.

From-SVN: r162883

14 years agore PR debug/45171 (Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.)
Richard Henderson [Wed, 4 Aug 2010 23:32:08 +0000 (16:32 -0700)]
re PR debug/45171 (Invalid DWARF...DIE 0x00006a1d has multiple  AT_byte_size attributes.)

PR debug/45171
* dwarf2out.c (gen_typedef_die): Don't re-generate the die of
an is_naming_typedef_decl.

From-SVN: r162882

14 years agore PR rtl-optimization/45162 (ARM bootstrap comparison failures after stage 3)
Bernd Schmidt [Wed, 4 Aug 2010 21:07:05 +0000 (21:07 +0000)]
re PR rtl-optimization/45162 (ARM bootstrap comparison failures after stage 3)

PR rtl-optimization/45162
* df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
* dce.c (word_dce_process_block): Likewise.

From-SVN: r162881

14 years agoAdd Changpeng Fang to the Write After Approval list
Changpeng Fang [Wed, 4 Aug 2010 20:48:50 +0000 (20:48 +0000)]
Add Changpeng Fang to the Write After Approval list

From-SVN: r162880

14 years agore PR fortran/42207 ([OOP] Compile-time errors on typed allocation and pointer functi...
Janus Weil [Wed, 4 Aug 2010 19:49:19 +0000 (21:49 +0200)]
re PR fortran/42207 ([OOP] Compile-time errors on typed allocation and pointer function result assignment)

2010-08-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42207
PR fortran/44064
PR fortran/44065
* class.c (gfc_find_derived_vtab): Do not generate vtabs for class
container types. Do not artificially increase refs. Commit symbols one
by one.
* interface.c (compare_parameter): Make sure vtabs are present before
generating module variables.
* resolve.c (resolve_allocate_expr): Ditto.

2010-08-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42207
PR fortran/44064
PR fortran/44065
* gfortran.dg/class_25.f03: New.
* gfortran.dg/class_26.f03: New.

From-SVN: r162879

14 years ago* g++.dg/warn/miss-format-1.C: Update line number.
Daniel Gutson [Wed, 4 Aug 2010 19:01:24 +0000 (19:01 +0000)]
* g++.dg/warn/miss-format-1.C: Update line number.

From-SVN: r162872

14 years agore PR fortran/45183 (FAIL: gfortran.dg/derived_constructor_char_1.f90)
Tobias Burnus [Wed, 4 Aug 2010 18:49:23 +0000 (20:49 +0200)]
re PR fortran/45183 (FAIL: gfortran.dg/derived_constructor_char_1.f90)

2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45183
        PR fortran/44857
        * resolve.c (resolve_structure_cons): Fix
        freeing of charlen.

From-SVN: r162871

14 years agore PR target/44583 (c-c++-common/torture/complex-sign-add.c fails for signed zeros)
Steve Ellcey [Wed, 4 Aug 2010 18:32:37 +0000 (18:32 +0000)]
re PR target/44583 (c-c++-common/torture/complex-sign-add.c fails for signed zeros)

2010-07-29  Steve Ellcey  <sje@cup.hp.com>

PR target/44583
* config/ia64/constraints.md (Z): New.
* config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
(xfreg_or_signed_fp01_operand): New.
* config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
with fr_reg_or_signed_fp01_operand and constraint G with Z.
(subsf3): Ditto.
(*maddsf4): Ditto.
(*msubsf4): Ditto.
(adddf3): Ditto.
(adddf3_trunc): Ditto.
(subdf3): Ditto.
(*subdf3_trunc): Ditto.
(*madddf4): Ditto.
(*madddf4_trunc): Ditto.
(*msubdf4): Ditto.
(*msubdf4_trunc): Ditto.
(addxf3): Replace xfreg_or_fp01_operand with
xfreg_or_signed_fp01_operand and constraint G with Z.
(*addxf3_truncsf): Ditto.
(*addxf3_truncdf): Ditto.
(subxf3): Ditto.
(*subxf3_truncsf): Ditto.
(*subxf3_truncdf): Ditto.
(*maddxf4): Ditto.
(*maddxf4_truncsf): Ditto.
(*maddxf4_truncdf): Ditto.
(*msubxf4): Ditto.
(*msubxf4_truncsf): Ditto.
(*msubxf4_truncdf): Ditto.

From-SVN: r162869

14 years agoc-ada-spec.c (dump_ada_template): Mark underlying instance type as visited.
Arnaud Charlet [Wed, 4 Aug 2010 15:50:10 +0000 (15:50 +0000)]
c-ada-spec.c (dump_ada_template): Mark underlying instance type as visited.

* c-ada-spec.c (dump_ada_template): Mark underlying instance type as
visited.
(dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
decide whether a type has already been declared/seen.
Do not go to the original type.
(dump_nested_types): New parameter forward.
Generate forward declaration if needed and mark type as visited.
(print_ada_declaration): Call dump_nested_types if not already done.
Mark types as visited.

From-SVN: r162868

14 years agoalias.c (rtx_refs_may_alias_p): Do not resort to TBAA if either alias-set is zero.
Richard Guenther [Wed, 4 Aug 2010 15:35:21 +0000 (15:35 +0000)]
alias.c (rtx_refs_may_alias_p): Do not resort to TBAA if either alias-set is zero.

2010-08-04  Richard Guenther  <rguenther@suse.de>

* alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
if either alias-set is zero.

From-SVN: r162867

14 years agore PR c++/44641 (Generated constructors and destructors get wrong debug location...
Uros Bizjak [Wed, 4 Aug 2010 14:19:01 +0000 (16:19 +0200)]
re PR c++/44641 (Generated constructors and destructors get wrong debug location when a typedef uses a forward declaration of the type before the definition)

PR c++/44641
* lib/scanasm.exp (dg-function-on-line): Expand regex to also ignore
.frame and .mask assembler directives.

From-SVN: r162866

14 years agore PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
Mikael Morin [Wed, 4 Aug 2010 14:17:31 +0000 (14:17 +0000)]
re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)

2010-08-04  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/42051
PR fortran/44064
* symbol.c (changed_syms): Made static again.
(gfc_symbol_state): Don't conditionalize on GFC_DEBUG.
Changed conditional internal error into assert.
Rename function to ...
(gfc_enforce_clean_symbol_state): ... this.
* gfortran.h (gfc_symbol_state, gfc_enforce_clean_symbol_state):
Rename the former to the latter.
* parse.c (decode_statement, decode_omp_directive,
decode_gcc_attribute): Update callers accordingly. Don't conditionalize
on GFC_DEBUG.
(changed_syms): Remove declaration.
(next_statement): Use gfc_enforce_clean_symbol_state.

From-SVN: r162865

14 years agotree-ssa-propagate.h (struct prop_value_d, [...]): Move ...
Richard Guenther [Wed, 4 Aug 2010 12:29:48 +0000 (12:29 +0000)]
tree-ssa-propagate.h (struct prop_value_d, [...]): Move ...

2010-08-04  Richard Guenther  <rguenther@suse.de>

* tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
* tree-ssa-ccp.c: ... here.
* tree-ssa-copy.c: ... and here.
* tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
value_range_t): Move ...
* tree-vrp.c: ... here.
* tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
(substitute_and_fold): Adjust prototype.
* tree-ssa-propagate.c (replace_uses_in): Adjust.
(replace_phi_args_in): Likewise.
(substitute_and_fold): Take callback to query lattice instead
of pointer to lattice.  Replace SSA name defs with lattice
values first.
* tree-ssa-ccp.c (ccp_finalize): Adjust.
* tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
(get_value): New function.
(fini_copy_prop): Adjust.
* tree-vrp.c (vrp_finalize): Adjust.

* gcc.dg/tree-ssa/vrp35.c: Adjust.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/vrp50.c: Likewise.
* gcc.dg/tree-ssa/vrp52.c: Likewise.

From-SVN: r162864

14 years agore PR fortran/44857 (ICE in output_constructor_regular_field, at varasm.c:4996)
Tobias Burnus [Wed, 4 Aug 2010 11:51:32 +0000 (13:51 +0200)]
re PR fortran/44857 (ICE in output_constructor_regular_field, at varasm.c:4996)

2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44857
        * resolve.c (resolve_structure_cons): Fix handling of
        initialization structcture constructors with character
        elements of the wrong length.
        * array.c (gfc_check_iter_variable): Add NULL check.
        (gfc_resolve_character_array_constructor): Also truncate
        character length.

2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44857
        * gfortran.dg/derived_constructor_char_1.f90: New.
        * gfortran.dg/derived_constructor_char_2.f90: New.

From-SVN: r162863

14 years agore PR middle-end/45176 (restrict qualifier is not used in a manually unrolled loop)
Richard Guenther [Wed, 4 Aug 2010 11:08:54 +0000 (11:08 +0000)]
re PR middle-end/45176 (restrict qualifier is not used in a manually unrolled loop)

2010-08-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/45176
* expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
points-to set for original MEM_REF.

From-SVN: r162862

14 years agotree-ssa-ccp.c (get_constant_value): New function.
Richard Guenther [Wed, 4 Aug 2010 09:16:58 +0000 (09:16 +0000)]
tree-ssa-ccp.c (get_constant_value): New function.

2010-08-04  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (get_constant_value): New function.
(get_rhs_assign_op_for_ccp): Remove.
(valueize_op): New function.
(ccp_fold): Use get_constant_value and valueize_op.
(fold_const_aggregate_ref): Likewise.
(ccp_fold_stmt): Likewise.
(visit_assignment): Simplify.

From-SVN: r162860

14 years agoMakefile.in (double-int.o): Add $(TOPLEV_H) dependency.
Richard Guenther [Wed, 4 Aug 2010 09:15:51 +0000 (09:15 +0000)]
Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.

2010-08-04  Richard Guenther  <rguenther@suse.de>

* Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
* double-int.h (double_int_ctz): Declare.
* double-int.c (double_int_ctz): New function.

From-SVN: r162859

14 years agopicochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
Hariharan Sandanagobalane [Wed, 4 Aug 2010 09:02:48 +0000 (09:02 +0000)]
picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.

        * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
          Define.
          picochip_expand_movmemhi : Expand movmem pattern.
        * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
          Declare.
        * config/picochip/picochip.md (movmemhi) : New pattern.

From-SVN: r162858

14 years agotrans-io.c (gfc_build_io_library_fndecls): Fix return value of some libgfortran funct...
Tobias Burnus [Wed, 4 Aug 2010 08:56:32 +0000 (10:56 +0200)]
trans-io.c (gfc_build_io_library_fndecls): Fix return value of some libgfortran functions.

2010-08-04  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix return
        value of some libgfortran functions.

From-SVN: r162857

14 years agounix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
Uros Bizjak [Wed, 4 Aug 2010 07:07:17 +0000 (09:07 +0200)]
unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.

* config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.

From-SVN: r162855

14 years agodecl.c: Do not undefine IN_GCC_FRONTEND and do not include expr.h.
Eric Botcazou [Wed, 4 Aug 2010 06:49:08 +0000 (06:49 +0000)]
decl.c: Do not undefine IN_GCC_FRONTEND and do not include expr.h.

* gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
include expr.h.
(gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
for the debug-only entity.
* gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.

From-SVN: r162854

14 years agoDaily bump.
GCC Administrator [Wed, 4 Aug 2010 00:17:28 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162853

14 years agosimplify-rtx.c (simplify_binary_operation_1): Try to simplify away NEG as operand...
Bernd Schmidt [Tue, 3 Aug 2010 23:48:52 +0000 (23:48 +0000)]
simplify-rtx.c (simplify_binary_operation_1): Try to simplify away NEG as operand of a MULT by merging it with the other operand.

* simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
NEG as operand of a MULT by merging it with the other operand.
* combine.c (make_compound_operation): Use trunc_int_for_mode when
generating a MULT with constant.  Canonicalize PLUS and MINUS involving
MULT.
* config/arm/constraints.md (M): Examine only 32 bits of a
HOST_WIDE_INT.
* config/arm/predicates.md (power_of_two_operand): Likewise.

From-SVN: r162849

14 years agore PR fortran/45159 (Unnecessary temporaries)
Thomas Koenig [Tue, 3 Aug 2010 22:02:30 +0000 (22:02 +0000)]
re PR fortran/45159 (Unnecessary temporaries)

2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* dependency.c (gfc_deb_compare_expr):  Remove any integer
conversion functions to larger types from both arguments.
Remove handling these functions futher down.

2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/dependency_30.f90:  New test.

From-SVN: r162848

14 years agospu.c (spu_emit_branch_hint): Do not access NOTE_KIND of non-NOTE insns.
Ulrich Weigand [Tue, 3 Aug 2010 18:01:52 +0000 (18:01 +0000)]
spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of non-NOTE insns.

* config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
non-NOTE insns.

From-SVN: r162845