Commit Graph

93391 Commits

Author SHA1 Message Date
Paolo Carlini
bb81f9a082 re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39880
	PR libstdc++/39881
	PR libstdc++/39882
	* include/std/system_error (is_error_code_enum<errc>): Remove.
	(error_condition<>::error_condition(_ErrorCodeEnum,)
	error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
	(error_code<>::error_code(_ErrorCodeEnum,),
	error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
	* testsuite/19_diagnostics/system_error/39880.cc: New.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Adjust.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146780
2009-04-25 19:00:52 +00:00
Joseph Myers
813b9e7e20 Fix typo in comment in previous commit.
From-SVN: r146779
2009-04-25 19:59:20 +01:00
Joseph Myers
92f6fd0b80 re PR c/39564 (variably modified function return types not always diagnosed)
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
2009-04-25 19:55:50 +01:00
Joseph Myers
f88d07724f re PR preprocessor/39559 (constants too large for intmax_t need pedwarns)
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
2009-04-25 19:46:03 +01:00
Jan Hubicka
a3710436b6 tree.c (list_equal_p): New function.
* 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
2009-04-25 18:27:19 +00:00
Eric Botcazou
3764d512d5 re PR bootstrap/39645 (uninitialized variable in genattrtab.c)
PR bootstrap/39645
	* config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
	on the destination of memcpy.

From-SVN: r146772
2009-04-25 13:32:43 +00:00
Eric Botcazou
a687f83c5a Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
	(POSTSTAGE1_FLAGS_TO_PASS): Pick up exported value for GNATBIND.
	* Makefile.in: Regenerate.

From-SVN: r146769
2009-04-25 12:24:08 +00:00
Eric Botcazou
1944058826 decl.c (gnat_to_gnu_entity): Put back kludge.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
	back kludge.

From-SVN: r146766
2009-04-25 10:38:24 +00:00
Paolo Bonzini
1c62e8f226 tm.texi (REGNO_OK_FOR_BASE_P, [...]): Mention strict/nonstrict difference.
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
2009-04-25 10:20:58 +00:00
Jan Hubicka
496a4ef59d tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
* 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
2009-04-25 09:02:05 +00:00
Janus Weil
bc2a4733e2 re PR fortran/39688 (IMPORT of derived type fails)
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
2009-04-25 10:11:48 +02:00
Uros Bizjak
a3a5e3d16c re PR inline-asm/39590 (inline asm %z on amd64 says "ll" instead of "q")
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
2009-04-25 10:10:51 +02:00
Matthias Klose
fd24db293b configure.ac: Create missing directory gnu/java/security/jce/prng.
2009-04-24  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Create missing directory gnu/java/security/jce/prng.
        * configure: Regenerate.

From-SVN: r146759
2009-04-25 08:04:38 +00:00
Ben Elliston
23750d7fe4 genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as the source of a set operation.
* genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
	the source of a set operation.

From-SVN: r146757
2009-04-25 14:51:34 +10:00
Anatoly Sokolov
e6ff3083a0 target.h (struct gcc_target): Add case_values_threshold field.
* 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
2009-04-25 08:34:27 +04:00
Kaveh R. Ghazi
9e3eba1599 re PR bootstrap/39739 (Bootstrapping with in-tree mpfr-2.4.1 and --with-gmp=... errors)
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
2009-04-25 03:24:17 +00:00
H.J. Lu
569c72fc74 ira.c (setup_cover_and_important_classes): Add enum cast.
2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* ira.c (setup_cover_and_important_classes): Add enum cast.

From-SVN: r146753
2009-04-24 17:55:51 -07:00
GCC Administrator
b631c40ac8 Daily bump.
From-SVN: r146752
2009-04-25 00:16:53 +00:00
Vladimir Makarov
ff3cb4680e genpreds.c (write_enum_constraint_num): Output definition of CONSTRAINT_NUM_DEFINED_P macro.
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
2009-04-24 23:35:16 +00:00
DJ Delorie
4f7be84923 sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test __SH2A_SINGLE_ONLY__ also.
* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
__SH2A_SINGLE_ONLY__ also.

From-SVN: r146747
2009-04-24 19:06:14 -04:00
Benjamin Kosnik
92851a93f1 authors.xml: Add space.
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
2009-04-24 20:39:16 +00:00
Richard Guenther
09ed9becfd vrp48.c: Fix.
2009-04-24  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/tree-ssa/vrp48.c: Fix.

From-SVN: r146745
2009-04-24 20:29:06 +00:00
Doug Kwan
dc7497599a copy7.C: Only abort in memcpy if source and destination are the same.
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
2009-04-24 20:25:02 +00:00
Steve Ellcey
735b94a740 ia64.md (movfs_internal): Allow flt constants.
* 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
2009-04-24 19:35:52 +00:00
Richard Guenther
77a302647e tree-vrp.c (extract_range_from_binary_expr): Handle overflow from unsigned additions.
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
2009-04-24 19:10:55 +00:00
Joseph Myers
2b6da65c33 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
2009-04-24 18:24:32 +01:00
H.J. Lu
bda61b12c2 Correct filenames.
From-SVN: r146740
2009-04-24 09:47:20 -07:00
Taras Glek
6a87e1d41d Add missing ChangeLog entries for revision 146607.
From-SVN: r146739
2009-04-24 09:46:13 -07:00
Bernd Schmidt
f5a17c436d 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
2009-04-24 16:19:36 +00:00
Eric Botcazou
c91f9cd48c Fix typo
From-SVN: r146737
2009-04-24 16:12:48 +00:00
Ian Lance Taylor
32e8bb8ebf combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
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
2009-04-24 15:31:38 +00:00
Nick Clifton
ac4fc08a0a iq2000.c (function_arg): Handle TImode values.
* 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
2009-04-24 15:25:40 +00:00
Daniel Kraft
e34ccb4cd1 gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function.
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
2009-04-24 17:20:23 +02:00
Robert Dewar
b178461a93 mlib-prj.adb, [...]: Minor reformatting.
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
2009-04-24 16:56:55 +02:00
Emmanuel Briot
e1c9f239f3 2009-04-24 Emmanuel Briot <briot@adacore.com>
* 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
2009-04-24 16:53:19 +02:00
Andreas Krebbel
f22e891a06 constraints.md ('I', 'J'): Fix condition.
2009-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/constraints.md ('I', 'J'): Fix condition.

From-SVN: r146729
2009-04-24 14:47:33 +00:00
Thomas Quinot
c72a85f21a 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
2009-04-24 16:47:29 +02:00
Arnaud Charlet
3563739bcd [multiple changes]
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
2009-04-24 16:35:21 +02:00
Arnaud Charlet
806b956fed Minor reformatting.
From-SVN: r146726
2009-04-24 16:30:39 +02:00
Arnaud Charlet
757240b39c [multiple changes]
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
2009-04-24 16:30:06 +02:00
Arnaud Charlet
aca5329845 [multiple changes]
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
2009-04-24 15:59:23 +02:00
Arnaud Charlet
e211f8596d (pragma Source_File_Name): add missing documentation for the Index
argument.

From-SVN: r146723
2009-04-24 15:49:15 +02:00
Arnaud Charlet
6db828c3c5 [multiple changes]
2009-04-24  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Minor reformatting

2009-04-24  Emmanuel Briot  <briot@adacore.com>

	* gnat_ugn.texi (Library Projects): add documentation on gnatmake's
	behavior when the project includes sources from multiple languages

2009-04-24  Vincent Celier  <celier@adacore.com>

	* prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
	is a language other than Ada declared.

	* makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
	Imported_First set to True.

From-SVN: r146722
2009-04-24 15:48:25 +02:00
Diego Novillo
ad58aabeb5 gengtype-parse.c (parse_error): Add newline after message.
* gengtype-parse.c (parse_error): Add newline after message.

From-SVN: r146721
2009-04-24 09:46:47 -04:00
Arnaud Charlet
a7a3cf5c10 [multiple changes]
2009-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb: additional optimization to inhibit creation of
	redundant transient scopes.

2009-04-24  Bob Duff  <duff@adacore.com>

	* rtsfind.ads: Minor comment fix

2009-04-24  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
	Get_Path_Name_And_Record_Ada_Sources): merged, since these were
	basically doing the same work (for explicit or implicit sources).
	(Find_Explicit_Sources): renamed to Find_Sources to better reflect its
	role. Rewritten to share some code (testing that all explicit sources
	have been found) between ada_only and multi_language modes.

2009-04-24  Jerome Lambourg  <lambourg@adacore.com>

	* sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
	for CLI imported types.
	(Analyze_Pragma): Allow CIL or Java imported functions returning
	access-to-subprogram types.

From-SVN: r146720
2009-04-24 15:31:46 +02:00
Emmanuel Briot
2324b3fd38 2009-04-24 Emmanuel Briot <briot@adacore.com>
* make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
	(Project_Data.Dir_Path): field removed, since it can be computed
	directly from .Directory, and is needed only once when processing the
	project is buildgpr.adb or make.adb

From-SVN: r146719
2009-04-24 15:25:35 +02:00
Arnaud Charlet
74744c7bda Minor reformatting.
From-SVN: r146718
2009-04-24 15:23:31 +02:00
Robert Dewar
8eaf172367 prj-env.adb, [...]: Minor reformatting.
2009-04-24  Robert Dewar  <dewar@adacore.com>

	* prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
	rtsfind.adb: Minor reformatting.
	Minor code reorganization

From-SVN: r146717
2009-04-24 15:22:53 +02:00
H.J. Lu
879a4a01de sse.md (avxmodesuffixs): Removed.
2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (avxmodesuffixs): Removed.
	(*avx_pinsr<avxmodesuffixs>): Renamed to ...
	(*avx_pinsr<ssevecsize>): This.

From-SVN: r146716
2009-04-24 06:22:20 -07:00
Arnaud Charlet
04f33e7bb4 [multiple changes]
2009-04-24  Arnaud Charlet  <charlet@adacore.com>

	* mlib-prj.adb: Use friendlier english identifier.

	* gnatcmd.adb, make.adb: Use better english identifiers.

2009-04-24  Robert Dewar  <dewar@adacore.com>

	* clean.adb: Minor reformatting

From-SVN: r146715
2009-04-24 15:15:23 +02:00