Commit Graph

93062 Commits

Author SHA1 Message Date
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
Robert Dewar
d1f453b764 einfo.adb (OK_To_Rename): New flag
2009-04-24  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (OK_To_Rename): New flag

	* einfo.ads (OK_To_Rename): New flag

	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
	OK_To_Rename set.

	* exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename

	* sem_ch7.adb (Uninstall_Declarations): Allow for renames from
	OK_To_Rename.

From-SVN: r146714
2009-04-24 15:14:22 +02:00
Bernd Schmidt
ce72fe6cf0 loop-iv.c (simple_rhs_p): Allow expressions that are function_invariant_p.
* loop-iv.c (simple_rhs_p): Allow expressions that are
	function_invariant_p.

From-SVN: r146701
2009-04-24 11:05:59 +00:00
Bernd Schmidt
f63426afd8 loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes...
* loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes;
	follow chains of regs with a single definition, and allow expressions
	that are function_invariant_p.

From-SVN: r146700
2009-04-24 11:01:57 +00:00
Emmanuel Briot
8b9890fa41 prj-proc.adb, [...] (Project_Data.Seen): field removed.
2009-04-24  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
	clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
	field removed. This is not a property of the
	project, just a boolean used to traverse the project tree, and storing
	it in the structure prevents doing multiple traversal in parallel.
	(Project_Data.Checked): also removed, since it was playing the same role
	as Seen when we had two nested loops, and this is no longer necessary
	(For_All_Imported_Projects): removed, since in fact there was already
	the equivalent in For_Every_Project_Imported. The latter was rewritten
	to use a local hash table instead of Project_Data.Seen
	Various loops were rewritten to use For_Every_Project_Imported, thus
	removing the need for Project_Data.Seen. This avoids a lot of code
	duplication

From-SVN: r146699
2009-04-24 12:42:30 +02:00
Arnaud Charlet
76e776e5e8 [multiple changes]
2009-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): Do not create blocks around code
	statements, even though the actual of the call is a concatenation,
	because the argument is static, and we want to preserve warning
	messages  about sequences of code statements that are not marked
	volatile.

	* sem_warn.adb: remove obsolete comment about warning being obsolete

	* s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
	requeued and the delay has expired while within the accept statement
	that executes the requeue, do not perform the requeue and indicate that
	the timed call has been aborted.

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

	* mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
	(Has_Ada_Sources, Has_Foreign_Sources): new subprograms
	(Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
	since they can be computed from the above.

From-SVN: r146698
2009-04-24 12:37:20 +02:00
Arnaud Charlet
e3dd53ec49 Minor reformatting.
From-SVN: r146697
2009-04-24 12:33:02 +02:00
Vincent Celier
481f29eb5e gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
2009-04-24  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree

	* prj-env.adb: Move all global variables to the private part of the
	project tree data.
	Access these new components instead of the global variables no longer
	in existence.
	(Add_To_Path): New Project_Tree_Ref parameter, to access the new
	components that were previously global variables.

	* prj-env.ads (Initialize): New Project_Tree_Ref parameter
	(Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
	parameter.

	* prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
	be able to call Set_Mapping_File_Initial_State_To_Empty with it.

	* prj.adb (Initialize): Do not call Prj.Env.Initialize
	(Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
	components in the private part of the project tree data.

	* prj.ads (Private_Project_Tree_Data): new components moved from
	Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
	Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
	Ada_Prj_Objects_File_Set, Fill_Mapping_File.

From-SVN: r146696
2009-04-24 12:31:57 +02:00
Paolo Bonzini
30349c7400 re PR middle-end/39867 (Wrong result of conditional operator exp < 2 ? 2U : (unsigned int) exp)
2009-04-24  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/39867
	* fold-const.c (fold_cond_expr_with_comparison): When folding
	> and >= to MAX, make sure the MAX uses the same type as the
	comparison operands.

testsuite:
2009-04-24  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/39867
	* gcc.dg/pr39867.c: New.

From-SVN: r146695
2009-04-24 10:29:18 +00:00
Nick Clifton
8d8256c197 frv.c (frv_frame_access): Do not use reg+reg addressing for DImode accesses.
* config/frv/frv.c (frv_frame_access): Do not use reg+reg
        addressing for DImode accesses.
        (frv_print_operand_address): Handle PLUS case.
        * config/frv/frv.h (FIXED_REGISTERS): Mark link register as
        fixed.

From-SVN: r146694
2009-04-24 10:27:06 +00:00
Arnaud Charlet
c54ab0b5d1 [multiple changes]
2009-04-24  Vincent Celier  <celier@adacore.com>

	* opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.

	* prj-nmsc.adb (Check_Library): No error for imports by shared library
	projects, when --unchecked-shared-lib-imports is used.

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

	* sem_ch7.adb: Minor reformatting

From-SVN: r146693
2009-04-24 12:25:20 +02:00
Arnaud Charlet
b3520ca005 [multiple changes]
2009-04-24  Tristan Gingold  <gingold@adacore.com>

	* s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
	mach thread id.

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

	* prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
	Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
	(For_All_Imported_Projects): new procedure
	(For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
	above rather than duplicating code.

From-SVN: r146692
2009-04-24 12:22:43 +02:00
Emmanuel Briot
5d07d0cfa8 2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
	(Source_Id, Source_Data): use a real list to store sources rather than
	using an external table to store the elements. This makes code more
	efficient and more readable.

From-SVN: r146691
2009-04-24 12:18:20 +02:00
Emmanuel Briot
5eed512d4d 2009-04-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
	(Source_Iterator): new type.
        This removes the need for having the sources on three different
        lists at the project tree, project and language level. They are now
        on a single list.

From-SVN: r146689
2009-04-24 12:13:43 +02:00
Emmanuel Briot
5876578bdc gnatcmd.adb, [...]: Remove unused entities
2009-04-24  Emmanuel Briot  <briot@adacore.com>

	* gnatcmd.adb, prj.adb, prj.ads: Remove unused entities

From-SVN: r146688
2009-04-24 12:10:09 +02:00
Ed Schonberg
a9d17e32c8 sem_warn.adb: Add comment on obsolete warning
2009-04-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb: Add comment on obsolete warning

From-SVN: r146687
2009-04-24 12:06:35 +02:00
Arnaud Charlet
fb891c8755 * prj.ads (Language_Ptr): Make a general access type.
From-SVN: r146686
2009-04-24 12:05:56 +02:00
Arnaud Charlet
144c034d55 s-tassta.adb (Create_Task): Fix violation of locking rule.
2009-04-24  Arnaud Charlet  <charlet@adacore.com>

	* s-tassta.adb (Create_Task): Fix violation of locking rule.

From-SVN: r146685
2009-04-24 12:02:16 +02:00
Emmanuel Briot
e0697153ed prj.adb, [...] (Language_Index): renamed to Language_Ptr to better reflect its new implementation.
2009-04-24  Emmanuel Briot  <briot@adacore.com>

	* prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
	to Language_Ptr to better reflect its new implementation.
	(Project_Data.First_Languages_Processing): renamed to Languages now
	that the field with that name is no longer used
	(Project_Data.Languages): removed, no longer used, and duplicates
	information already available through First_Language_Processing.
	(Prj.Language_Index): now an actual pointer, instead of an index into
	a table. This makes the list somewhat more obvious, but more importantly
	removes the need to pass a pointer to the project_tree_data in a few
	places, and makes accessing the attributes of a languages more
	efficient.

From-SVN: r146684
2009-04-24 12:01:21 +02:00
Jan Hubicka
e762c6f4c6 array (at): Do not use builtin_expect.
* include/tr1_impl/array (at): Do not use builtin_expect.
	* include/ext/throw_allocator.h (allocate): Likewise.
	* include/ext/pool_allocator.h (allocate): Likweise.
	* include/ext/bitmap_allocator.h (allocate): Likewise.
	* include/ext/rc_string_base.h (_S_construct): Likewise.
	* include/ext/malloc_allocator.h (allocate): Likewise.
	* include/ext/mt_allocator.h (allocate): Likewise.
	* include/ext/sso_string_base.h (_M_construct): Likewise.
	* include/bits/basic_string.tcc (_S_construct): Likewise.

From-SVN: r146681
2009-04-24 09:35:19 +00:00
Eric Botcazou
aa829fa1ea Fix nit
From-SVN: r146679
2009-04-24 08:41:00 +00:00
Richard Kenner
18e6d56a4d fe.h (Set_Identifier_Casing): Add const to second parameter.
* fe.h (Set_Identifier_Casing): Add const to second parameter.
	* gcc-interface/misc.c (internal_error_function): Make copy of retur
	from pp_formatted_text before assigning BUFFER to it.
	(gnat_init): Likewise for main_input_filename and gnat_argv.
	(gnat_printable_name): Remove cast from call to Set_Identifier_Casing.

Co-Authored-By: Thomas Quinot <quinot@adacore.com>

From-SVN: r146678
2009-04-24 08:37:17 +00:00
Janus Weil
87526ff17c re PR fortran/39861 (ICE with INTRINSIC in module: write_symbol(): bad module symbol)
2009-04-24  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39861
	PR fortran/39864
	* symbol.c (gfc_copy_formal_args_intr): Set attr.flavor and attr.dummy
	for the formal arguments.


2009-04-24  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39861
	PR fortran/39864
	* gfortran.dg/intrinsic_1.f90: New.

From-SVN: r146677
2009-04-24 10:34:14 +02:00
Eric Botcazou
e6e15ec950 Fix nits
From-SVN: r146676
2009-04-24 08:24:38 +00:00
Eric Botcazou
caa9d12a2b ttypes.ads (Target_Double_Float_Alignment): New variable.
* ttypes.ads (Target_Double_Float_Alignment): New variable.
	(Target_Double_Scalar_Alignment): Likewise.
	* get_targ.ads (Get_Strict_Alignment): Adjust external name.
	(Get_Double_Float_Alignment): New imported function.
	(Get_Double_Scalar_Alignment): Likewise.
	* layout.adb (Set_Elem_Alignment): Take into account specific caps for
	the alignment of "double" floating-point types and "double" or larger
	scalar types, as parameterized by Target_Double_Float_Alignment and
	Target_Double_Scalar_Alignment respectively.
	* gcc-interface/gigi.h (double_float_alignment): Declare.
	(double_scalar_alignment): Likewise.
	(is_double_float_or_array): Likewise.
	(is_double_scalar_or_array): Likewise.
	(get_target_double_float_alignment): Likewise.
	(get_target_double_scalar_alignment): Likewise.
	* gcc-interface/targtyps.c (get_strict_alignment): Rename into...
	(get_target_strict_alignment): ...this.
	(get_target_double_float_alignment): New function.
	(get_target_double_scalar_alignment): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
	Test the presence of an alignment clause for under-aligned integer
	types.  Take into account specific caps for the alignment of "double"
	floating-point types and "double" or larger scalar types, as
	parameterized by Target_Double_Float_Alignment and
	Target_Double_Scalar_Alignment respectively.
	(validate_alignment): Likewise.
	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
	(gigi): Initialize double_float_alignment and double_scalar_alignment.
	* gcc-interface/utils.c (double_float_alignment): New global variable.
	(double_scalar_alignment): Likewise.
	(is_double_float_or_array): New predicate.
	(is_double_scalar_or_array): Likewise.

From-SVN: r146675
2009-04-24 08:04:38 +00:00
Eric Botcazou
1275de7d6e utils2.c (build_cond_expr): Move SAVE_EXPR ahead of the conditional expression only if...
* gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
	the conditional expression only if it is common to both arms.

From-SVN: r146673
2009-04-24 07:20:19 +00:00
Eric Botcazou
6f61bd4124 gigi.h (build_call_alloc_dealloc): Update comment.
* gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
	arguments to build_allocator.
	* gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
	Remove code handling special allocator and assert its uselessness.

From-SVN: r146671
2009-04-24 07:09:22 +00:00
Eric Botcazou
0d858698b6 decl.c (gnat_to_gnu_entity): If an alignment is specified, do not promote that of the component type beyond it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
	alignment is specified, do not promote that of the component type
	beyond it.
	<E_Array_Subtype>: Likewise.

From-SVN: r146670
2009-04-24 07:01:41 +00:00
Jakub Jelinek
6216f94e37 re PR rtl-optimization/39794 (Miscompile with -O2 -funroll-loops)
PR rtl-optimization/39794
	* alias.c (canon_true_dependence): Add x_addr argument.
	* rtl.h (canon_true_dependence): Adjust prototype.
	* cse.c (check_dependence): Adjust canon_true_dependence callers.
	* cselib.c (cselib_invalidate_mem): Likewise.
	* gcse.c (compute_transp): Likewise.
	* dse.c (scan_reads_nospill): Likewise.
	(record_store, check_mem_read_rtx): Likewise.  For non-const-or-frame
	addresses pass base->val_rtx as mem_addr, for const-or-frame addresses
	canon_base_addr of the group, plus optional offset.
	(struct group_info): Rename canon_base_mem to
	canon_base_addr.
	(get_group_info): Set canon_base_addr to canon_rtx of base, not
	canon_rtx of base_mem.

	* gcc.dg/pr39794.c: New test.

From-SVN: r146669
2009-04-24 08:58:02 +02:00
Paolo Bonzini
6de7a512f0 sh.c (sh_expand_prologue, [...]): Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS.
2009-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
	Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS.

From-SVN: r146668
2009-04-24 06:30:15 +00:00