aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-04-20Fix enum conversions which are invalid in C++:Ian Lance Taylor88-659/+1173
gcc/: Fix enum conversions which are invalid in C++: * auto-inc-dec.c (attempt_change): Change 0 to SET in function call. * calls.c (store_one_arg): Change 0 to EXPAND_NORMAL in function call. * cse.c (hash_rtx_cb): Change 0 to VOIDmode in function call. * dbgcnt.c (dbg_cnt_set_limit_by_name): Add cast to enum type. * dbxout.c (dbxout_symbol): Change 0 to VOIDmode in function call. (dbxout_parms): Likewise. * df-core.c (df_set_flags): Change changeable_flags parameter to int. (df_clear_flags): Likewise. * df-problems.c (df_rd_bb_local_compute_process_def): Change top_flag parameter to int. (df_chain_create_bb_process_use): Likewise. (df_chain_add_problem): Change chain_flags parameter to unsigned int. Remove cast. * df-scan.c (df_ref_create): Change ref_flags parameter to int. (df_ref_create_structure, df_def_record_1): Likewise. (df_defs_record, df_uses_record, df_get_call_refs): Likewise. (df_notes_rescan): Change 0 to VOIDmode in function call. (df_get_call_refs, df_insn_refs_collect): Likewise. (df_bb_regs_collect): Likewise. (df_entry_block_defs_collect): Likewise. (df_exit_block_uses_collect): Likewise. * df.h: Update declarations. * double-int.c (double_int_divmod): Add cast to enum type. * dse.c (replace_inc_dec): Reverse parameters to gen_int_mode. * dwarf2out.c (new_reg_loc_descr): Add casts to enum type. (based_loc_descr): Likewise. (loc_descriptor_from_tree_1): Change first_op and second_op to enum dwarf_location_atom. Add cast to enum type. * expmed.c (init_expmed): Change 0 to SET in function call. * expr.c (init_expr_target): Change 0 to VOIDmode in function call. (expand_expr_real_1): Change 0 to EXPAND_NORMAL in function call. (do_store_flag): Likewise. * fixed-value.h (struct fixed_value): Change mode to enum machine_mode. * function.c (assign_parms): Change 0 to VOIDmode in function call. * genautomata.c (insert_automaton_decl): Change 1 to INSERT in function call. (insert_insn_decl, insert_decl, insert_state): Likewise. (automata_list_finish): Likewise. * genrecog.c (process_define_predicate): Add cast to enum type. * gensupport.c (init_predicate_table): Add cast to enum type. * gimple.c (gimple_build_return): Change 0 to ERROR_MARK in function call. (gimple_build_call_1, gimple_build_label): Likewise. (gimple_build_goto, gimple_build_asm_1): Likewise. (gimple_build_switch_1, gimple_build_cdt): Likewise. * gimple.h (GIMPLE_CHECK): Change 0 to ERROR_MARK in function call. (enum fallback): Rename from enum fallback_t. (fallback_t): Typedef as int. * gimple-low.c (lower_builtin_setjmp): Change TSI_SAME_STMT to GSI_SAME_STMT in function call. * ira.c (setup_class_subset_and_memory_move_costs): Add casts to enum type. (setup_reg_class_relations): Likewise. (setup_reg_class_nregs): Change cl to int. Add casts to enum type. (setup_prohibited_class_mode_regs): Add cast to enum type. (setup_prohibited_mode_move_regs): Likewise. * ira-costs.c (record_reg_classes): Change rclass to enum reg_class. (record_address_regs): Change i to enum reg_class. * lists.c (alloc_EXPR_LIST): Add cast to enum type. * machmode.h (GET_MODE_CLASS): Cast value to enum mode_class. (GET_MODE_WIDER_MODE): Cast value to enum machine_mode. (GET_MODE_2XWIDER_MODE): Likewise. (GET_CLASS_NARROWEST_MODE): Likewise. * omp-low.c (expand_omp_for): Add cast to enum type. * optabs.c (debug_optab_libfuncs): Add casts to enum type. * opts.c (enable_warning_as_error): Change kind to diagostic_t. * postreload.c (reload_cse_simplify_operands): Change rclass local to enum reg_class. * predict.c (combine_predictions_for_insn): Change best_predictor and predictor to enum br_predictor. (combine_predictions_for_bb): Likewise. (build_predict_expr): Change assignment to PREDICT_EXPR_OUTCOME to use SET_PREDICT_EXPR_OUTCOME. * real.c (real_arithmetic): Change icode to code in function call. * reginfo.c (init_move_cost): Add casts to enum type. (init_reg_sets_1, init_fake_stack_mems): Likewise. * regmove.c (regclass_compatible_p): Change class0 and class1 to enum reg_class. * reload.c (find_valid_class): Add casts to enum type. (push_reload): Change 0 to NO_REGS in function call. (find_reloads): Change this_alternative to array of enum reg_class. Remove some now-unnecessary casts. (make_memloc): Change 0 to VOIDmode in function call. * reload1.c (reload): Change 0 to VOIDmode in function call. (eliminate_regs_1, elimination_effects): Likewise. (eliminate_regs_in_insn): Likewise. (emit_input_reload_insns): Add cast to enum type. (delete_output_reload): Change 0 to VOIDmode in function call. * reorg.c (insn_sets_resource_p): Convert include_delayed_effects to enum type in function call. * tree.h (PREDICT_EXPR_OUTCOME): Add cast to enum type. (SET_PREDICT_EXPR_OUTCOME): Define. * tree-dump.c (get_dump_file_info): Change phase parameter to int. (get_dump_file_name, dump_begin, dump_enabled_p): Likewise. (dump_initialized_p, dump_flag_name, dump_end): Likewise. (dump_function): Likewise. * tree-dump.h: Update declarations. * tree-pass.h: Update declarations. * varasm.c (assemble_integer): Change mclass to enum mode_class. * config/arm/arm.c (thumb_legitimize_reload_address): Add cast to enum type. (arm_rtx_costs_1): Correct parenthesization. (arm_rtx_costs): Add casts to enum type. (adjacent_mem_locations): Reverse arguments to const_ok_for_op. (vfp_emit_fstmd): Use add_rg_note. (emit_multi_reg_push, emit_sfm): Likewise. (thumb_set_frame_pointer): Likewise. (arm_expand_prologue): Likewise. (arm_regno_class): Change return type to enum reg_class. (thumb1_expand_prologue): Use add_reg_note. * config/arm/arm-protos.h (arm_regno_class): Update declaration. * config/arm/arm.h (INITIALIZE_TRAMPOLINE): Change 0 to LCT_NORMAL in function call. * config/arm/gentune.sh: Add cast to enum type. * config/arm/arm-tune.md: Rebuild. * config/i386/i386.c (ix86_expand_prologue): Use add_reg_note. (ix86_split_fp_branch, predict_jump): Likewise. (ix86_expand_multi_arg_builtin): Change sub_code from enum insn_code to enum rtx_code. (ix86_builtin_vectorized_function): Add cast to enum type. * config/i386/i386.md (truncdfsf2): Change slot to enum ix86_stack_slot. (truncxf<mode>2, isinf<mode>2): Likewise. * config/i386/i386-c.c (ix86_pragma_target_parse): Add cast to enum type. * config/ia64/ia64.c (ia64_split_tmode_move): Use add_reg_note. (spill_restore_mem, do_spill, ia64_expand_prologue): Likewise. (insert_bundle_state): Change 1 to INSERT in function call. (ia64_add_bundle_selector_before): Likewise. * config/ia64/ia64.md (cpu attr): Add cast to enum type. (save_stack_nonlocal): Change 0 to LCT_NORMAL in function call. (restore_stack_nonlocal): Likewise. * config/mips/mips.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL in function call. * config/mips/mips.c (mips_binary_cost): Change 0 to SET in function call. (mips_rtx_costs): Likewise. (mips_override_options): Add casts to enum type. * config/mips/sdemtk.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL in function call. * config/pa/pa.c (legitimize_pic_address): Use add_reg_note. (store_reg, set_reg_plus_d): Likewise. (hppa_expand_prologue, hppa_profile_hook): Likewise. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add cast to enum type. (altivec_expand_vec_set_builtin): Change 0 to EXPAND_NORMAL in function call. (emit_unlikely_jump): Use add_reg_note. (rs6000_emit_allocate_stack): Likewise. (rs6000_frame_related, rs6000_emit_prologue): Likewise. (output_toc): Change 1 to INSERT in function call. (output_profile_hook): Change 0 to LCT_NORMAL in function call. (rs6000_initialize_trampoline): Likewise. (rs6000_init_dwarf_reg_sizes_extra): Change 0 to EXPAND_NORMAL in function call. * config/s390/s390.c (s390_rtx_costs): Add cast to enum type. (s390_expand_movmem): Change 0 to OPTAB_DIRECT in function call. (s390_expand_setmem, s390_expand_cmpmem): Likewise. (save_gprs): Use add_reg_note. (s390_emit_prologue): Likewise. (s390_expand_builtin): Change 0 to EXPAND_NORMAL in function call. * config/sparc/sparc.c (sparc_expand_prologue): Use add_reg_note. (sparc_fold_builtin): Add cast to enum type. * config/spu/spu.c (spu_emit_branch_or_set): Change ior_code to enum insn_code. (spu_expand_prologue): Use add_reg_note. (expand_builtin_args): Change 0 to EXPAND_NORMAL in function call. * c-parser.c (c_parser_attributes): Change VEC back to tree list. (c_parser_postfix_expression_after_primary): Get VEC for list of arguments. Get original types of arguments. Call build_function_call_vec. (cached_expr_list_1, cached_expr_list_2): New static variables. (c_parser_expr_list): Change return type to VEC *. Add p_orig_types parameter. Change all callers. (c_parser_release_expr): New static function. (c_parser_vec_to_tree_list): New static function. * c-typeck.c (build_function_call): Rewrite to build a VEC and call build_function_call_vec. (build_function_call_vec): New function, based on old build_function_call. (convert_arguments): Remove nargs and argarray parameters. Change values to a VEC. Add origtypes parameter. (build_modify_expr): Add rhs_origtype parameter. Change all callers. (convert_for_assignment): Add origtype parameter. Change all callers. If warn_cxx_compat, check for conversion to an enum type when calling a function. (store_init_value): Add origtype parameter. Change all callers. (digest_init): Likewise. (struct init_node): Add origtype field. (add_pending_init): Add origtype parameter. Change all callers. (output_init_element): Likewise. (output_pending_init_elements): Pass origtype from init_node to output_init_element. (process_init_elemnt): Pass origtype from c_expr to output_init_element. (c_finish_return): Add origtype parameter. Change all callers. * c-common.c (sync_resolve_size): Change params to VEC *. Change caller. (sync_resolve_params): Likewise. (sync_resolve_return): Change params to first_param. Change caller. (resolve_overloaded_builtins): Change params to VEC *. Change callers. Save first parameter around call to build_function_call_vec. * c-decl.c (finish_decl): Add origtype parameter. Change all callers. Call build_function_call_vec rather than build_function_call for cleanup. * c-tree.h: Update declarations. * c-common.h: Update declarations. * stub-objc.c (objc_rewrite_function_call): Change parameter from params to first_param. * target.h (struct gcc_target): Change resolve_overloaded_builtin params parameter from tree to void *. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change arglist parameter to have type void *, and to be a pointer to a VEC. * config/rs6000/rs6000-protos.h (altivec_resolve_overloaded_builtin): Update declaration. * config/spu/spu-c.c (spu_resolved_overloaded_builtin): Change fnargs parameter to have type void *, and to be a pointer to a VEC. Call build_function_call_vec instead of build_function_call. * config/spu/spu-protos.h (spu_expand_builtin): Update declaration. gcc/cp/: * typeck.c (build_function_call_vec): New function. (cp_build_function_call): Only pass first parameter to objc_rewrite_function_call. (build_modify_expr): Add rhs_origtype parameter. Change all callers. * decl.c (finish_decl): Add origtype parameter. Change all callers. * semantics.c (finish_call_expr): Pass VEC to resolve_overloaded_builtin. gcc/objc: * objc-act.c (objc_rewrite_function_call): Change parameter from params to first_param. Change all callers. gcc/testsuite: * gcc.dg/Wcxx-compat-3.c: New testcase. From-SVN: r146451
2009-04-20trans.c (unchecked_conversion_lhs_nop): New predicate.Eric Botcazou6-1/+122
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate. (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression if the conversion is on the LHS of an assignment and a no-op. <all> Do not convert the result to the result type if the Parent node is such a conversion. From-SVN: r146450
2009-04-20cp-tree.h (base_access): Change typedef to int.Ian Lance Taylor4-7/+20
* cp-tree.h (base_access): Change typedef to int. * parser.c (cp_parser_omp_flush): Change 0 to OMP_CLAUSE_ERROR. (cp_parser_omp_threadprivate): Likewise. * pt.c (unify_pack_expansion): Add casts to enum type. From-SVN: r146448
2009-04-20ada-tree.h (DECL_HAS_REP_P): Delete.Eric Botcazou8-139/+137
* gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete. * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension of types with unknown discriminants. (substitute_in_type): Rewrite and restrict to formal substitutions. * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P. (update_pointer_to): Update comment. From-SVN: r146447
2009-04-20* verify-impl.c (verify_instructions_0): Add cast to enum type.Ian Lance Taylor2-2/+8
From-SVN: r146446
2009-04-20module.c (import_iso_c_binding_module): Add casts to enum type.Ian Lance Taylor3-10/+27
* module.c (import_iso_c_binding_module): Add casts to enum type. * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum tree_code. (gfc_conv_intrinsic_anyall): Likewise. (gfc_conv_intrinsic_arith): Likewise. (gfc_conv_intrinsic_minmaxloc): Likewise. (gfc_conv_intrinsic_minmaxval): Likewise. (gfc_conv_intrinsic_bitop): Likewise. (gfc_conv_intrinsic_singlebitop): Likewise. (gfc_conv_intrinsic_strcmp): Likewise. From-SVN: r146445
2009-04-20atom.md: Add bypasses with ix86_dep_by_shift_count.Joey Ye5-4/+360
2009-04-20 Joey Ye <joey.ye@intel.com> Xuepeng Guo <xuepeng.guo@intel.com> H.J. Lu <hongjiu.lu@intel.com> * config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count. * config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro. (IX86_LEA_PRIORITY): Likewise. (distance_non_agu_define): New function. (distance_agu_use): Likewise. (ix86_lea_for_add_ok): Likewise. (ix86_dep_by_shift_count): Likewise. * config/i386/i386.md: Call ix86_lea_for_add_ok to decide we should split for LEA. * config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new function. (ix86_dep_by_shift_count): Likewise. Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com> Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com> From-SVN: r146443
2009-04-20expr.c (handled_component_p): Move ...Richard Guenther4-39/+46
2009-04-20 Richard Guenther <rguenther@suse.de> * expr.c (handled_component_p): Move ... * tree.h (handled_component_p): ... here. * tree.def: Re-order BIT_FIELD_REF, COMPONENT_REF, ARRAY_REF, ARRAY_RANGE_REF, VIEW_CONVERT_EXPR, IMAGPART_EXPR and REALPART_EXPR to be in one group. From-SVN: r146427
2009-04-20basic-block.h (get_all_dominated_blocks): Declare.Richard Guenther5-37/+55
2009-04-20 Richard Guenther <rguenther@suse.de> * basic-block.h (get_all_dominated_blocks): Declare. * dominance.c (get_all_dominated_blocks): New function. * tree-cfg.c (get_all_dominated_blocks): Remove. (remove_edge_and_dominated_blocks): Adjust. * tree-ssa-phiprop.c (tree_ssa_phiprop_1): Fold in ... (tree_ssa_phiprop): ... here. Use get_all_dominated_blocks instead of recursing. From-SVN: r146425
2009-04-20[multiple changes]Arnaud Charlet4-7/+66
2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Use_One_Package): In an instance, if two potentially_use_visible and non-overloadable homonyms are available from the actuals of distinct formal packages, retain the current one, which was visible in the generic, to prevent spurious visibility errors. (End_Use_Package): Restore use_visibility when needed. 2009-04-20 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi, vms_data.ads: Update doc. From-SVN: r146424
2009-04-20Make-lang.in: Update dependenciesArnaud Charlet3-184/+202
2009-04-20 Arnaud Charlet <charlet@adacore.com> * gcc-interface/Make-lang.in: Update dependencies * gcc-interface/Makefile.in: Link run-time against winsock2 lib under Windows. From-SVN: r146423
2009-04-20[multiple changes]Arnaud Charlet3-6/+17
2009-04-20 Robert Dewar <dewar@adacore.com> * checks.ads: Fix documentation of range check handling 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for a redundant use_type clause. From-SVN: r146422
2009-04-20sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization, for better ↵Arnaud Charlet2-28/+84
handling of null procedures. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization, for better handling of null procedures. (Check_Overriding_Indicator): Do not emit a warning on a missing overriding indicator on an operator when the type of which the operator is a primitive is private. From-SVN: r146421
2009-04-20sem_attr.adb (Eval_Attribute, [...]): Catch more cases where this attribute ↵Robert Dewar3-10/+109
can be evaluated at compile time. 2009-04-20 Robert Dewar <dewar@adacore.com> * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where this attribute can be evaluated at compile time. (Eval_Attribute, case Range_Length): Same improvement * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure From-SVN: r146420
2009-04-20cgraph.h (cgraph_node_ptr): New type for vector functions.Doug Kwan5-3/+286
* cgraph.h (cgraph_node_ptr): New type for vector functions. (struct cgraph_node_set_def): New type. (cgraph_node_set) New type. Also declare vector functions. (struct cgraph_node_set_element_def): New type. (cgraph_node_set_element): Ditto. (cgraph_node_set_iterator): New iterator type. (cgraph_node_set_new, cgraph_node_set_find, cgraph_node_set_add, cgraph_node_set_remove, dump_cgraph_node_set, debug_cgraph_node_set): New prototypes. (csi_end_p, csi_next, csi_node, csi_start, cgraph_node_in_set_p, cgraph_node_set_size): New inlines. * tree-pass.h (struct cgraph_node_set_def): New decl to avoid including cgraph.h. (struct ipa_opt_pass): Add struct cgraph_node_set_def argument to function 'write_summary'. * ipa.c: Include ggc.h. (hash_cgraph_node_set_element, eq_cgraph_node_set_element, cgraph_node_set_new, cgraph_node_set_add, cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set, debug_cgraph_node_set): New functions. * Makefile.in (ipa.o): Add dependency on GGC_H. From-SVN: r146418
2009-04-20[multiple changes]Arnaud Charlet6-16/+35
2009-04-20 Bob Duff <duff@adacore.com> * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control debugging output. 2009-04-20 Robert Dewar <dewar@adacore.com> * sem_attr.adb: Minor reformatting * gnatcmd.adb: Minor reformatting From-SVN: r146417
2009-04-20[multiple changes]Arnaud Charlet7-31/+77
2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is overloaded and one interpretation matches the context, label the operand with the type of first formal. 2009-04-20 Bob Duff <duff@adacore.com> * debug.ads: Minor comment fix. * debug.adb: Minor comment fixes. 2009-04-20 Javier Miranda <miranda@adacore.com> * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch. * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt is expanded into a call to Raise_Exception, avoid passing the exception-name'identity in runtimes in which this argument is not used. From-SVN: r146416
2009-04-20[multiple changes]Arnaud Charlet4-6/+40
2009-04-20 Jerome Lambourg <lambourg@adacore.com> * impunit.adb: Add i-cil and i-cilobj packages, now needed by the generated bindings for cil. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown discriminants, collect components from the Underlying_Record_View, which will be used in the expansion of the aggregate into assignments. * sem_ch3.adb: Do not label derived type with unknown discriminants as having a private declaration. From-SVN: r146415
2009-04-20[multiple changes]Arnaud Charlet3-3/+38
2009-04-20 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Expand_Subtype_From_Expr): use the underlying_record_view when available, to create the proper constrained subtype for an object of a derived type with unknown discriminants. 2009-04-20 Javier Miranda <miranda@adacore.com> * exp_ch6.ad (Expand_Inlined_Call): Avoid generation of temporaries for formals that have pragma unreferenced. From-SVN: r146414
2009-04-20[multiple changes]Arnaud Charlet9-117/+121
2009-04-20 Pascal Obry <obry@adacore.com> * a-direct.adb (To_Lower_If_Case_Insensitive): Removed. Remove all calls to To_Lower_If_Case_Insensitive to preserve the pathname original casing. 2009-04-20 Robert Dewar <dewar@adacore.com> * g-trasym.adb: Minor reformatting * s-os_lib.adb: Minor reformatting * sem.adb: Minor reformatting Minor code reorganization * sem_ch3.adb: Minor reformatting * sem_ch4.adb: Minor reformatting * sem_ch8.adb: Minor reformatting * sem_type.adb: Minor reformatting From-SVN: r146412
2009-04-20[multiple changes]Arnaud Charlet6-39/+134
2009-04-20 Javier Miranda <miranda@adacore.com> * sem_disp.adb (Find_Dispatching_Type): For subprograms internally generated by derivations of tagged types use the aliased subprogram a reference to locate their controlling type. 2009-04-20 Tristan Gingold <gingold@adacore.com> * g-trasym.adb: Set size of result buffer before calling convert_address. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call to a function returning an array can be interpreted as a call with defaulted parameters whose result is indexed, take into account the types of all the indices of the array result type. 2009-04-20 Pascal Obry <obry@adacore.com> * a-direct.adb, s-os_lib.adb: Minor reformatting. From-SVN: r146411
2009-04-20[multiple changes]Arnaud Charlet4-16/+25
2009-04-20 Nicolas Roche <roche@adacore.com> * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are unsigned long long. So compare local_time and utc_time before computing the difference. 2009-04-20 Eric Botcazou <ebotcazou@adacore.com> * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration of the Underlying_Record_View before that of the derived type. * exp_ch3.adb (Expand_Record_Extension): Do not special-case types with unknown discriminants with regard to the parent subtype. From-SVN: r146410
2009-04-20sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect null ↵Ed Schonberg1-7/+43
exclusion qualifiers for object renaming... 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect null exclusion qualifiers for object renaming declarations. From-SVN: r146409
2009-04-20sem.adb (Semantics, [...]): Include dependents of bodies that are not included.Bob Duff3-37/+123
2009-04-20 Bob Duff <duff@adacore.com> * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies that are not included. This is necessary if the main unit is a generic instantiation. * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items, because it doesn't work if -gnatn is used. From-SVN: r146408
2009-04-20exp_ch3.adb (Make_Predefined_Primitive_Specs, [...]): Do not create the ↵Hristian Kirtchev2-31/+51
declarations and bodies of the primitive subprograms... * exp_ch3.adb (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Do not create the declarations and bodies of the primitive subprograms associated with dispatching select statements when the runtime is in configurable mode. From-SVN: r146407
2009-04-20sem_ch3.adb, [...]: Minor reformattingArnaud Charlet3-72/+66
* sem_ch3.adb, sem_ch6.adb: Minor reformatting * adaint.c (__gnat_is_readable_file): Check for file existence when not using ACL (always the case on remote drives). From-SVN: r146406
2009-04-20[multiple changes]Arnaud Charlet7-29/+87
2009-04-20 Ed Schonberg <schonberg@adacore.com> * rtsfind.adb (RTE, RTE_Record_Component): In Configurable_Run_Time_Mode, do not enable front-end inlining. 2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socthi-vms.adb: Remove now unnecessary WITH clause on System.Address_To_Access_Conversions. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem.adb: Guard against ill-formed subunits. 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com> * a-calfor.adb (Image): Subtract 0.5 from the sub second component only when it is positive. This avoids a potential constraint error raised by the conversion to Natural. 2009-04-20 Thomas Quinot <quinot@adacore.com> * einfo.ads: Minor comment rewording * sem_aggr.adb: Minor comment rewording * sem_ch3.adb, sem_ch6.adb: Minor reformatting 2009-04-20 Pascal Obry <obry@adacore.com> * adaint.c (__gnat_is_readable_file): Check for file existence when not using ACL (always the case on remote drives). From-SVN: r146405
2009-04-20sem_ch8,adb (Analyze_Object_Renaming): Reject ambiguous expressions in an ↵Ed Schonberg2-8/+64
object renaming declaration when... 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch8,adb (Analyze_Object_Renaming): Reject ambiguous expressions in an object renaming declaration when the expected type is an anonymous access type. * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential ambiguity when one interpretation is an anonymous access type and the other is a named access type, and the context itself is anonymous From-SVN: r146404
2009-04-20exp_ch5.adb (Expand_Assign_Array): For the case where the assignment ↵Gary Dismukes1-2/+6
involves a target that has a specified address... 2009-04-20 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment involves a target that has a specified address, don't set Forward_OK and Backward_OK to False if the rhs is an aggregate, since overlap can't occur. From-SVN: r146403
2009-04-20output.adb (Flush_Buffer): Do not indent blank lines.Bob Duff2-1/+17
2009-04-20 Bob Duff <duff@adacore.com> * output.adb (Flush_Buffer): Do not indent blank lines. (Ignore_Output): New procedure for output suppression. From-SVN: r146402
2009-04-20[multiple changes]Arnaud Charlet15-86/+188
2009-04-20 Robert Dewar <dewar@adacore.com> * sinfo.ads: Minor comment fixes * exp_disp.adb: Minor reformatting * gnat1drv.adb: Minor reformatting * output.adb: Minor reformatting * s-vxwext-kernel.ads: Minor reformatting * sem.ads: Minor reformatting * sem.adb: Minor reformatting * sem_elim.adb: Minor reformatting * uname.ads: Minor reformatting 2009-04-20 Eric Botcazou <ebotcazou@adacore.com> * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add a small dope of 4 words to the adjustment to the stack pointer. 2009-04-20 Thomas Quinot <quinot@adacore.com> * xoscons.adb: generate C header s-oscons.h in addition to s-oscons.ads. * socket.c: On VMS, use s-oscons.h. * sem_ch3.adb: Minor reformatting * exp_ch9.adb: Minor reformatting From-SVN: r146401
2009-04-20trans.c (check_for_eliminated_entity): Remove.Eric Botcazou2-23/+6
* gcc-interface/trans.c (check_for_eliminated_entity): Remove. (Attribute_to_gnu): Do not call check_for_eliminated_entity. (call_to_gnu): Likewise. From-SVN: r146400
2009-04-20re PR tree-optimization/39675 (ICE in vect_get_vec_def_for_operand, at ↵Ira Rosen4-11/+46
tree-vect-transform.c:1999) PR tree-optimization/39675 * tree-vect-loop.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: r146399
2009-04-20trans.c (gigi): Declare the name of the compilation unit as the first global ↵Eric Botcazou2-7/+12
name at the very... * gcc-interface/trans.c (gigi): Declare the name of the compilation unit as the first global name at the very beginning. From-SVN: r146398
2009-04-20re PR fortran/35423 (Implement OpenMP workshare)Vasilis Liaskovitis9-31/+317
PR fortran/35423 * trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT, OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define. (ompws_flags): New extern decl. * trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR for the outer dimension if ompws_flags allow it. * trans.c (gfc_generate_code): Clear ompws_flags. * trans-expr.c (gfc_trans_assignment_1): Allow worksharing array assignments inside of !$omp workshare. * trans-stmt.c (gfc_trans_where_3): Similarly for where statements and constructs. * trans-openmp.c (ompws_flags): New variable. (gfc_trans_omp_workshare): Rewritten. * testsuite/libgomp.fortran/workshare2.f90: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r146397
2009-04-20socket.c, [...] (__gnat_inet_pton): Needs to be enabled for HP-UX as well...Thomas Quinot10-79/+60
2009-04-20 Thomas Quinot <quinot@adacore.com> * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads, g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well, since HP-UX supports neither inet_aton nor inet_pton (altough the latter is part of the Single UNIX Specification!). So reorganize code, and share C implementation based on inet_addr(3) with VMS (instead of having a VMS specific Ada implementation in g-socthi-vms.adb). From-SVN: r146396
2009-04-20[multiple changes]Arnaud Charlet5-4/+36
2009-04-20 Gary Dismukes <dismukes@adacore.com> * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function to return the object file name saved by Set_Object_Output_File_Name. 2009-04-20 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers for the standard command line, when argc has been modified since the start of the application. 2009-04-20 Thomas Quinot <quinot@adacore.com> * socket.c (__gnat_inet_pton, Windows case): Adjust return value. WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure. From-SVN: r146395
2009-04-20Update comment.Arnaud Charlet1-1/+1
From-SVN: r146394
2009-04-20[multiple changes]Arnaud Charlet5-7/+42
2009-04-20 Bob Duff <duff@adacore.com> * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside pragma Debug. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated subprogram as Eliminated when source operation is. (Expand_N_Protected_Type_Declaration): Generate protected and unprotected specs for the internal operations, even if the source operation is eliminated. 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Do not create the declarations and bodies of the primitive subprograms associated with dispatching select statements when the runtime is in configurable mode. 2009-04-20 Ed Falis <falis@adacore.com> * s-vxwext-kernel.ads (tickGet): Use tick64Get. From-SVN: r146393
2009-04-20[multiple changes]Arnaud Charlet5-16/+66
2009-04-20 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c: Add support for generating a dummy version of s-oscons.ads providing all possible constants. * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton. * socket.c (__gnat_inet_pton): On Windows make sure we always use the ANSI version (not the UNICODE version) of WSAStringToAddress. 2009-04-20 Pascal Obry <obry@adacore.com> * adaint.c (__gnat_set_OWNER_ACL): properly free memory allocated for the security descriptor and make sure all handles are closed before leaving this procedure. From-SVN: r146392
2009-04-20[multiple changes]Arnaud Charlet19-69/+338
2009-04-20 Javier Miranda <miranda@adacore.com> * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram (Set_Is_Underlying_Record_View): New subprogram * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of private types with unknown discriminants use the underlying record view if available. * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the underlying record view in the full view of private types whose parent has unknown discriminants. (Build_Derived_Record_Type): Avoid generating the class-wide entity associated with an underlying record view. (Derived_Type_Declaration): Avoid deriving parent primitives in underlying record views. * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for records with unknown discriminants. * sem_type.adb (Covers): Handle underlying record views. (Is_Ancestor): Add support for underlying record views. * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a dispatching call if the type of the target object is tagged and has unknown discriminants. * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with unknown discriminants. * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch tables for internally built underlying record views. * sprint.adb (sprint_node_actual): Improve output of aggregates with an empty list of component associations. 2009-04-20 Thomas Quinot <quinot@adacore.com> * sem_ch10.adb: Minor reformatting * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.ads, g-socket.adb (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use standard inet_pton API (and emulate it on platforms that do not support it). (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of DECC$INET_ADDR, imported in Ada. (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C implementation provided by GNAT runtime. (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and Windows. From-SVN: r146391
2009-04-20[multiple changes]Arnaud Charlet3-3/+28
2009-04-20 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Add documentation for -fno-ivopts. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a with_clause if it is the main unit. From-SVN: r146390
2009-04-20[multiple changes]Arnaud Charlet14-73/+361
2009-04-20 Thomas Quinot <quinot@adacore.com> * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization (no behaviour change): Use Append instead of Increment_Last followed by assignment. 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the declarations of all primitives associated with dispatching asynchronous, conditional and timed selects when dispaching calls are forbidden and select statements are not allowed (such as in Ravenscar). (Predefined_Primitive_Bodies): Ditto for bodies. * exp_disp.ad (Make_DT): Do not create and populate the Select_Specific_Data of the dispatch table when dispatching calls are forbidden and select statements are not allowed (such as in Ravenscar). 2009-04-20 Robert Dewar <dewar@adacore.com> * a-tifiio.adb: Minor reformatting 2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike other C library functions, report *failure* with a zero status, and success with a non-zero status. 2009-04-20 Bob Duff <duff@adacore.com> * sem.ads, sem.adb (Walk_Library_Items): New generic procedure. (Semantics): After analyzing each unit, Append it to the Comp_Unit_List, if appropriate. * gnat1drv.adb (Check_Library_Items): New procedure for debugging purposes. (Gnat1drv): Correct comment regarding Back_End_Mode. 2009-04-20 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Add documentation for -fno-inline-small-functions. From-SVN: r146389
2009-04-20s-taprop-irix.adb, [...]: Minor reformatting.Thomas Quinot10-21/+29
2009-04-20 Thomas Quinot <quinot@adacore.com> * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb, output.adb, output.ads, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor reformatting. From-SVN: r146388
2009-04-202009-04-20 Thomas Quinot <quinot@adacore.com>Thomas Quinot12-38/+92
* g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads (GNAT.Sockets.Thin.C_Inet_Addr): Remove. (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library except for VMS where it is reimplemented in Ada using DECC$INET_ADDR. (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3). * debug.adb: Fix typo * gnat_rm.texi: Minor doc fix. * sem_ch7.adb, freeze.adb: Minor reformatting From-SVN: r146387
2009-04-20[multiple changes]Arnaud Charlet8-26/+164
2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Add new constants: Loopback_Inet_Addr Unspecified_Group_Inet_Addr All_Hosts_Group_Inet_Addr All_Routers_Group_Inet_Addr * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add ERANGE (Result too large). (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing propagation of errno to caller. 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com> * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds to 24. Increment Leap_Seconds_Count and add an entry to aggregate Leap_Second_Times. 2009-04-20 Vincent Celier <celier@adacore.com> * mlib-prj.adb (Build_Library): Use the shared library linker, if one has been declared (Library_GCC or Linker'Driver), for the driver name. * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and Linker'Driver is, use Linker'Driver as the shared library linker. (Process_Project_Level_Simple_Attributes): Issue a warning if attribute Library_GCC is declared. (Check_Library_Attributes): Set up the shared linker driver: either Library_GCC or Linker'Driver. Issue a warning if Library_GCC is declared. From-SVN: r146386
2009-04-20sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for checking ↵Gary Dismukes6-17/+63
for references to eliminated subprograms that should... 2009-04-20 Gary Dismukes <dismukes@adacore.com> * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for checking for references to eliminated subprograms that should be flagged. (Eliminate_Error_Message): Update comment to say "references" rather than "calls" (since attribute cases are handled here as well). * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for checking for references to eliminated subprograms that should be flagged. Add with and use of Sem and Sem_Util. * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms. Add with and use of Sem_Elim. * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes applied to eliminated subprograms. (Analyze_Attribute): Reject 'Address and 'Code_Address applied to eliminated subprograms. Add with and use of Sem_Elim. * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls to eliminated subprograms, now handled during Resolve_Call. Remove with and use of Sem_Elim. * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before testing Is_Eliminated, for proper handling of primitive derived from eliminated subprograms. From-SVN: r146385
2009-04-20g-socket.ads (Send_Socket): Fix misleading comment.Thomas Quinot2-11/+14
2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socket.ads (Send_Socket): Fix misleading comment. From-SVN: r146384
2009-04-20Complete previous change.Arnaud Charlet1-0/+2
From-SVN: r146383
2009-04-20[multiple changes]Arnaud Charlet5-63/+126
2009-04-20 Arnaud Charlet <charlet@adacore.com> * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in ASIS mode. 2009-04-20 Geert Bosch <bosch@adacore.com> * a-tifiio.adb (Put): Avoid generating too many digits for certain fixed types with smalls that are neither integer or the reciprocal of an integer. 2009-04-20 Bob Duff <duff@adacore.com> * uname.ads: Minor comment fix. * types.ads: Minor comment fix. From-SVN: r146382