aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2009-08-12Remove pragma GCC diagnostic warning "-Wc++-compat".Sebastian Pop2-6/+5
2009-08-12 Sebastian Pop <sebastian.pop@amd.com> PR bootstrap/40103 * graphite.c: Remove pragma GCC diagnostic warning "-Wc++-compat". From-SVN: r150696
2009-08-12alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.Richard Guenther4-15/+26
2009-08-12 Richard Guenther <rguenther@suse.de> * alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P. * gimplify.c (gimplify_modify_expr): Do not use lang_hooks.types_compatible_p. * tree-ssa.c (useless_type_conversion_p): For aggregates just return false if the canonical types differ. From-SVN: r150695
2009-08-12Prepare expressions to be good phi arguments.Sebastian Pop5-19/+66
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/40980 * sese.c (convert_for_phi_arg): New. (add_guard_exit_phis): Use convert_for_phi_arg. * testsuite/gfortran.dg/graphite/id-17.f: New. From-SVN: r150694
2009-08-12Dont add unknown subscript upper bounds.Sebastian Pop5-9/+29
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add unknown subscript upper bounds. * testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL. From-SVN: r150693
2009-08-12Reimplement interchange heuristic.Sebastian Pop6-22/+281
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> Pranav Garg <pranav.garg2107@gmail.com> * graphite-interchange.c (gather_access_strides): Removed. (ppl_max_for_le): New. (build_linearized_memory_access): New. (memory_stride_in_loop): New. (pbb_interchange_profitable_p): Reimplemented. * graphite-ppl.h (ppl_new_id_map): New. (ppl_interchange): New. * testsuite/gcc.dg/graphite/interchange-6.c: XFAILed. Co-Authored-By: Pranav Garg <pranav.garg2107@gmail.com> From-SVN: r150692
2009-08-12Remove interchange heuristic.Sebastian Pop3-228/+22
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> * graphite-interchange.c (compute_subscript): Removed. (compute_array_size_cstr): Removed. (compute_array_size_poly): Removed. (compute_array_size): Removed. (gather_access_strides_poly): Removed. (gather_access_strides): Empty. From-SVN: r150691
2009-08-12Add PDR->nb_subscripts.Sebastian Pop6-32/+60
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (dependence_polyhedron_1): Replace pdr_nb_subscripts with PDR_NB_SUBSCRIPTS. (graphite_legal_transform_dr): Same. (graphite_carried_dependence_level_k): Same. * graphite-poly.c (new_poly_dr): Add a parameter nb_subscripts. Initialize PDR_NB_SUBSCRIPTS. (print_pdr_access_layout): Replace pdr_nb_subscripts with PDR_NB_SUBSCRIPTS. * graphite-poly.h (struct poly_dr): Add nb_subscripts field. (PDR_NB_SUBSCRIPTS): New. (pdr_nb_subscripts): Removed. (pdr_dim): Simplified. * graphite-sese-to-poly.c (build_poly_dr): Replace pdr_nb_subscripts with PDR_NB_SUBSCRIPTS. From-SVN: r150690
2009-08-12Undo changes to the PDR representation.Sebastian Pop6-34/+38
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> * graphite-interchange.c (compute_array_size): Remove use of PDR_DATA_CONTAINER. * graphite-poly.c (new_poly_dr): Remove argument data_container. Do not initialize PDR_DATA_CONTAINER. (print_pdr): Do not print PDR_DATA_CONTAINER. * graphite-poly.h (struct poly_dr): Remove data_container field. (PDR_DATA_CONTAINER): Removed. * graphite-sese-to-poly.c (pdr_add_data_dimensions): Remove use of PDR_DATA_CONTAINER. (build_poly_dr): Same. From-SVN: r150689
2009-08-12Add interchange testcase.Sebastian Pop3-3/+25
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> * testsuite/gcc.dg/graphite/interchange-9.c: New. From-SVN: r150688
2009-08-12Fix memory leak in DD XFAILs some interchange testcases.Konrad Trifunovic8-10/+52
2009-08-05 Konrad Trifunovic <konrad.trifunovic@gmail.com> Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (graphite_legal_transform_dr): Work on a copy of the dependence polyhedron. Free the temporary objects. (graphite_carried_dependence_level_k): Free unused objects before returning. * testsuite/gcc.dg/graphite/interchange-1.c: XFAILed. * testsuite/gcc.dg/graphite/interchange-2.c: XFAILed. * testsuite/gcc.dg/graphite/interchange-3.c: XFAILed. * testsuite/gcc.dg/graphite/interchange-4.c: XFAILed. * testsuite/gcc.dg/graphite/interchange-7.c: XFAILed. Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com> From-SVN: r150687
2009-08-12Restore original scattering when the transform is not legal.Sebastian Pop7-34/+208
2009-08-05 Sebastian Pop <sebastian.pop@amd.com> * graphite-blocking.c (scop_do_strip_mine): Call store_scattering. Early return without analyzing the data dependences if no transform has been done. Call restore_scattering if the transform is not legal. (graphite-interchange.c): Same. * graphite-poly.c (print_scattering_function): Test for PBB_TRANSFORMED. (graphite_read_transforms): Initialize PBB_TRANSFORMED. (apply_poly_transforms): Do not gcc_assert that the transform is legal. (new_poly_bb): Initialize PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL. Do not initialize PBB_NB_SCATTERING_TRANSFORM, PBB_NB_LOCAL_VARIABLES, PBB_TRANSFORMED_SCATTERING, and PBB_ORIGINAL_SCATTERING. (free_poly_dr): Free PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL. * graphite-poly.h (struct poly_scattering): New. (struct poly_bb): Add original, transformed, and saved fields. Remove transformed_scattering, original_scattering, nb_local_variables, and nb_scattering_transform fields. (PBB_ORIGINAL, PBB_TRANSFORMED, PBB_SAVED): New. (poly_scattering_new): New. (poly_scattering_free): New. (poly_scattering_copy): New. (store_scattering_pbb): New. (store_scattering): New. (restore_scattering_pbb): New. (restore_scattering): New. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Initialize PBB_TRANSFORMED and PBB_ORIGINAL. From-SVN: r150686
2009-08-12Correctly parenthesize pretty print structures.Sebastian Pop3-0/+15
2009-08-05 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.c (print_pbb): Add parentheses in the pretty print. (print_scop): Same. From-SVN: r150685
2009-08-12Recompute profile after Graphite.Sebastian Pop6-90/+151
2009-08-05 Sebastian Pop <sebastian.pop@amd.com> * Makefile.in (graphite.o): Depends on PREDICT_H. * graphite.c: Include predict.h. (graphite_finalize): Call tree_estimate_probability. * predict.c (predict_loops): Do not call scev_initialize and scev_finalize. (tree_estimate_probability_bb): New. (tree_estimate_probability): Do not initialize loops: move that code to the driver. Call tree_estimate_probability_bb. (tree_estimate_probability_driver): New. (pass_profile): Use tree_estimate_probability_driver. * predict.h (tree_estimate_probability): Declared. From-SVN: r150684
2009-08-12Measure time spent in DD analysis and in code gen.Sebastian Pop7-12/+58
2009-08-05 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gloog): Add time to TV_GRAPHITE_CODE_GEN. * graphite-dependences.c (graphite_legal_transform): Add time to TV_GRAPHITE_DATA_DEPS. (dependency_between_pbbs_p): Same. * timevar.def (TV_GRAPHITE_DATA_DEPS, TV_GRAPHITE_CODE_GEN): New. From-SVN: r150683
2009-08-12[multiple changes]Andrey Belevantsev4-0/+38
2009-08-12 Andrey Belevantsev <abel@ispras.ru> PR rtl-optimization/41033 * alias.c (nonoverlapping_component_refs_p): Punt if strict aliasing is disabled. 2009-08-12 Richard Guenther <rguenther@suse.de> PR rtl-optimization/41033 * gcc.dg/pr41033.c: New test. From-SVN: r150680
2009-08-12re PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL ↵Tobias Burnus3-10/+19
(compiler-directive_1.f90)) 2009-08-12 Tobias Burnus <burnus@net-b.de> PR fortran/41034 * symbol.c (gfc_copy_attr): Merge bits instead of replace bits in gfc_copy_attr. * gfc_check_pointer_assign (gfc_check_pointer_assign): Initialize ext_attr bits by zero. From-SVN: r150678
2009-08-12trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.Richard Guenther2-1/+6
2009-08-12 Richard Guenther <rguenther@suse.de> * trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL. From-SVN: r150676
2009-08-12Daily bump.GCC Administrator1-1/+1
From-SVN: r150671
2009-08-11re PR fortran/41022 ([F03] procedure pointer components as actual arguments)Janus Weil4-1/+53
2009-08-11 Janus Weil <janus@gcc.gnu.org> PR fortran/41022 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointer components as actual arguments. 2009-08-11 Janus Weil <janus@gcc.gnu.org> PR fortran/41022 * gfortran.dg/proc_ptr_comp_14.f90: New. From-SVN: r150665
2009-08-11re PR debug/40990 (bad .debug_pubnames entry from gcj)Dodji Seketeli2-16/+40
Fix PR debug/40990 PR debug/40990 * lang.c (put_decl_node): Outputs different level of information depending on the verbosity level. From-SVN: r150659
2009-08-11predicates.md (qi_mask_operand, [...]): New predicates.Adam Nemet12-54/+238
* config/mips/predicates.md (qi_mask_operand, hi_mask_operand, si_mask_operand, and_load_operand, low_bitmask_operand, and_reg_operand, and_operand): New predicates. * config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints. * config/mips/mips.c (and_operands_ok): New function. * config/mips/mips-protos.h (and_operands_ok): Declare it. * config/mips/mips.md (move_type): Add ext_ins and logical. (type): Handle them. (and<mode>3): Use and_reg_operand as the second operand's predicate. (*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and shift_shift. Remove commutative constraint modifier. (*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and shift_shift. (*clear_upper32_dext): Remove define_insn_and_split. (*clear_upper32): Turn this define_insn_and_split ... (splitter for ANDing register with 0xffff_ffff): .. into this. testsuite/ * gcc.target/mips/ext-5.c: New test. * gcc.target/mips/ext-6.c: New test. * gcc.target/mips/ext-7.c: New test. * gcc.target/mips/ext-8.c: New test. * gcc.target/mips/extend-2.c: New test. From-SVN: r150657
2009-08-11combine.c (try_widen_shift_mode): Factor out code to check if an integer ↵Adam Nemet4-6/+27
constant is a low-order bitmask from here ... * combine.c (try_widen_shift_mode): Factor out code to check if an integer constant is a low-order bitmask from here ... * rtlanal.c (low_bitmask_len): ... to here. * rtl.h (low_bitmask_len): Declare. From-SVN: r150656
2009-08-11re PR target/8603 ([Alpha] s?addl pattern doesn't work)Uros Bizjak2-32/+21
PR target/8603 * config/alpha/alpha.md (addsi3): Remove expander. (addsi3): Rename from *addsi3_internal insn pattern. (subsi3): Remove expander. (subsi3): Rename from *subsi3_internal insn pattern. From-SVN: r150654
2009-08-11alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.Douglas B Rupp2-0/+11
* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED. From-SVN: r150653
2009-08-11alpha.c (alpha_return_in_memory): On VMS...Vasiliy Fofanov3-10/+35
* config/alpha/alpha.c (alpha_return_in_memory): On VMS, ensure that records that fit in 64 bits are returned by immediate value, as required by OpenVMS Calling Standard. (function_value): Adjust for above modification. (alpha_va_start) <TARGET_ABI_OPEN_VMS>: Use virtual_incoming_args_rtx as base object, not next_arg. * config/alpha/vms.h: (DEFAULT_PCC_STRUCT_RETURN): Define as 0. Co-Authored-By: Douglas B Rupp <rupp@gnat.com> Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r150652
2009-08-11reload.c (find_reloads_subreg_address): Check the original req_equiv_mem ↵Ulrich Weigand2-11/+25
address to detect the case where an address is... * reload.c (find_reloads_subreg_address): Check the original req_equiv_mem address to detect the case where an address is not valid in the outer mode. From-SVN: r150649
2009-08-11re PR bootstrap/40788 (ICE on sparc: tree check: expected class ↵Richard Guenther2-1/+6
'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107) 2009-08-11 Richard Guenther <rguenther@suse.de> PR bootstrap/40788 * builtins.c (gimplify_va_arg_expr): Do not call SET_EXPR_LOCATION. From-SVN: r150648
2009-08-11vms.h (OPTIMIZATION_OPTIONS): RemoveDouglas B Rupp2-14/+15
* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove (OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS. From-SVN: r150647
2009-08-11alpha.c (alpha_sa_size): Force procedure type to PT_STACK when ↵Olivier Hainque4-33/+112
frame_pointer_needed on OpenVMS. * config/alpha/alpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS. (alpha_pv_save_size, alpha_using_fp): Remove. (alpha_vms_can_eliminate): New function. Support for CAN_ELIMINATE with proper processing for PT_NULL. (alpha_vms_initial_elimination_offset): New function. Support for INITIAL_ELIMINATION_OFFSET with proper processing for PT_NULL. (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS. * config/alpha/alpha-protos.h (alpha_pv_save_size): Remove prototype. (alpha_using_fp): Likewise. (alpha_vms_can_eliminate): Add prototype. (alpha_vms_initial_elimination_offset): Likewise. * config/alpha/vms.h (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Call alpha_vms_can_eliminate and alpha_vms_initial_elimination_offset. Co-Authored-By: Douglas B Rupp <rupp@gnat.com> From-SVN: r150646
2009-08-11alpha.c (common_object_handler): New function.Eric Botcazou4-45/+61
* config/alpha/alpha.c (common_object_handler): New function. (vms_attribute_table): Declare a single attribute "common_object". (vms_output_aligned_decl_common): New global function. (SECTION_VMS_OVERLAY): Delete. (SECTION_VMS_GLOBAL): Likewise. (SECTION_VMS_INITIALIZE): Likewise. (vms_asm_named_section): Remove support for above flags. (vms_section_type_flags): Delete. (TARGET_SECTION_TYPE_FLAGS): Likewise. * config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New. * config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete. (ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro. Co-Authored-By: Douglas B Rupp <rupp@gnat.com> From-SVN: r150645
2009-08-11Daily bump.GCC Administrator1-1/+1
From-SVN: r150639
2009-08-10re PR target/41015 (SH: miscompilation for sh4-linux)SUGIOKA Toshinobu2-2/+8
PR target/41015 * longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list. (sub_ddmmss): Likewise. From-SVN: r150635
2009-08-10Implement DR 757...Jason Merrill19-102/+204
Implement DR 757: It's OK for a decl to use a type without linkage so long as the decl is defined in the current translation unit. * decl2.c (no_linkage_decls): New vector. (mark_used): Add decls that use types with no linkage. (cp_write_global_declarations): Check that they are defined. (decl_defined_p, no_linkage_error): New fns. * cp-tree.h (DECL_NO_LINKAGE_CHECKED): New macro. (struct lang_decl_base): Add flag. * decl.c (grokfndecl): Don't check type linkage. (grokvardecl): If the type has no linkage, just make sure DECL_LANG_SPECIFIC is set. * pt.c (check_instantiated_arg): Don't check type linkage. * name-lookup.c (is_local_extern): New fn. * name-lookup.h: Declare it. From-SVN: r150634
2009-08-10re PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)Andreas Tobler2-1/+10
2009-08-10 Andreas Tobler <a.tobler@schweiz.org> PR bootstrap/41018 * config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright year. From-SVN: r150632
2009-08-10dg.exp: Test also c-c++-common dir.Manuel López-Ibáñez6-86/+40
2009-08-10 Manuel López-Ibáñez <manu@gcc.gnu.org> testsuite/ * gcc.dg/dg.exp: Test also c-c++-common dir. * g++.dg/dg.exp: Likewise. * g++.dg/warn/Wconversion-real.C: Delete. * gcc.dg/Wconversion-real.c: Move to ... * c-c++-common/Wconversion-real.c: ... here. * lib/target-supports.exp (check_effective_target_c,check_effective_target_c++): New. From-SVN: r150627
2009-08-10re PR middle-end/37053 (ICE in reload_cse_simplify_operands, at ↵Ulrich Weigand2-16/+16
postreload.c:395) PR target/37053 * reload1.c (reload_as_needed): Use cancel_changes to completely undo a failed replacement attempt. From-SVN: r150626
2009-08-10* Moved ChangeLog entry to the correct ChangeLogNeil Vachharajani1-0/+4
From-SVN: r150625
2009-08-10make.adb: Handle multilibLaurent GUERBY2-0/+107
2009-08-10 Laurent GUERBY <laurent@guerby.net> * make.adb: Handle multilib From-SVN: r150623
2009-08-10re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)Daniel Kraft9-158/+664
2009-08-10 Daniel Kraft <d@domob.eu> PR fortran/37425 * gfortran.dg/typebound_operator_1.f03: New test. * gfortran.dg/typebound_operator_2.f03: New test. 2009-08-10 Daniel Kraft <d@domob.eu> PR fortran/37425 * gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op. (gfc_find_typebound_user_op): New routine. (gfc_find_typebound_intrinsic_op): Ditto. (gfc_check_operator_interface): Now public routine. * decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=). * interface.c (check_operator_interface): Made public, renamed to `gfc_check_operator_interface' accordingly and hand in the interface as gfc_symbol rather than gfc_interface so it is useful for type-bound operators, too. Return boolean result. (gfc_check_interfaces): Adapt call to `check_operator_interface'. * symbol.c (gfc_get_namespace): Initialize new field `tb_op'. (gfc_free_namespace): Free `tb_uop_root'-based tree. (find_typebound_proc_uop): New helper function. (gfc_find_typebound_proc): Use it. (gfc_find_typebound_user_op): New method. (gfc_find_typebound_intrinsic_op): Ditto. * resolve.c (resolve_tb_generic_targets): New helper function. (resolve_typebound_generic): Use it. (resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New. (resolve_typebound_procedures): Resolve operators, too. (check_uop_procedure): New, code from gfc_resolve_uops. (gfc_resolve_uops): Moved main code to new `check_uop_procedure'. From-SVN: r150622
2009-08-10re PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion ↵Richard Guenther5-48/+85
at assignment) 2009-08-10 Richard Guenther <rguenther@suse.de> PR middle-end/41006 * tree-ssa.c (useless_type_conversion_p_1): Fold into ... (useless_type_conversion_p): ... here. Require pointer targets to be compatible. * gcc.c-torture/compile/pr41006-1.c: New testcase. * gcc.c-torture/compile/pr41006-2.c: Likewise. From-SVN: r150621
2009-08-10re PR fortran/40940 ([F03] CLASS statement)Janus Weil20-40/+210
2009-08-10 Janus Weil <janus@gcc.gnu.org> PR fortran/40940 * decl.c (gfc_match_type_spec): Match CLASS statement and warn about missing polymorphism. * gfortran.h (gfc_typespec): Add field 'is_class'. * misc.c (gfc_clear_ts): Initialize 'is_class' to zero. * resolve.c (type_is_extensible): New function to check if a derived type is extensible. (resolve_fl_variable_derived): Add error checks for CLASS variables. (resolve_typebound_procedure): Disallow non-polymorphic passed-object dummy arguments, turning warning into error. (resolve_fl_derived): Use 'type_is_extensible'. Disallow non-polymorphic passed-object dummy arguments for procedure pointer components, turning warning into error. Add error check for CLASS components. 2009-08-10 Janus Weil <janus@gcc.gnu.org> PR fortran/40940 * gfortran.dg/class_1.f03: New. * gfortran.dg/class_2.f03: New. * gfortran.dg/proc_ptr_comp_pass_1.f90: Use CLASS instead of TYPE. * gfortran.dg/proc_ptr_comp_pass_2.f90: Ditto. * gfortran.dg/proc_ptr_comp_pass_3.f90: Ditto. * gfortran.dg/typebound_call_10.f03: Ditto. * gfortran.dg/typebound_call_2.f03: Ditto. * gfortran.dg/typebound_call_3.f03: Ditto. * gfortran.dg/typebound_call_4.f03: Ditto. * gfortran.dg/typebound_generic_3.f03: Ditto. * gfortran.dg/typebound_generic_4.f03: Ditto. * gfortran.dg/typebound_proc_1.f08: Ditto. * gfortran.dg/typebound_proc_5.f03: Ditto. * gfortran.dg/typebound_proc_6.f03: Ditto. From-SVN: r150620
2009-08-10[multiple changes]Arnaud Charlet3-5/+13
2009-08-10 Vincent Celier <celier@adacore.com> * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use the temporary file name in the error message when the temporary file cannot be created. 2009-08-10 Yannick Moy <moy@adacore.com> * gnat_ugn.texi: Fix typo From-SVN: r150619
2009-08-10[multiple changes]Arnaud Charlet3-128/+177
2009-08-10 Robert Dewar <dewar@adacore.com> * exp_ch7.adb: Add ??? comment for last change 2009-08-10 Vincent Celier <celier@adacore.com> * prj-env.adb (Add_To_Buffer): New procedure (Create_Config_Pragmas_File): Write to temporary file in one shot (Create_Mapping_File): Ditto (Set_Ada_Paths): Ditto From-SVN: r150618
2009-08-10re PR ada/17566 (Gnatxref formatting)Vincent Celier2-1/+13
2009-08-10 Vincent Celier <celier@adacore.com> PR ada/17566 * xref_lib.adb (Print_Xref): Make sure that there is at least one space between a declaration name and its type. From-SVN: r150617
2009-08-10re PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)Dodji Seketeli4-0/+48
2009-08-10 Dodji Seketeli <dodji@redhat.com> gcc/ChangeLog: PR c++/40866 * tree-inline.c (copy_statement_list): The resulting copy shouldn't loose the original type of the statement list. gcc/testsuite/ChangeLog: PR c++/40866 * g++.dg/expr/stmt-expr-1.C: New test. From-SVN: r150615
2009-08-10alpha.c: Include libfuncs.hDouglas B Rupp6-11/+120
* config/alpha/alpha.c: Include libfuncs.h (avms_asm_output_extern): New function. (alpha_init_libfuncs): Init some decc libfuncs. * config/alpha/alpha-protos.h (avms_asm_output_external): Declare. * config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Define. (DO_CRTL_NAMES): Define. (LIB_SPEC): Remove. * config/alpha/vms64.h: (POINTERS_EXTEND_UNSIGNED): Remove undef. (LONG_TYPE_SIZE): Define. (TARGET_OS_CPP_BUILTINS): Define with __LONG_POINTERS=1 (SUBTARGET_SWITCHES): Define malloc64 switch. (TARGET_DEFAULT): Default MASK_MALLOC64 set. (MASK_RETURN_ADDR): Define. doc/invoke.texi (mmalloc64): Document switch. From-SVN: r150614
2009-08-10alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.Olivier Hainque9-62/+563
* config/alpha/alpha.c (struct machine_function): New flag for VMS, uses_condition_handler. (alpha_expand_builtin_establish_vms_condition_handler): New expander. (alpha_expand_builtin_revert_vms_condition_handler): New expander. (enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values. (code_for_builtin): New insn codes for the new alpha_builtins. (alpha_init_builtins): Register the new functions as BUILT_IN_MD. (alpha_sa_size): Account for uses_condition_handler. (alpha_expand_prologue): Likewise. (alpha_start_function): Likewise. (alpha_expand_epilogue): Likewise. * config/alpha/alpha-protos.h: Prototype the new alpha.c builtin establish/revert expanders. * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define. * config/alpha/alpha.md (builtin_establish_vms_condition_handler): New expander, resorting to the alpha.c associated function. (builtin_revert_vms_condition_handler): Likewise. * config/alpha/vms-gcc_shell_handler.c: New file. Implements __gcc_shell_handler, the static VMS condition handler used as an indirection wrapper to the current dynamically established handler. * config/alpha/vms-unwind.h: Complete rewrite. * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c * config/alpha/vms.h (MD_UNWIND_SUPPORT): Co-Authored-By: Douglas B Rupp <rupp@gnat.com> From-SVN: r150612
2009-08-10alpha.c (alpha_links): Add 'target' field.Eric Botcazou3-30/+44
* config/alpha/alpha.c (alpha_links): Add 'target' field. (alpha_need_linkage): Handle aliases. Return function symbol. (alpha_use_linkage): Rename 'linkage' argument to 'func'. Use ultimate alias target for the linkage name. * config/alpha/alpha.md (movmemdi): Use the symbol returned by alpha_need_linkage for the function symbol. (setmemdi): Likewise. Co-Authored-By: Douglas B Rupp <rupp@gnat.com> From-SVN: r150611
2009-08-10alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.Douglas B Rupp5-9/+76
* config/alpha/alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS. * config/alpha/vms.h (OBJECT_FORMAT_ELF): Define. (ASM_WEAKEN_LABEL): Define. (CRT_CALL_STATIC_FUNCTION): Define. (STARTFILE_SPEC): Add crtbegin.o crtbeginS.o. (ENDFILE_SPEC): Define. (INIT_SECTION_ASM_OP): Define. * config/alpha/vms-dwarf2eh.asm (__EH_FRAME_BEGIN__): Remove. * config/alpha/t-vms (EXTRA_PARTS): Add crtbegin.o crtbeginS.o crtend.o crtendS.o. (MULTILIB_OSDIRNAMES): Define. (shlib_version): Define. (SHLIB_EXT): Define. (SHLIB_OBJS): Define. (SHLIB_NAME): Define. (SHLIB_MULTILIB): Define. (SHLIB_INSTALL): Define. (SHLIB_SYMVEC): Define. (SHLIB_SYMVECX2): Define. (SHLIB_LINK): Define. From-SVN: r150610
2009-08-10alpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for ↵Douglas B Rupp5-62/+56
bounded procedure calls. * config/alpha/alpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded procedure calls. (alpha_start_function): Emit transfer address on nested functions for VMS trampoline call. * config/alpha/t-vms (LIB2FUNCS_EXTRA): Remove vms_tramp.asm since no longer used. * config/alpha/vms-tramp.asm: Remove. * config/alpha/vms.h (TRAMPOLINE_TEMPLATE): Leave undefined since now only data initialized at runtime. From-SVN: r150609