- 25 Apr, 2009 17 commits
-
-
From-SVN: r146779
Joseph Myers committed -
PR c/39564 * c-decl.c (grokdeclarator): Diagnose declarations of functions with variably modified return type and no storage class specifiers, except for the case of nested functions. Distinguish extern declarations of functions with variably modified return types from those of objects with variably modified types. testsuite: * gcc.dg/vla-19.c: New test. From-SVN: r146778
Joseph Myers committed -
libcpp: PR preprocessor/39559 * expr.c (cpp_interpret_integer): Use a pedwarn for decimal constants larger than intmax_t in C99 mode. gcc/testsuite: * gcc.dg/c99-intconst-2.c: New test. From-SVN: r146777
Joseph Myers committed -
* tree.c (list_equal_p): New function. * tree.h (list_equal_p): Declare. * coretypes.h (edge_def, edge, const_edge, basic_block_def basic_block_def, basic_block, const_basic_block): New. * tree-eh.c (make_eh_edge): EH edges are not abnormal. (redirect_eh_edge): New function. (make_eh_edge_update_phi): EH edges are not abnormal. * except.c: Include tree-flow.h. (list_match): New function. (eh_region_replaceable_by_p): New function. (replace_region): New function. (hash_type_list): New function. (hash_eh_region): New function. (eh_regions_equal_p): New function. (merge_peers): New function. (remove_unreachable_regions): Verify EH tree when checking; merge peers. (copy_eh_region_1): New function. (copy_eh_region): New function. (push_reachable_handler): New function. (build_post_landing_pads, dw2_build_landing_pads): Be ready for regions without label but with live RESX. * except.h (redirect_eh_edge_to_label): New. * tree-flow.h (redirect_eh_edge): New. * coretypes.h (edge_def, edge, const_edge, basic_block_def basic_block_def, basic_block, const_basic_block): Remove. * Makefile.in (except.o): Add dependency on tree-flow.h * tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges. * basic-block.h (edge, const_edge, basic_block, const_basic_block): Remove. From-SVN: r146776
Jan Hubicka committed -
PR bootstrap/39645 * config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE on the destination of memcpy. From-SVN: r146772
Eric Botcazou committed -
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND. (POSTSTAGE1_FLAGS_TO_PASS): Pick up exported value for GNATBIND. * Makefile.in: Regenerate. From-SVN: r146769
Eric Botcazou committed -
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put back kludge. From-SVN: r146766
Eric Botcazou committed -
2009-04-25 Paolo Bonzini <bonzini@gnu.org> * doc/tm.texi (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_CODE_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P): Mention strict/nonstrict difference. From-SVN: r146765
Paolo Bonzini committed -
* tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels. (tree_empty_eh_handler_p): Allow non-EH predecestors; allow region to be reached by different label than left. (update_eh_edges): Update comment; remove edge_to_remove if possible and return true if suceeded. (cleanup_empty_eh): Accept sharing map; handle shared regions. (cleanup_eh): Compute sharing map. * except.c (remove_eh_handler_and_replace): Add argument if we should update regions. (remove_unreachable_regions): Update for label sharing. (label_to_region_map): Likewise. (get_next_region_sharing_label): New function. (remove_eh_handler_and_replace): Add update_catch_try parameter; update prev_try pointers. (remove_eh_handler): Update. (remove_eh_region_and_replace_by_outer_of): New function. * except.h (struct eh_region): Add next_region_sharing_label. (remove_eh_region_and_replace_by_outer_of, get_next_region_sharing_label): Declare. * tree-cfgcleanup.c (tree_forwarder_block_p): Simplify. * tree-cfg.c (split_critical_edges): Split also edges where we can't insert code even if they are not critical. * tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable. (gimple_can_remove_branch_p): EH edges won't remove branch by redirection. * tree-inline.c (update_ssa_across_abnormal_edges): Do handle updating of non-abnormal EH edges. * tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable. (gimple_can_remove_branch_p): EH edges are unremovable by redirection. (split_critical_edges): Split also edges where emitting code on them will lead to splitting later. From-SVN: r146763
Jan Hubicka committed -
2009-04-25 Janus Weil <janus@gcc.gnu.org> PR fortran/39688 * decl.c (gfc_match_import): Use 'sym->name' instead of 'name'. They differ if the symbol has been use-renamed. 2009-04-25 Janus Weil <janus@gcc.gnu.org> PR fortran/39688 * gfortran.dg/import7.f90: New. From-SVN: r146762
Janus Weil committed -
PR target/39590 * configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether the configured assembler supports fildq and fistpq mnemonics. (HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS. * configure: Regenerated. * config.in: Ditto. * config/i386/i386.c (print_operand): Handle 'Z'. ['z']: Remove handling of special fild/fist suffixes. (output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn. * config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output suffix of fild insn. (*floatsi<mode>2_vector_mixed): Ditto. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto. (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto. (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto. * config/i386/gas.h (GAS_MNEMONICS): Remove. From-SVN: r146761
Uros Bizjak committed -
2009-04-24 Matthias Klose <doko@ubuntu.com> * configure.ac: Create missing directory gnu/java/security/jce/prng. * configure: Regenerate. From-SVN: r146759
Matthias Klose committed -
* genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as the source of a set operation. From-SVN: r146757
Ben Elliston committed -
* target.h (struct gcc_target): Add case_values_threshold field. * target-def.h (TARGET_CASE_VALUES_THRESHOLD): New. (TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD. * targhooks.c (default_case_values_threshold): New function. * targhooks.h (default_case_values_threshold): Declare function. * stmt.c (expand_case): Use case_values_threshold target hook. * expr.h (case_values_threshold): Remove declartation. * expr.c (case_values_threshold): Remove function. * doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation. * config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro. * config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro. (avr_case_values_threshold): Declare as static. * config/avr/avr-protos.h (avr_case_values_threshold): Remove. * config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro. * config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro. (mn10300_case_values_threshold): New function. From-SVN: r146756
Anatoly Sokolov committed -
PR bootstrap/39739 * configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST. * Makefile.def (module=mpfr): Use extra_mpfr_configure_flags. * configure, Makefile.in: Regenerate. From-SVN: r146754
Kaveh R. Ghazi committed -
2009-04-24 H.J. Lu <hongjiu.lu@intel.com> * ira.c (setup_cover_and_important_classes): Add enum cast. From-SVN: r146753
H.J. Lu committed -
From-SVN: r146752
GCC Administrator committed
-
- 24 Apr, 2009 23 commits
-
-
2009-04-24 Vladimir Makarov <vmakarov@redhat.com> * genpreds.c (write_enum_constraint_num): Output definition of CONSTRAINT_NUM_DEFINED_P macro. * ira.c (setup_cover_and_important_classes): Use CONSTRAINT_NUM_DEFINED_P instead of CONSTRAINT__LIMIT in #ifdef. From-SVN: r146748
Vladimir Makarov committed -
* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test __SH2A_SINGLE_ONLY__ also. From-SVN: r146747
DJ Delorie committed -
2009-04-24 Benjamin Kosnik <bkoz@redhat.com> * xml/authors.xml: Add space. * xml/faq.xml: Update links. * xml/manual/intro.xml: Same. * xml/manual/abi.xml: Update. * xml/manual/appendix_contributing.xml: Fix typo. * xml/manual/status_cxxtr1.xml: Update links. * xml/manual/status_cxx1998.xml: Same. * xml/manual/status_cxx200x.xml: Same. From-SVN: r146746
Benjamin Kosnik committed -
2009-04-24 Richard Guenther <rguenther@suse.de> * gcc.dg/tree-ssa/vrp48.c: Fix. From-SVN: r146745
Richard Guenther committed -
2008-04-24 Doug Kwan <dougkwan@google.com> * g++.dg/init/copy7.C: Only abort in memcpy if source and destination are the same. From-SVN: r146744
Doug Kwan committed -
* config/ia64/ia64.md (movfs_internal): Allow flt constants. (movdf_internal): Ditto. * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow SFmode and DFmode constants. (ia64_print_operand): Add 'G' format for printing floating point constants. From-SVN: r146743
Steve Ellcey committed -
2009-04-24 Richard Guenther <rguenther@suse.de> * tree-vrp.c (extract_range_from_binary_expr): Handle overflow from unsigned additions. * gcc.dg/tree-ssa/vrp48.c: New testcase. From-SVN: r146742
Richard Guenther committed -
c-typeck.c (set_init_index): Allow array designators that are not integer constant expressions with a... * c-typeck.c (set_init_index): Allow array designators that are not integer constant expressions with a pedwarn if pedantic. testsuite: * gcc.dg/array-const-1.c, gcc.dg/array-const-2.c, gcc.dg/array-const-3.c: New tests. From-SVN: r146741
Joseph Myers committed -
From-SVN: r146740
H.J. Lu committed -
From-SVN: r146739
Taras Glek committed -
simplify-rtx.c (simplify_binary_operation_1, case AND): Result is zero if no overlap in nonzero bits between the operands. * simplify-rtx.c (simplify_binary_operation_1, case AND): Result is zero if no overlap in nonzero bits between the operands. From-SVN: r146738
Bernd Schmidt committed -
From-SVN: r146737
Eric Botcazou committed -
gcc/: * combine.c (record_value_for_reg): Change 0 to VOIDmode, twice. (record_dead_and_set_regs): Likewise. * df.h (struct df_mw_hardreg): Change flags field to int. (struct df_base_ref): Likewise. (struct df): Change changeable_flags field to int. * df-scan.c (df_defs_record): Change clobber_flags to int. * dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum constants rather than #define macros. (enum dwarf_attribute, enum dwarf_location_atom): Likewise. (enum dwarf_type, enum dwarf_endianity_encoding): Likewise. (enum dwarf_calling_convention): Likewise. (enum dwarf_line_number_x_ops): Likewise. (enum dwarf_call_frame_info): Likewise. (enum dwarf_source_language): Likewise. * dwarf2out.c (int_loc_descriptor): Add cast to enum type. (add_calling_convention_attribute): Likewise. * fold-const.c (fold_undefer_overflow_warnings): Add cast to enum type. (combine_comparisons): Change compcode to int. Add cast to enum type. * genrecog.c (maybe_both_true_2): Change c to int. (write_switch): Likewise. Add cast to enum type. * gimplify.c (gimplify_omp_for): Handle return values from gimplify_expr using MIN rather than bitwise or. (gimplify_expr): Add cast to enum type. * ipa-prop.c (update_jump_functions_after_inlining): Change IPA_BOTTOM to IPA_JF_UNKNOWN. * ira.c (setup_class_subset_and_memory_move_costs): Change mode to int. Add casts to enum type. (setup_cover_and_important_classes): Change cl to int. Add casts to enum type. (setup_class_translate): Change cl and mode to int. (ira_init_once): Change mode to int. (free_register_move_costs): Likewise. (setup_prohibited_mode_move_regs): Add casts to enum type. * langhooks.c (add_builtin_function_common): Rework assertion that value fits bitfield. * mcf.c (add_fixup_edge): Change type parameter to edge_type. * omega.c (omega_do_elimination): Avoid math on enum types. * optabs.c (expand_vec_shift_expr): Remove casts to int. * opts.c (set_debug_level): Change 2 to enum constant. Use new int local to handle integral_argment value. * regmove.c (try_auto_increment): Change PUT_MODE to PUT_REG_NOTE_KIND. * reload.c (push_secondary_reload): Add casts to enum type. (secondary_reload_class, find_valid_class): Likewise. * reload1.c (emit_input_reload_insns): Likewise. * rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise. * sel-sched.c (init_hard_regs_data): Change cur_mode to int. * sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum constant. * tree.c (build_common_builtin_nodes): Add casts to enum type. * tree-complex.c (complex_lattice_t): Typedef to int rather than enum type. (expand_complex_libcall): Add casts to enum type. * tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant. * tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code with ERROR_MARK, not NUM_TREE_CODES. (vect_create_epilog_for_reduction): Likewise. (vectorizable_reduction): Don't initialize epiloc_reduc_code. When not using it, set it to ERROR_MARK rather than NUM_TREE_CODES. * tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to enum machine_mode. * tree-vect-stmts.c (new_stmt_vec_info): Change 0 to vect_unused_in_loop. Change 0 to loop_vect. * tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum type. * var-tracking.c (get_init_value): Change return type to enum var_init_status. * vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T. * config/arm/arm.c (fp_model_for_fpu): Change to array to enum arm_fp_model. (arm_override_options): Add casts to enum type. (arm_emit_tls_decoration): Likewise. * config/i386/i386.c (ix86_function_specific_restore): Add casts to enum type. * config/i386/i386-c.c (ix86_pragma_target_parse): Likewise. * config/ia64/ia64.c (ia64_expand_compare): Change magic to int. * config/rs6000/rs6000.c (rs6000_override_options): Add casts to enum type. * config/s390/s390.c (code_for_builtin_64): Change to array of enum insn_code. (code_for_builtin_31): Likewise. (s390_expand_builtin): Change code_for_builtin to enum insn_code const *. * config/sparc/sparc.c (sparc_override_options): Change value field in struct code_model to enum cmodel. In initializer change 0 to NULL and add cast to enum type. * c-typeck.c (build_modify_expr): Add lhs_origtype parameter. Change all callers. Issue a -Wc++-compat warning using lhs_origtype if necessary. (convert_for_assignment): Issue -Wc++-compat warnings about invalid conversions to enum type on assignment. * c-common.h (build_modify_expr): Update declaration. gcc/cp/: * call.c (build_temp): Change 0 to enum constant. * cp-tree.h (cp_lvalue_kind): Typedef to int rather than enum type. * cp-gimplify.c (cp_gimplify_expr): Add cast to enum type. * decl2.c (constrain_visibility): Likewise. * parser.c (cp_lexer_get_preprocessor_token): Likewise. (cp_parser_flags): Typedef to int rather than enum type. (cp_parser_expression_stack_entry): Change prec field to enum cp_parser_prec. * typeck.c (build_modify_expr): Add lhs_origtype parameter. Change all callers. gcc/fortran/: * gfortran.h (enum gfc_symbol_type): New named enum type, broken out of struct gfc_symbol. (struct gfc_symbol): Use enum gfc_symbol_type. (enum gfc_array_ref_dimen_type): New named enum type, broken out of struct gfc_array_ref). (struct gfc_array_ref): Use enum gfc_array_ref_dimen_type. (mod_pointee_as): Update declaration. * decl.c (add_global_entry): Change type to enum gfc_symbol_type. (gfc_mod_pointee_as): Change return type to "match". * module.c (mio_array_ref): Add cast to enum type. (mio_symbol): Likewise. * resolve.c (resolve_global_procedure): Change type to enum gfc_symbol_type. * trans-io.c (gfc_build_st_parameter): Change type to unsigned int. gcc/java/: * jcf-parse.c (handle_constant): Add cast to enum type. gcc/objc/: * objc-act.c (get_super_receiver): Update calls to build_modify_expr to pass new argument. gcc/testsuite/: * gcc.dg/Wcxx-compat-4.c: New testcase. From-SVN: r146735
Ian Lance Taylor committed -
* config/iq2000/iq2000.c (function_arg): Handle TImode values. (function_arg_advance): Likewise. * config/iq2000/iq2000.md (movsi_internal2): Fix the length of the 5th alternative. From-SVN: r146734
Nick Clifton committed -
2009-04-24 Daniel Kraft <d@domob.eu> * gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function. (struct gfc_symtree): Moved `typebound' member inside union. (struct gfc_namespace): Add `tb_sym_root' as new symtree to sort out type-bound procedures there. (gfc_get_tbp_symtree): New procedure. * symbol.c (tentative_tbp_list): New global. (gfc_get_namespace): NULL new `tb_sym_root' member. (gfc_new_symtree): Removed initialization of `typebound' member. (gfc_undo_symbols): Process list of tentative tbp's. (gfc_commit_symbols): Ditto. (free_tb_tree): New method. (gfc_free_namespace): Call it. (gfc_get_typebound_proc): New method. (gfc_get_tbp_symtree): New method. (gfc_find_typebound_proc): Adapt to structural changes of gfc_symtree and gfc_namespace with regards to tbp's. * dump-parse-tree.c (show_typebound): Ditto. * primary.c (gfc_match_varspec): Ditto. Don't reference tbp-symbol as it isn't a symbol any longer. * module.c (mio_typebound_symtree): Adapt to changes. (mio_typebound_proc): Ditto, create symtrees using `gfc_get_tbp_symtree' rather than `gfc_get_sym_tree'. (mio_f2k_derived): Ditto. * decl.c (match_procedure_in_type): Ditto. (gfc_match_generic): Ditto. Don't reference tbp-symbol. * resolve.c (check_typebound_override): Adapt to changes. (resolve_typebound_generic): Ditto. (resolve_typebound_procedures): Ditto. (ensure_not_abstract_walker): Ditto. (ensure_not_abstract): Ditto. (resolve_typebound_procedure): Ditto, ignore erraneous symbols (for instance, through removed tentative ones). * gfc-internals.texi (Type-bound procedures): Document changes. 2009-04-24 Daniel Kraft <d@domob.eu> * gfortran.dg/typebound_generic_1.f03: Change so that no error is expected on already erraneous symbol (renamed to fresh one). From-SVN: r146733
Daniel Kraft committed -
2009-04-24 Robert Dewar <dewar@adacore.com> * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb, clean.adb: Minor reformatting. Minor code reorganization and message improvement. From-SVN: r146732
Robert Dewar committed -
* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads (Alternate_Languages): now implemented as a malloc-ed list rather than through a table. From-SVN: r146731
Emmanuel Briot committed -
2009-04-24 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/constraints.md ('I', 'J'): Fix condition. From-SVN: r146729
Andreas Krebbel committed -
sem_res.adb (Static_Concatenation): Simplify predicate to make it accurately handle cases such as "lit" & "lit" and... 2009-04-24 Thomas Quinot <quinot@adacore.com> * sem_res.adb (Static_Concatenation): Simplify predicate to make it accurately handle cases such as "lit" & "lit" and "lit" & static_string_constant From-SVN: r146728
Thomas Quinot committed -
2009-04-24 Emmanuel Briot <briot@adacore.com> * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element): removed. Lists of projects are now implemented via standard malloc rather than through the table. 2009-04-24 Thomas Quinot <quinot@adacore.com> * sem_ch12.adb: Minor reformatting * g-trasym.adb: Minor reformatting * exp_ch6.adb: Minor reformatting 2009-04-24 Robert Dewar <dewar@adacore.com> * layout.adb (Layout_Type): For packed array type, copy unset size/alignment fields from the referenced Packed_Array_Type. 2009-04-24 Bob Duff <duff@adacore.com> * lib-load.adb (Make_Instance_Unit): Revert previous change, no longer needed after sem_ch12 changes. * sem.adb (Walk_Library_Items): Include with's in some debugging printouts. From-SVN: r146727
Arnaud Charlet committed -
From-SVN: r146726
Arnaud Charlet committed -
2009-04-24 Emmanuel Briot <briot@adacore.com> * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were only ever using the Project field. 2009-04-24 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set Body_Required on the generated compilation node. The new node is linked to its body, but both share the same file, so we do not set this flag on the new unit so as not to create a spurious dependency on a non-existent body in the ali file for the instance. 2009-04-24 Robert Dewar <dewar@adacore.com> * make.adb: Minor reformatting From-SVN: r146725
Arnaud Charlet committed -
2009-04-24 Emmanuel Briot <briot@adacore.com> * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source, Add_Source): merge some code between those. In particular change where file normalization is done to avoid a few extra calls to Canonicalize_File_Name. This also removes the need for passing Current_Dir in a number of subprograms. 2009-04-24 Bob Duff <duff@adacore.com> * lib-load.adb (Make_Instance_Unit): In the case where In_Main is False, assign the correct unit to the Cunit field of the new table entry. We want the spec unit, not the body unit. * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling interface for these. (Maybe_Add_With): Check whether we're trying to a with on the current unit, and avoid creating such directly self-referential with clauses. (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items, and matches existing comments in the spec. * sem.adb (Walk_Library_Items): Add various special cases to make the assertions pass. * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit instead of Parent (N), for uniformity. From-SVN: r146724
Arnaud Charlet committed
-