Commit Graph

93416 Commits

Author SHA1 Message Date
Steven Bosscher
ea264ca5a5 ipa-reference.c: Do not include c-common.h, include splay-tree.h.
* ipa-reference.c: Do not include c-common.h, include splay-tree.h.
	* ipa-utils.c: Likewise.
	* ipa-type-escape.c: Likewise.
	* cgraphunit.c Do not include c-common.h.
	* ipa-pure-const.c: Likewise.
	* tree-if-conv.c: Likewise.
	* matrix-reorg.c: Do not include c-common.h and c-tree.h.
	* ipa-struct-reorg.c: Likewise.
	* tree-nomudflap.c: Likewise.
	* tree-ssa-structalias.c: Likewise.

From-SVN: r147035
2009-05-01 20:25:26 +00:00
Steven Bosscher
6c5d4d1a02 store-motion.c: Many cleanups to make this pass a first-class citizen instead of an appendix to...
* store-motion.c: Many cleanups to make this pass a first-class
	citizen instead of an appendix to gcse load motion.  Add TODO list
	to make this pass faster/cleaner/better.

	(struct ls_expr): Post gcse.c-split cleanups.
	Rename to st_expr.  Rename "loads" field to "antic_stores".  Rename
	"stores" field to "avail_stores".
	(pre_ldst_mems): Rename to store_motion_mems.
	(pre_ldst_table): Rename to store_motion_mems_table.
	(pre_ldst_expr_hash): Rename to pre_st_expr_hash, update users.
	(pre_ldst_expr_eq): Rename to pre_st_expr_eq, update users.
	(ldst_entry): Rename to st_expr_entry, update users.
	(free_ldst_entry): Rename to free_st_expr_entry, update users.
	(free_ldst_mems): Rename to free_store_motion_mems, update users.
	(enumerate_ldsts): Rename to enumerate_store_motion_mems, update caller.
	(first_ls_expr): Rename to first_st_expr, update users.
	(next_ls_expr): Rename to next_st_expr, update users.
	(print_ldst_list): Rename to print_store_motion_mems.  Print names of
	fields properly for store motion instead of names inherited from load
	motion in gcse.c.
	(ANTIC_STORE_LIST, AVAIL_STORE_LIST): Remove.
	(LAST_AVAIL_CHECK_FAILURE): Explain what this is.  Undefine when we
	are done with it.

	(ae_kill): Rename to st_kill, update users.
	(ae_gen): Rename to st_avloc, update users.
	(transp): Rename to st_transp, update users.
	(pre_insert_map): Rename to st_insert_map, update users.
	(pre_delete_map): Rename to st_delete_map, update users.
	(insert_store, build_store_vectors, free_store_memory,
	one_store_motion_pass): Update for abovementioned changes.

	(gcse_subst_count, gcse_create_count): Remove.
	(one_store_motion_pass): New statistics counters "n_stores_deleted"
	and "n_stores_created", local variables.

	(extract_mentioned_regs, extract_mentioned_regs_1): Rewrite to
	use for_each_rtx.

	(regvec, compute_store_table_current_insn): Remove.
	(reg_set_info, reg_clear_last_set): Remove.
	(compute_store_table): Use DF caches instead of local dataflow
	solvers.

From-SVN: r147034
2009-05-01 20:22:56 +00:00
Joseph Myers
b02cec6ee6 c-objc-common.c (c_tree_printer): Print identifiers with pp_identifier, not pp_string.
* c-objc-common.c (c_tree_printer): Print identifiers with
	pp_identifier, not pp_string.  Mark "({anonymous})" for
	translation.
	* c-pretty-print.c (pp_c_ws_string): New.
	(pp_c_cv_qualifier, pp_c_type_specifier,
	pp_c_specifier_qualifier_list, pp_c_parameter_type_list,
	pp_c_storage_class_specifier, pp_c_function_specifier,
	pp_c_attributes, pp_c_bool_constant, pp_c_constant,
	pp_c_primary_expression, pp_c_postfix_expression,
	pp_c_unary_expression, pp_c_shift_expression,
	pp_c_relational_expression, pp_c_equality_expression,
	pp_c_logical_and_expression, pp_c_logical_or_expression): Mostly
	use pp_string and pp_c_ws_string in place of pp_identifier and
	pp_c_identifier for non-identifiers.  Mark English strings for
	translation.
	* c-pretty-print.h (pp_c_ws_string): Declare.

cp:
	* cxx-pretty-print.c (is_destructor_name, pp_cxx_unqualified_id,
	pp_cxx_template_keyword_if_needed, pp_cxx_postfix_expression,
	pp_cxx_new_expression, pp_cxx_delete_expression,
	pp_cxx_unary_expression, pp_cxx_assignment_operator,
	pp_cxx_assignment_expression, pp_cxx_expression,
	pp_cxx_function_specifier, pp_cxx_decl_specifier_seq,
	pp_cxx_simple_type_specifier, pp_cxx_type_specifier_seq,
	pp_cxx_exception_specification, pp_cxx_direct_declarator,
	pp_cxx_ctor_initializer, pp_cxx_type_id, pp_cxx_statement,
	pp_cxx_namespace_alias_definition, pp_cxx_template_parameter,
	pp_cxx_canonical_template_parameter, pp_cxx_template_declaration,
	pp_cxx_declaration, pp_cxx_typeid_expression,
	pp_cxx_va_arg_expression, pp_cxx_offsetof_expression,
	pp_cxx_trait_expression): Mostly use pp_string and
	pp_cxx_ws_string in place of pp_identifier and pp_cxx_identifier
	for non-identifiers.  Mark English strings for translation.
	* cxx-pretty-print.h (pp_cxx_ws_string): Define.
	* error.c (dump_template_parameter, dump_template_bindings,
	dump_type, dump_aggr_type, dump_type_prefix, dump_simple_decl,
	dump_decl, dump_template_decl, dump_function_decl,
	dump_parameters, dump_exception_spec, dump_template_parms,
	dump_expr, dump_binary_op, dump_unary_op, op_to_string,
	assop_to_string, args_to_string, cp_print_error_function,
	print_instantiation_full_context,
	print_instantiation_partial_context): Mostly use pp_string and
	pp_cxx_ws_string in place of pp_identifier and pp_cxx_identifier
	for non-identifiers.  Mark English strings for translation.
	(dump_global_iord): Mark strings for translation; use longer
	strings instead of substituting single words.
	(function_category): Return a format string marked for
	translation, not a single word or phrase to substitute in a longer
	phrase.

From-SVN: r147033
2009-05-01 15:09:20 +01:00
Ian Lance Taylor
3b0249cbff * doc/install.texi: Document --enable-linker-build-id option.
From-SVN: r147031
2009-05-01 00:38:54 +00:00
Paul Pluzhnikov
cd5336897e configure.ac (HAVE_LD_BUILDID): New check for ld --build-id support.
* configure.ac (HAVE_LD_BUILDID): New check for ld --build-id
	support.
	(ENABLE_LD_BUILDID): New configuration option.
	* gcc.c [HAVE_LD_BUILDID and ENABLE_LD_BUILDID]
	(LINK_BUILDID_SPEC): New macro.
	(init_spec): If defined, prepend it between LINK_EH_SPEC and
	link_spec.
	* doc/install.texi: Document --enable-linker-build-id option.
	* configure: Rebuild.
	* config.in: Rebuild.

Co-Authored-By: Roland McGrath <roland@redhat.com>

From-SVN: r147029
2009-05-01 00:19:24 +00:00
GCC Administrator
7654725233 Daily bump.
From-SVN: r147028
2009-05-01 00:16:51 +00:00
Adam Nemet
ba6adec4e6 mips.h (FRAME_GROWS_DOWNWARD, [...]): Define new macros.
* config/mips/mips.h (FRAME_GROWS_DOWNWARD,
	MIPS_GP_SAVE_AREA_SIZE): Define new macros.
	(STARTING_FRAME_OFFSET): Return 0 if FRAME_GROWS_DOWNWARD.  Use
	MIPS_GP_SAVE_AREA_SIZE.
	* config/mips/mips.c (struct mips_frame_info): Update comment
	before arg_pointer_offset and hard_frame_pointer_offset.
	(mips_compute_frame_info): Update diagram before function: to
	correctly use stack_pointer_rtx for fp_sp_offset and gp_sp_offset, to
	indicate the position of frame_pointer_rtx with -fstack-protector and
	to show args_size.  Don't allocate cprestore area for leaf functions
	if FRAME_GROWS_DOWNWARD.  Use MIPS_GP_SAVE_AREA_SIZE to set
	cprestore_size.
	(mips_initial_elimination_offset): Update for FRAME_GROWS_DOWNWARD.

From-SVN: r147024
2009-04-30 22:42:58 +00:00
Adam Nemet
794f21f97e * gcc.dg/ssp-1.c (__stack_chk_fail): Remove static.
From-SVN: r147023
2009-04-30 22:33:32 +00:00
Michael Matz
48f5b722f8 fix for PR 39955
From-SVN: r147021
2009-04-30 21:59:49 +00:00
Dave Korn
b65d674492 Fix from Dave Korn in case a backend does not declare any define_register_constraints
From-SVN: r147020
2009-04-30 21:52:15 +00:00
Steve Ellcey
70ccbedbb1 re PR middle-end/39579 (revisions 145171/145172 caused 2 extra failures)
PR middle-end/39579
	* gcc.dg/vect/vect-35.c: XFAIL for IA64 and Sparc.
	* gfortran.dg/vect/fast-math-pr38968.f90: Ditto.

From-SVN: r147018
2009-04-30 21:43:21 +00:00
Jonathan Wakely
4c478ce8d4 create_testsuite_files: Remove thread directory.
2009-04-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* scripts/create_testsuite_files: Remove thread directory.

From-SVN: r147012
2009-04-30 20:04:03 +01:00
Janis Johnson
bab37209c4 re PR testsuite/39776 (FAIL: g++.dg/ext/altivec-15.C)
PR testsuite/39776
	* g++.dg/ext/altivec-15.C: Remove dg-error for messages that are
	no longer issued.

From-SVN: r147010
2009-04-30 17:48:03 +00:00
Rafael Avila de Espindola
f136c8ae80 alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value instead of an int.
2009-04-30  Rafael Avila de Espindola  <espindola@google.com>

	* alloc-pool.c (alloc_pool_descriptor): Use an insert_opion value
	instead of an int.
	* bitmap.c (bitmap_descriptor): Likewise.
	* ggc-common.c (loc_descriptor): Likewise.
	* varray.c (varray_descriptor): Likewise.
	* vec.c (vec_descriptor): Likewise.

From-SVN: r147009
2009-04-30 16:24:31 +00:00
David Ayers
512e7d7fb0 objc.exp (objc_init): Add and set gcc_warning_prefix and gcc_error_prefix variables.
2009-04-30  David Ayers  <ayers@fsfe.org>

	* lib/objc.exp (objc_init): Add	and set gcc_warning_prefix
	and gcc_error_prefix variables.
	* objc.dg/bad-receiver-type.m: Update to match correct
	diagnostics marker.
	* objc.dg/encode-5.m: Likewise.
	* objc.dg/id-1.m: Likewise.
	* objc.dg/method-1.m: Likewise.
	* objc.dg/method-6.m: Likewise.
	* objc.dg/method-7.m: Likewise.
	* objc.dg/method-9.m: Likewise.
	* objc.dg/method-11.m: Likewise.
	* objc.dg/method-20.m: Likewise.
	* objc.dg/private-1.m: Likewise.

From-SVN: r147006
2009-04-30 16:03:44 +00:00
Janne Blomqvist
ee56ac9def Fix PR libfortran/39667
From-SVN: r147004
2009-04-30 18:12:37 +03:00
Eric Botcazou
43fcece879 Fix date
From-SVN: r147003
2009-04-30 14:35:50 +00:00
Eric Botcazou
35debead51 Makefile.in (dce.o): Add $(EXCEPT_H).
* Makefile.in (dce.o): Add $(EXCEPT_H).
	* dce.c: Include except.h and delete redundant vector definitions.
	(deletable_insn_p): Return false for non-call insns that can throw
	if DF is running.

From-SVN: r147002
2009-04-30 14:35:22 +00:00
Steven Bosscher
df35c271df gcse.c (ae_gen): Remove.
* gcse.c (ae_gen): Remove.
	(can_assign_to_reg_p): Rename to can_assign_to_reg_without_clobbers_p
	and make non-static function to make it available in store-motion.c.
	Update call sites with search-and-replace.
	(enumerate_ldsts, reg_set_info, reg_clear_last_set, store_ops_ok,
	extract_mentioned_regs, extract_mentioned_regs_helper,
	find_moveable_store, compute_store_table, load_kills_store, find_loads,
	store_killed_in_insn, store_killed_after, store_killed_before,
	build_store_vectors, insert_insn_start_basic_block, insert-store,
	remove_reachable_equiv_notes, replace_store_insn, delete_store,
	free_store_memory, one_store_motion_pass, gate_rtl_store_motion,
	execute_rtl_store_motion, pass_rtl_store_motion): Move to...
	* store-motion.c: ...new file.  Also copy data structures from gcse.c
	and clean up to remove parts not used by store motion.
	* rtl.h (can_assign_to_reg_without_clobbers_p): Add prototype.
	* Makefile.in (store-motion.o): New rule. Add to OBJS-common.

From-SVN: r147001
2009-04-30 10:51:08 +00:00
Ramana Radhakrishnan
f711a87a64 Fix PR target/38571
From-SVN: r147000
2009-04-30 10:04:52 +00:00
Hans-Peter Nilsson
fa5ed76ed4 * gcse.c (gcse_constant_p): Fix typo in last change.
From-SVN: r146999
2009-04-30 08:10:37 +00:00
Rafael Avila de Espindola
0acbbdb04f plugin.c: Include plugin-version.h only if ENABLE_PLUGIN is defined.
2009-04-30  Rafael Avila de Espindola  <espindola@google.com>

	* plugin.c: Include plugin-version.h only if ENABLE_PLUGIN is defined.

From-SVN: r146998
2009-04-30 08:05:31 +00:00
Andreas Krebbel
82f5c05de6 gcse.c (gcse_constant_p): Make sure the constant is sharable.
2009-04-30  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcse.c (gcse_constant_p): Make sure the constant is sharable.

From-SVN: r146997
2009-04-30 06:54:54 +00:00
James E. Wilson
6d8f135b27 mips.c (mips_add_offset): Use gen_int_mode for CONST_HIGH_PART result.
* config/mips/mips.c (mips_add_offset): Use gen_int_mode for
CONST_HIGH_PART result.

From-SVN: r146995
2009-04-29 17:58:10 -07:00
GCC Administrator
90adb9cbe7 Daily bump.
From-SVN: r146994
2009-04-30 00:17:30 +00:00
Eric Botcazou
3cebfcc5c6 Revert
2009-04-29  Vincent Celier  <celier@adacore.com>

	* sinput-l.adb (Load_File): When preprocessing, set temporarily the
	Source_File_Index_Table entries for the source, to avoid crash when
	reporting an error.

	* gnatcmd.adb (Test_If_Relative_Path): Use
	Makeutl.Test_If_Relative_Path.
	
	* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
	Including_RTS is True.

	* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
	Including_RTS defaulted to False.

	* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
	a default value.

From-SVN: r146991
2009-04-29 23:10:21 +00:00
Anatoly Sokolov
9933b56aff (frame_pointer_required_p): Change return type to bool.
From-SVN: r146990
2009-04-30 02:41:33 +04:00
Anatoly Sokolov
c21ca196b2 avr.c (initial_elimination_offset): Rename to avr_initial_elimination_offset.
* config/avr/avr.c (initial_elimination_offset): Rename to
	avr_initial_elimination_offset.
	(frame_pointer_required_p): Rename to avr_frame_pointer_required_p,
	change return type to bool.
	(avr_can_eliminate): New function.
	* config/avr/avr.h (CAN_ELIMINATE): Use avr_can_eliminate.
	(FRAME_POINTER_REQUIRED): Use avr_frame_pointer_required_p.
	(INITIAL_ELIMINATION_OFFSET): Use avr_initial_elimination_offset.
	* config/avr/avr-protos.h (initial_elimination_offset) : Rename to
	avr_initial_elimination_offset.
	(frame_pointer_required_p): Rename to avr_frame_pointer_required_p.
	(avr_initial_elimination_offset): Define.

From-SVN: r146989
2009-04-30 01:57:03 +04:00
Eric Botcazou
2a34bece47 re PR rtl-optimization/39938 (build broke for cris-elf with dbr_schedule change)
PR rtl-optimization/39938
	* Makefile.in (cfgrtl.o): Add $(INSN_ATTR_H).
	* cfgrtl.c: Include insn-attr.h.
	(rest_of_pass_free_cfg): New function.
	(pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
	* resource.c (init_resource_info): Remove call to df_analyze.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>

From-SVN: r146988
2009-04-29 21:44:26 +00:00
Richard Guenther
5dc7911e06 re PR middle-end/39943 (wrong conversion from unsigned int to float)
2009-04-29  Richard Guenther  <rguenther@suse.de>

	PR target/39943
	* config/i386/i386.c (ix86_vectorize_builtin_conversion): Only
	allow conversion to signed integers.

	* lib/target-supports.exp (check_effective_target_vect_uintfloat_cvt):
	New.
	(check_effective_target_vect_floatuint_cvt): Likewise.
	* gcc.dg/vect/slp-10.c: Adjust.
	* gcc.dg/vect/slp-11.c: Adjust.
	* gcc.dg/vect/slp-12b.c: Adjust.
	* gcc.dg/vect/slp-33.c: Adjust.
	* gcc.c-torture/compile/pr39943.c: New testcase.

From-SVN: r146984
2009-04-29 18:07:23 +00:00
Richard Guenther
1fe479fd50 tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts of floating point vectors if...
2009-04-29  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_assign_binary): Allow vector
	shifts of floating point vectors if the shift amount is
	a constant multiple of the element size.

From-SVN: r146983
2009-04-29 18:03:58 +00:00
Andreas Krebbel
8e00168078 re PR middle-end/39927 (build breakage for cris-elf building libstdc++-v3)
PR middle-end/39927
        PR bootstrap/39929
        * tree-outof-ssa.c (emit_partition_copy): New function.
        (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
        insert_part_to_rtx_on_edge): Perform the partition base var
        copy using emit_partition_copy.
        (insert_value_copy_on_edge): Convert constants to the right mode.
        (insert_rtx_to_part_on_edge): Add UNSIGNEDSRCP parameter.
        (elim_create): Pass the sign of the src to insert_rtx_to_part_on_edge.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r146982
2009-04-29 17:36:21 +00:00
Bernd Schmidt
4e5d521bb5 bfin.c (bfin_optimize_loop): When looking for the last insn before the loop_end instruction...
* config/bfin/bfin.c (bfin_optimize_loop): When looking for the last
	insn before the loop_end instruction, don't look past labels.

From-SVN: r146980
2009-04-29 15:40:06 +00:00
Arnaud Charlet
70b70ce8ca [multiple changes]
2009-04-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
	box-defaulted operator in an instantiation, when the type of the
	operands is not directly visible.

2009-04-29  Gary Dismukes  <dismukes@adacore.com>

	* sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
	(Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
	analysis of the ancestor part. Remove prohibition against limited
	interpretations of the ancestor expression in the case of Ada 2005.
	Revise error message in overloaded case, adding a message to cover
	the Ada 2005 case.

2009-04-29  Thomas Quinot  <quinot@adacore.com>

	* xoscons.adb: Minor reformatting

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

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
	attribute_definition_clauses for the following attributes when the
	-gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
	Storage_Size, Write. Otherwise, we get spurious errors (for example,
	missing Read attribute on remote types).

	* gnat_ugn.texi: Document the change, and add a stern warning.

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Check_Local_Access): Indicate that value tracing is
	disabled not just for the current scope, but for the innermost dynamic
	scope as well.

From-SVN: r146979
2009-04-29 17:36:48 +02:00
Arnaud Charlet
4cc51f5e38 * gcc-interface/Make-lang.in: Update dependencies
From-SVN: r146978
2009-04-29 17:34:32 +02:00
Rafael Espindola
911aa0a6c7 Removed file that should have been removed in a previous commit. Already listed on ChangeLog.
From-SVN: r146977
2009-04-29 15:33:20 +00:00
Arnaud Charlet
107b023cee [multiple changes]
2009-04-29  Vincent Celier  <celier@adacore.com>

	* prj-part.adb: Minor comment update

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): handle properly
	box-initialized records with discriminated subcomponents that are
	constrained by discriminants of enclosing components. New subsidiary
	procedures Add_Discriminant_Values, Propagate_Discriminants.

2009-04-29  Arnaud Charlet  <charlet@adacore.com>

	* g-socket.adb: Code clean up.

From-SVN: r146976
2009-04-29 17:25:01 +02:00
Bernd Schmidt
e50e30817e bfin.c (bfin_optimize_loop): If we need a scratch reg, scan backwards to try to find a constant to initialize it.
* config/bfin/bfin.c (bfin_optimize_loop): If we need a scratch reg,
	scan backwards to try to find a constant to initialize it.

From-SVN: r146974
2009-04-29 15:09:37 +00:00
Richard Guenther
7c90021d8e re PR middle-end/39937 (Revision 146831 failed SPEC CPU 2006)
2009-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/39937
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not
	loose type conversions.
	(forward_propagate_addr_expr): Fix tuplification bug.  Remove
	stmts only if there are no uses of its definition.

	* gcc.c-torture/compile/pr39937.c: New testcase.

From-SVN: r146973
2009-04-29 15:05:22 +00:00
Bernd Schmidt
97a988bcb2 bfin.h (splitting_loops): Declare.
* config/bfin/bfin.h (splitting_loops): Declare.
	* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315):
	Reorder bit definitions to be ascending.
	(WA_LOAD_LCREGS, ENABLE_WA_LOAD_LCREGS): New macros.
	* config/bfin/bfin.c (splitting_loops): New variable.
	(bfin_cpus): Add WA_LOAD_LCREGS as needed.
	(struct loop_info): Remove members INIT and LOOP_INIT.
	(bfin_optimize_loop): Don't set them.  Reorder the code that generates
	the LSETUP sequence.  Allow LC to be loaded from any register, but also
	add a case to push/pop a PREG scratch if ENABLE_WA_LOAD_LCREGS.
	(bfin_reorg_loops): When done, split all BB_ENDs with splitting_loops
	set to 1.
	* config/bfin/bfin.md (loop_end splitter): Use splitting_loops instead
	of reload_completed.
	From Jie Zhang:
	* config/bfin/bfin.md (movsi_insn): Refine constraints.

From-SVN: r146971
2009-04-29 14:13:30 +00:00
Arnaud Charlet
1933c4977e [multiple changes]
2009-04-29  Gary Dismukes  <dismukes@adacore.com>

	* sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
	function entity, to cover the case of a parameterless function call
	that has not been resolved.

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

	* err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
	reformatting and comment updates.

From-SVN: r146970
2009-04-29 15:56:09 +02:00
Arnaud Charlet
51ec70b8be [multiple changes]
2009-04-29  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Update some documentation about interfacing with C++
	Mention -fkeep-inline-functions.

	* gnat_ugn.texi: Minor edits

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
	for a defaulted component of an enclosing aggregate, inherit the type
	from the component declaration of the enclosing type. 

2009-04-29  Albert Lee  <lee@adacore.com>

	* g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
	g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
	(System.OS_Constants): New type Msg_Iovlen_T which follows whether the
	msg_iovlen field in struct msghdr is 32 or 64 bits wide.
	Relocate the Msghdr record type from GNAT.Sockets.Thin to
	GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
	type for the Msg_Iovlen field.

From-SVN: r146969
2009-04-29 15:47:42 +02:00
Arnaud Charlet
9e895ab50a [multiple changes]
2009-04-29  Vincent Celier  <celier@adacore.com>

	* sinput-l.adb (Load_File): When preprocessing, set temporarily the
	Source_File_Index_Table entries for the source, to avoid crash when
	reporting an error.

	* gnatcmd.adb (Test_If_Relative_Path): Use
	Makeutl.Test_If_Relative_Path.
	
	* makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
	Including_RTS is True.

	* makeutl.ads (Test_If_Relative_Path): New Boolean parameter
	Including_RTS defaulted to False.

	* sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
	a default value.

2009-04-29  Javier Miranda  <miranda@adacore.com>

	* gnat_ugn.texi: Adding documentation for non-default C++ constructors.

From-SVN: r146967
2009-04-29 15:39:13 +02:00
Javier Miranda
236fecbf44 sem_ch3.adb (Analyze_Object_Declaration): Disable error message associated with dyamically tagged expressions if...
2009-04-29  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Disable error message
	associated with dyamically tagged expressions if the expression
	initializing a tagged type corresponds with a non default CPP
	constructor.
	(OK_For_Limited_Init): CPP constructor calls are OK for initialization
	of limited type objects.

	* sem_ch5.adb (Analyze_Assignment): Improve the error message reported
	when a CPP constructor is called in an assignment. Disable also the
	error message associated with dyamically tagged expressions if the
	exporession initializing a tagged type corresponds with a non default
	CPP constructor.

	* sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
	non-default C++ constructors.

	* sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.

	* exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
	non-default constructors.
	(Init_Proc): Add support for non-default constructors.

	* exp_disp.adb (Set_Default_Constructor): Removed.
	(Set_CPP_Constructors): Code based in removed Set_Default_Constructor
	but extending its functionality to handle non-default constructors.

	* exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
	constructors. Minor code cleanup removing unrequired label and goto
	statement.

	* exp_ch3.adb (Build_Initialization_Call): Add support for non-default
	constructors.
	(Build_Init_Statements): Add support for non-default constructors.
	(Expand_N_Object_Declaration): Add support for non-default constructors.
	(Freeze_Record_Type): Replace call to Set_Default_Constructor by call
	to Set_CPP_Constructors.

	* exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
	non-default constructors.
	Required to handle its use in build-in-place statements.

	* gnat_rm.texi (CPP_Constructor): Document new extended use of this
	pragma for non-default C++ constructors and the new compiler support
	that allows the use of these constructors in record components, limited
	aggregates, and extended return statements.

From-SVN: r146966
2009-04-29 15:29:08 +02:00
Arnaud Charlet
0ec21a5bb7 [multiple changes]
2009-04-29  Vincent Celier  <celier@adacore.com>

	* prj-part.adb (Parse_Single_Project): Do not attempt to find a
	project extending an abstract project.

2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* targparm.ads: Fix oversight.

From-SVN: r146965
2009-04-29 15:24:07 +02:00
Ed Schonberg
96b2073821 lib-xref.adb (Output_Overridden_Op): Follow several levels of derivation when necessary...
2009-04-29  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Output_Overridden_Op): Follow several levels of
	derivation when necessary, to find the user-subprogram that is actally
	being overridden.

From-SVN: r146964
2009-04-29 15:22:02 +02:00
Robert Dewar
3b4ebfc31b sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected components
2009-04-29  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
	components

From-SVN: r146963
2009-04-29 15:21:10 +02:00
Rafael Avila de Espindola
0c463e1617 Makefile.in (PLUGIN_VERSION_H): New.
2009-04-29  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.in (PLUGIN_VERSION_H): New.
	(OBJS-common): Remove plugin-version.o.
	(plugin.o): Depend on (PLUGIN_VERSION_H).
	(plugin-version.o): Remove.
	* configure: Regenerate
	* configure.ac: Create plugin-version.h.
	* gcc-plugin.h (plugin_gcc_version): Remove.
	(plugin_default_version_check): Change signature.
	* plugin-version.c: Remove.
	* plugin.c: Include plugin-version.h.
	(str_plugin_gcc_version_name): Remove.
	(try_init_one_plugin): Pass gcc version to plugin_init.
	(plugin_default_version_check): Both gcc and plugin versions are now
	arguments.

From-SVN: r146962
2009-04-29 13:20:53 +00:00
Ed Schonberg
eb9cb0fc5e exp_ch9.ads, [...] (Build_Wrapper_Spec): Use source line of primitive operation...
2009-04-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
	primitive operation, rather than source line of synchronized type, when
	building the wrapper for a primitive operation that overrides an
	operation inherited from a progenitor, to improve the error message on
	duplicate declarations.

	* sem_ch3.adb (Process_Full_View): Use new signature of
	Build_Wrapper_Spec.

From-SVN: r146961
2009-04-29 15:20:27 +02:00
Arnaud Charlet
7f7d37cbf1 [multiple changes]
2009-04-29  Robert Dewar  <dewar@adacore.com>

	* prj-nmsc.ads: Minor reformatting

2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
	expression on the existing parent If statement.

From-SVN: r146960
2009-04-29 15:04:57 +02:00