Commit Graph

103535 Commits

Author SHA1 Message Date
Jerry DeLisle 97de8e32b6 re PR fortran/45943 (gfortran.dg/streamio_16.f90: Fails under MinGW64 - probably \r\n vs \n issue)
2010-10-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/45943
	* gfortran.dg/streamio_16.f90: Update test.

From-SVN: r165208
2010-10-08 22:28:49 +00:00
Jakub Jelinek 9ad17c6ae8 re PR rtl-optimization/45903 (unnecessary load of 32/64bit variable when only 8 bits are needed)
PR tree-optimization/45903
	* simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
	of *SHIFTRT of MEM.

	* gcc.target/i386/pr45903.c: New test.

From-SVN: r165202
2010-10-08 22:49:44 +02:00
Jakub Jelinek 509dd3804c re PR rtl-optimization/45903 (unnecessary load of 32/64bit variable when only 8 bits are needed)
PR tree-optimization/45903
	* simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
	of *SHIFTRT of MEM.

	* gcc.target/i386/pr45903.c: New test.

From-SVN: r165200
2010-10-08 22:49:19 +02:00
Paolo Carlini 0fd76d8e4c future (_Result_alloc): Derive from _Alloc, exploit the Empty Base Optimization.
2010-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (_Result_alloc): Derive from _Alloc,
	exploit the Empty Base Optimization.

From-SVN: r165194
2010-10-08 20:30:44 +00:00
Richard Guenther bd39cb5225 lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers): Re-construct BLOCK_VARS.
2010-10-08  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
	Re-construct BLOCK_VARS.
	(lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
	* lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
	* tree.c (free_lang_data_in_block): Remove.
	(free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
	Do not touch the BLOCK tree.
	* expr.c (expand_expr_real_1): Allow externals.

From-SVN: r165191
2010-10-08 15:21:29 +00:00
Richard Guenther 8686c474f7 lto-streamer-out.c (lto_output_ts_block_tree_pointers): Do not output BLOCK_SUBBLOCKS.
2010-10-08  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-out.c (lto_output_ts_block_tree_pointers):
	Do not output BLOCK_SUBBLOCKS.
	* lto-streamer-in.c (lto_input_ts_block_tree_pointers):
	Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
	Re-construct BLOCK_SUBBLOCKS of parent block.
	(lto_input_ts_binfo_tree_pointers): Reserve exact space needed
	for BINFO_BASE_ACCESSES.

From-SVN: r165190
2010-10-08 15:20:13 +00:00
Joseph Myers a75bfaa6cd Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
* Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
	(TREE_H): Include $(FLAGS_H) instead of options.h.
	(opts-common.o): Depend on $(FLAGS_H) instead of options.h.
	* c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
	* common.opt (flag_complex_method, flag_evaluation_order,
	flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
	Variable declarations.
	* configure.ac (tm_include_list): Include flags.h instead of
	options.h.
	* configure: Regenerate.
	* flags.h: Condition out contents for target libraries.  Include
	options.h at end of file.
	(flag_complex_method, flag_ira_algorithm, flag_ira_region,
	flag_evaluation_order, flag_warn_unused_result): Remove.
	* gcc.c (main): Intialize global_options with global_options_init.
	* langhooks-def.h (lhd_init_options_struct): Declare.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
	(LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
	* langhooks.c (lhd_init_options_struct): New.
	* langhooks.h (struct lang_hooks): Add init_options_struct.
	Update comment on init_options.
	* optc-gen.awk: Generate initializer for global_options_init, not
	global_options.
	* opth-gen.awk: Condition out structure declarations for target
	libraries.  Declare global_options_init.
	* opts-common.c: Include flags.h instead of options.h.
	* opts.c (flag_warn_unused_result): Remove.
	(read_cmdline_options): Take gcc_options parameters.  Pass them to
	read_cmdline_option.
	(initial_lang_mask, initial_min_crossjump_insns,
	initial_max_fields_for_field_sensitive,
	initial_loop_invariant_max_bbs_in_loop): Define at file scope.
	(init_options_once): New.  Split out of decode_options.
	(init_options_struct): New.  Split out of decode_options.
	(decode_cmdline_options_to_array_default_mask): New.
	(default_options_optimization): New.  Split out of decode_options.
	(decode_options): Move most code to other functions.  Update call
	to read_cmdline_options.
	(finish_options): New.  Split out of decode_options.
	* opts.h (decode_options): Add gcc_options parameters.
	(init_options_once, init_options_struct,
	decode_cmdline_options_to_array_default_mask): New.
	* toplev.c (flag_complex_method, flag_ira_algorithm,
	flag_ira_region, flag_evaluation_order): Remove.
	(general_init): Use global_options_init for initial flag values
	for global_dc.
	(toplev_main): Call init_options_once, init_options_struct,
	lang_hooks.init_options_struct,
	decode_cmdline_options_to_array_default_mask and
	lang_hooks.init_option before decode_options.  Update arguments to
	decode_options.
	* tree.h: Include flags.h instead of options.h.

ada:
	* gcc-interface/misc.c (gnat_init_options_struct): New.  Split out
	from gnat_init_options.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

c-family:
	* c-common.c (parse_optimize_options): Call
	decode_cmdline_options_to_array_default_mask before
	decode_options.  Update arguments to decode_options.
	* c-common.h (c_common_init_options_struct): Declare.
	* c-opts.c (c_common_init_options_struct): New.  Split out from
	c_common_init_options.

cp:
	* cp-objcp-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

fortran:
	* f95-lang.c (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
	* gfortran.h (gfc_init_options_struct): Declare.
	* options.c (gfc_init_options_struct): New.  Split out from
	gfc_init_options.

java:
	* lang.c (java_init_options_struct): New.  Split out from
	java_init_options.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

lto:
	* lto-lang.c (lto_init_options): Change to
	lto_init_options_struct.  Update parameters.
	(LANG_HOOKS_INIT_OPTIONS): Don't define.
	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.

From-SVN: r165189
2010-10-08 16:17:32 +01:00
Arnaud Charlet e899aa1613 * gnat.dg/interface5.adb: Compile with warnings disabled.
From-SVN: r165186
2010-10-08 16:32:54 +02:00
Nathan Froyd ab86687c53 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
From-SVN: r165184
2010-10-08 13:41:54 +00:00
Nathan Froyd 9adafb9fd1 sparc-protos.h (function_arg_advance, [...]): Delete.
* config/sparc/sparc-protos.h (function_arg_advance, function-arg):
	Delete.
	* config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
	(FUNCTION_INCOMING_ARG): Delete.
	* config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
	(function_arg_slotno): Likewise.  Take bool arguments.
	(sparc_arg_partial_bytes): Update call to it.
	(function_arg): Rename to...
	(sparc_function_arg_1): ...this.  Take bool arguments.
	(sparc_function_arg, sparc_function_incoming_arg): New functions.
	(function_arg_advance): Rename to...
	(sparc_function_arg_advance): ...this.  Take bool argument.
	(TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
	(TARGET_FUNCTION_INCOMING_ARG): Define.

From-SVN: r165183
2010-10-08 13:29:29 +00:00
Nathan Froyd 74f41f0282 bfin-protos.h (function_arg, [...]): Delete.
* config/bfin/bfin-protos.h (function_arg, function_arg_advance):
	Delete.
	* config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/bfin/bfin.c (function_arg_advance): Rename to...
	(bfin_function_arg_advance): ...this.  Make static.  Take const_tree
	and bool arguments.
	(function_arg): Rename to...
	(bfin_function_arg): ...this.  Make static.  Take const_tree and bool
	arguments.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165182
2010-10-08 13:22:00 +00:00
Nathan Froyd 3a2bd2f465 score-protos.h (score_function_arg): Delete.
* config/score/score-protos.h (score_function_arg): Delete.
	(score_function_arg_advance): Delete.
	* config/score/score3.h (score3_function_arg_advance): Take a
	const_tree and a bool.
	(score3_function_arg): Likewise.
	* config/score/score7.h (score7_function_arg_advance): Likewise.
	(score7_function_arg): Likewise.
	* config/score/score3.c (score3_classify_arg): Likewise.
	(score3_function_arg_advance, score3_function_arg): Likewise.
	* config/score/score7.c (score7_classify_arg): Likewise.
	(score7_function_arg_advance, score7_function_arg): Likewise.
	* config/score/score.c (score_function_arg_advance): Likewise.
	(score_function_arg): Likewise.  De-const-ify `cum' argument.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165181
2010-10-08 13:20:07 +00:00
Nathan Froyd 3cb1da52cb s390-protos.h (s390_function_arg_advance): Delete.
* config/s390/s390-protos.h (s390_function_arg_advance): Delete.
	(s390_function_arg): Delete.
	* config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/s390/s390.c (s390_function_arg_float): Take a const_tree.
	(s390_function_arg_integer): Likewise.
	(s390_function_arg_advance): Make static.  Take a const_tree and
	a bool.
	(s390_function_arg): Likewise.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165180
2010-10-08 13:18:51 +00:00
Nathan Froyd 925ed112f0 spu-protos.h (spu_function_arg): Delete.
* config/spu/spu-protos.h (spu_function_arg): Delete.
	* config/spu/spu.h (FUNCTION_ARG): Delete.
	(FUNCTION_ARG_ADVANCE): Move code to ...
	* config/spu/spu.c (spu_function_arg_advance): New function.
	(spu_function_arg): Make static.  Take a const_tree and a bool.
	(spu_setup_incoming_varargs): Call spu_function_arg_advance.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165179
2010-10-08 13:16:43 +00:00
Nathan Froyd 9ad6bebe4e tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
* tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
	(init_vn_nary_op_from_op): New function.
	(init_vn_nary_op_from_stmt): New function.
	(vn_nary_op_lookup_1): New function.
	(sizeof_vn_nary_op): New function.
	(alloc_vn_nary_op_noinit): New function.
	(alloc_vn_nary_op): New function.
	(vn_nary_op_insert_into): New function.
	(vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
	(vn_nary_op_lookup): Likewise.
	(vn_nary_op_lookup_stmt): Likewise.
	(vn_nary_op_insert_pieces): Likewise.
	(vn_nary_op_insert): Likewise.
	(vn_nary_op_insert_stmt): Likewise.
	(copy_nary): Likewise.
	(set_value_id_for_result): New function.
	(set_hashtable_value_ids): Call it.

From-SVN: r165178
2010-10-08 13:10:47 +00:00
Arnaud Charlet b878c9389e [multiple changes]
2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.adb: Cleanup Is_Immutably_Limited_Type.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb: Minor reformatting.
	* exp_ch5.adb: Add comment.

From-SVN: r165177
2010-10-08 15:10:27 +02:00
Tejas Belagod 78e27dd3b4 Add PR buzilla numbers to ChangeLog
From-SVN: r165176
2010-10-08 14:08:24 +01:00
Arnaud Charlet 40f07b4b41 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Check_Duplicate_Pragma): Check for entity match
	* gcc-interface/Make-lang.in: Update dependencies.
	* einfo.ads: Minor reformatting.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, sem_aux.adb,
	sem_aux.ads, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
	exp_ch3.adb: Change Is_Inherently_Limited_Type to
	Is_Immutably_Limited_Type to accord with new RM terminology.
	* sem_aux.adb (Is_Immutably_Limited_Type): A type that is a descendant
	of a formal limited private type is not immutably limited in a generic
	body.

From-SVN: r165175
2010-10-08 15:08:03 +02:00
Arnaud Charlet af31bffbb0 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Check_Duplicate_Pragma): New procedure
	Add calls to this new procedure where appropriate

2010-10-08  Vincent Celier  <celier@adacore.com>

	* a-textio.adb (Get_Chunk): Code clean up.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* a-strbou.ads, a-strfix.adb, a-strfix.ads, a-strsea.adb, a-strsea.ads,
	a-strsup.adb, a-strsup.ads, a-strunb-shared.adb, a-strunb-shared.ads,
	a-strunb.adb, a-strunb.ads, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
	a-stwise.adb, a-stwise.ads, a-stwisu.adb, a-stwisu.ads,
	a-stwiun-shared.adb, a-stwiun-shared.ads, a-stwiun.adb, a-stwiun.ads,
	a-stzbou.ads, a-stzfix.adb, a-stzfix.ads, a-stzsea.adb, a-stzsea.ads,
	a-stzsup.adb, a-stzsup.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
	a-stzunb.adb, a-stzunb.ads (Find_Token): New version with From
	parameter.

From-SVN: r165174
2010-10-08 15:02:55 +02:00
Nathan Froyd 0db0c8367c fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
* config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
	* config/fr30/fr30.md (leave_func): Rewrite without post_inc.

From-SVN: r165173
2010-10-08 13:01:54 +00:00
Robert Dewar 6f123e484c sem_cat.adb (Check_Categorization_Dependencies): Remote types packages can depend on preleborated packages.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_cat.adb (Check_Categorization_Dependencies): Remote types
	packages can depend on preleborated packages.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Pragmas
	Interrupt_Handler and Attach_Handler not allowed in generics.

From-SVN: r165172
2010-10-08 14:57:10 +02:00
Robert Dewar 87003b2853 ali.adb: Set Allocator_In_Body if AB parameter present on M line
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* ali.adb: Set Allocator_In_Body if AB parameter present on M line
	* ali.ads (Allocator_In_Body): New flag
	* bcheck.adb (Check_Consistent_Restrictions): Handle case of main
	program violating No_Allocators_After_Elaboration restriction.
	* gnatbind.adb (No_Restriction_List): Add entries for
	No_Anonymous_Allocators, and No_Allocators_After_Elaboration.
	* lib-load.adb: Initialize Has_Allocator flag
	* lib-writ.adb: Initialize Has_Allocator flag
	(M_Parameters): Set AB switch if Has_Allocator flag set
	* lib-writ.ads: Document AB flag on M line
	* lib.adb (Has_Allocator): New function
	(Set_Has_Allocator): New procedure
	* lib.ads (Has_Allocator): New function
	(Set_Has_Allocator): New procedure
	(Has_Allocator): New flag in Unit_Record
	* sem_ch4.adb (Analyze_Allocator): Add processing for
	No_Allocators_After_Elaboration.

From-SVN: r165171
2010-10-08 14:54:03 +02:00
Arnaud Charlet 0b89eea892 [multiple changes]
2010-10-08  Geert Bosch  <bosch@adacore.com>

	* a-textio.adb (Get_Line): Rewrite to use fgets instead of fgetc.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Relax semantic rule of
	Java_Constructors because in the JRE library we generate occurrences
	in which the "this" parameter is not the first formal.

From-SVN: r165170
2010-10-08 14:49:46 +02:00
Arnaud Charlet bd622b6454 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* par-ch3.adb: Minor reformatting.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT): Do not generate dispatch tables for CIL/Java
	types.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* par-ch8.adb (P_Use_Type_Clause): Recognize ALL keyword in Ada 2012
	mode.
	* sinfo.adb (Use_Type_Clause): Add All_Present flag.
	* sinfo.ads (Use_Type_Clause): Add All_Present flag.
	* s-rident.ads: Add entry for No_Allocators_After_Elaboration,
	No_Anonymous_Allocators.

2010-10-08  Vincent Celier  <celier@adacore.com>

	* bindgen.adb (Gen_Restrictions_Ada): No new line after last
	restriction, so that the last comma is always replaced with a left
	parenthesis.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add specific check on the type of the
	first formal of delegates.

From-SVN: r165169
2010-10-08 14:40:25 +02:00
Robert Dewar 3786bbd19b sem_aggr.adb: Minor reformatting.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb: Minor reformatting.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* exp_imgv.adb (Expand_Image_Attribute): Handle special calling
	sequence for soft hyphen for Character'Image case.
	* rtsfind.ads (Image_Character_05): New entry
	* s-imgcha.adb (Image_Character_05): New procedurew
	* s-imgcha.ads (Image_Character_05): New procedure
	* s-imgwch.adb (Image_Wide_Character): Deal with Ada 2005 soft hyphen
	case.
	* s-valcha.adb (Value_Character): Recognize SOFT_HYPHEN for 16#AD#
	* sem_attr.adb (Eval_Attribute, case Width): Handle soft_hyphen name
	properly.

From-SVN: r165168
2010-10-08 14:34:08 +02:00
Javier Miranda bcae2eaac7 sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of pragmas CIL_Constructor and Java_Constructor.
* sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
	pragmas CIL_Constructor and Java_Constructor.

From-SVN: r165167
2010-10-08 14:30:52 +02:00
Robert Dewar 394860586c sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop for case of Wide_[Wide_]Character.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop
	for case of Wide_[Wide_]Character.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb: Minor reformating
	Minor code reorganization.

From-SVN: r165166
2010-10-08 14:30:30 +02:00
Javier Miranda fe2eee8e21 sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of pragmas CIL_Constructor and Java_Constructor.
2010-10-08  Javier Miranda  <miranda@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
	pragmas CIL_Constructor and Java_Constructor.
	* exp_ch3.adb (Expand_Freeze_Record_Type): Do not generate the
	predefined primitives for CIL/Java tagged types.

From-SVN: r165165
2010-10-08 14:27:41 +02:00
Jonathan Wakely 708f539dd1 re PR libstdc++/45403 (python pretty printer for std::string requires GDB 7.1)
PR libstdc++/45403
	* python/libstdcxx/v6/printers.py: Check for lazy_string support.

From-SVN: r165163
2010-10-08 12:31:56 +01:00
Arnaud Charlet 105b5e659a [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor reformatting.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb: Add call to Validate_Independence.
	* par-prag.adb: Add dummy entries for Independent,
	Independent_Componentsa.
	* sem_ch13.adb (Validate_Independence): New procedure
	(Initialize): Initialize address clause and independence check tables
	* sem_ch13.ads (Independence_Checks): New table
	(Validate_Independence): New procedure
	* sem_prag.adb: Add processing for pragma Independent[_Components]
	* snames.ads-tmpl: Add entries for pragma Independent[_Components]

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
	component with box initialization, if the component is a variant record
	use the values of the discriminants to select the proper variant for
	further box initialization.

From-SVN: r165162
2010-10-08 12:51:09 +02:00
Nathan Froyd fd02e833d8 mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
* config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
	* config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.

From-SVN: r165161
2010-10-08 10:46:38 +00:00
Arnaud Charlet 8779dffad8 [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* xsnames.adb: Remove obsolete file.
	* make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb: Complete previous change.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
	extended return must match statically the return subtype of the
	enclosing function if the type is an elementary type or if it is
	constrained.

2010-10-08  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Add_Source): Report all duplicate units and source file
	names.  Do not report the same duplicate unit several times.
	* prj.ads (Source_Data): New Boolean component Duplicate_Unit,
	defaulted to False, to avoid reporting the same unit as duplicate
	several times.

From-SVN: r165160
2010-10-08 12:45:13 +02:00
Arnaud Charlet 094cefda51 [multiple changes]
2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
	others choice is a literal analyze it now to enable later optimizations.
	* exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
	and components can be handled by the backend even if it is of a limited
	type.

2010-10-08  Arnaud Charlet  <charlet@adacore.com>

	* a-rttiev.adb (task Timer): Since this package may be elaborated
	before System.Interrupt, we need to call Setup_Interrupt_Mask
	explicitly to ensure that this task has the proper signal mask.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): For array case, move some processing for
	pragma Pack, Component_Size clause and atomic/volatile components here
	instead of trying to do the job in Sem_Ch13 and Freeze.
	* layout.adb: Use new Addressable function
	* sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
	Component_Size): Move some handling to freeze point in
	Freeze.Freeze_Entity.
	* sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
	freeze point in Freese.Freeze_Entity.
	* sem_util.ads, sem_util.adb (Addressable): New function.

From-SVN: r165159
2010-10-08 12:32:07 +02:00
Arnaud Charlet 0ac2a66075 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Minor reformatting.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Real_Range_Check): Declare temporary as constant.

From-SVN: r165158
2010-10-08 12:25:23 +02:00
Arnaud Charlet ef23710410 [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2010-10-08  Vincent Celier  <celier@adacore.com>

	* ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
	not a reserved word.
	* prj-proc.adb (Expression): Process string list external references.
	* prj-strt.adb (External_Reference): Parse external_as_list external
	references.
	* prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
	(Set_Expression_Kind_Of): Ditto
	* prj.adb (Initialize): Set external_as_list as a reserved word
	* projects.texi: Document new string external reference external_as_list
	* scans.ads (Token_Type): New token Tok_External_As_List
	* snames.ads-tmpl: New standard name Name_External_As_List

From-SVN: r165157
2010-10-08 12:22:31 +02:00
Arnaud Charlet 2604ec03c9 [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb: Minor reformatting.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Derived_Type_Declaration): In the private part of an
	instance, it is legal to derive from a non-limited actual when the
	formal type is untagged limited.
	* sem_ch12.adb (Instantiate_Type): For a formal private type, use
	analyzed formal as Generic_Parent_Type, to simplify later checks.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Insert_Default): If default value is already a
	raise_constraint_error do not rewrite it as new raise node, to prevent
	infinite loops in the warning removal machinery.

From-SVN: r165156
2010-10-08 12:17:10 +02:00
Arnaud Charlet c86ee18adc [multiple changes]
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_prag.adb: Minor reformatting

2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
	Add section on pragma Implemented.

2010-10-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
	concrete parent with a concrete constructor, the inherited constructor
	is abstract even if the derived type is a null extension.

From-SVN: r165155
2010-10-08 12:13:14 +02:00
Arnaud Charlet bfae1846ce [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb: Minor reformatting.

2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
	(Implemented_By_Entry): Removed.
	(Set_Implemented_By_Entry): Removed.
	(Write_Entity_Flags): Remove the output for Implemented_By_Entry.
	* einfo.ads: Remove flag Implemented_By_Entry and its usage in entities.
	(Implemented_By_Entry): Removed along with its associated pragma Inline.
	(Set_Implemented_By_Entry): Removed along with its associated pragma
	Inline.
	* exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
	(Build_Dispatching_Call_Equivalent): New routine.
	(Build_Dispatching_Requeue): New routine.
	(Build_Dispatching_Requeue_To_Any): New routine.
	(Build_Normal_Requeue): New routine.
	(Build_Skip_Statement): New routine.
	(Expand_N_Requeue_Statement): Rewritten. The logic has been split into
	several subroutines.
	* par-prag.adb: Replace Pragma_Implemented_By_Entry by
	Pragma_Implemented.
	* sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
	pragma Implemented.
	(Check_Pragma_Implemented): New routines.
	(Inherit_Pragma_Implemented): New routine.
	* sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
	dispatching requeue.
	* sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
	and adding Implemented.
	(Ada_2012_Pragma): New routine.
	(Analyze_Pragma, case Implemented): Perform all necessary checks
	concerning pragma Implemented and register the pragma as a
	representation item with the procedure_LOCAL_NAME.
	(Analyze_Pragma, case Implemented_By_Entry): Removed.
	* sem_util.adb (Implementation_Kind): New routine.
	* sem_util.ads (Implementation_Kind): New routine.
	* snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
	Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
	add Pragma_Implemented. Add special names By_Any, By_Entry and
	By_Protected_Procedure.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
	variable Has_Static_DT by invocation of function Building_Static_DT.

2010-10-08  Vincent Celier  <celier@adacore.com>

	* g-dirope.adb (Remove_Dir): Do not change the current directory when
	doing a recursive remove of a subdirectory.

2010-10-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.ad (Freeze_Subprogram): Factorize code.
	* exp_disp.adb (Make_Secondary_DT): Factorize code.
	(Make_DT): Factorize code.

From-SVN: r165154
2010-10-08 12:04:58 +02:00
Robert Dewar 40b93859aa sem_ch4.adb: Minor reformatting.
2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb: Minor reformatting.

2010-10-08  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Check_Conformance): Check null exclusion match for full
	conformance.

From-SVN: r165153
2010-10-08 11:46:51 +02:00
Arnaud Charlet d7bab7e6c7 [multiple changes]
2010-10-08  Thomas Quinot  <quinot@adacore.com>

	* sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
	consistency with Gen_T in Instantiate_Type.
	Introduce constant A_Gen_Obj to avoid repeated queries for
	Defining_Identifier (Analyzed_Formal).

2010-10-08  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb: Minor comment fix.

From-SVN: r165152
2010-10-08 11:40:32 +02:00
Paolo Carlini 135a0d0ac5 future (uses_allocator<packaged_task<>,>): Add; minor formatting tweaks.
2010-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (uses_allocator<packaged_task<>,>): Add;
	minor formatting tweaks.

From-SVN: r165151
2010-10-08 09:22:16 +00:00
Alexandre Oliva 5f262d1320 re PR debug/45656 (gfortran.dg/forall_4.f90 -O3, wrong code with -g)
PR debug/45656
* cse.c (cse_extended_basic_block): Preserve cc0 info across
debug isnsn.  Skip them when searching for cc0 setter.
(set_live_p): Skip debug insns when searching for cc0 user.

From-SVN: r165150
2010-10-08 04:41:14 +00:00
Alexandre Oliva 7de9e0a108 re PR debug/45673 (-fcompare-debug failure with minor difference in dumps)
PR debug/45673
PR debug/45604
PR debug/45419
PR debug/45408
* tree-pretty-print.c (dump_generic_node): Explicitly dump the
type of MEM_REFs to INTEGER_CSTs.

From-SVN: r165149
2010-10-08 04:40:59 +00:00
Nathan Froyd 5bd84829f7 m68hc11.c (m68hc11_print_operand): Call m68hc11_print_operand_address.
* config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
	m68hc11_print_operand_address.

From-SVN: r165148
2010-10-08 01:47:33 +00:00
Jonathan Wakely d3ec3e15d3 future: Enable allocator support.
* include/std/future: Enable allocator support.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Expect PASS.
	* testsuite/30_threads/promise/cons/alloc.cc: Expect PASS.

From-SVN: r165147
2010-10-08 02:06:27 +01:00
Nathan Froyd 43ea30dc94 builtins.c (rewrite_call_expr): Move code to...
* builtins.c (rewrite_call_expr): Move code to...
	(rewrite_call_expr_valist): ...here.  Call
	build_call_expr_loc_array.
	(rewrite_call_expr_array): New function.
	(fold_builtin_sprintf_chk_1): New function.
	(fold_builtin_sprintf_chk): Call it.
	(gimple_fold_builtin_sprintf_chk): Likewise.
	(fold_builtin_snprintf_chk_1): New function.
	(fold_builtin_snprintf_chk): Call it.
	(gimple_fold_builtin_snprintf_chk): Likewise.
	(gimple_rewrite_call_expr): Delete.

From-SVN: r165146
2010-10-08 01:06:14 +00:00
Jan Hubicka 937f7f69bc * lto.c (lto_balanced_map): Fix accounting of program size.
From-SVN: r165145
2010-10-08 00:50:24 +00:00
Jonathan Wakely 1b3fad8156 re PR libstdc++/45893 ([C++0x] [DR 817] Finish updating std::bind to rvalue refs)
2010-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45893
	* include/std/functional (bind): Implement DR 817 and add support
	for volatile-qualified call wrappers.
	* include/std/mutex (call_once): Implement DR 891.
	* include/std/thread (thread::thread): Implement DR 929.
	* include/std/future: Optimise use of std::bind.
	* testsuite/20_util/bind/cv_quals.cc: Test volatile-qualification.
	* testsuite/20_util/bind/move.cc: New.

From-SVN: r165144
2010-10-08 01:44:12 +01:00
GCC Administrator 65d09bfe2a Daily bump.
From-SVN: r165142
2010-10-08 00:18:56 +00:00
Nicola Pero c154b3d8a1 In gcc/testsuite/: 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>

        * obj-c++.dg/encode-10.mm: New testcase.

In gcc/cp/:
2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>

        * cp-tree.def: Changed type of AT_ENCODE_EXPR from tcc_unary to
        tcc_expression.
        * cxx-pretty-print.c (pp_cxx_unary_expression): Added case for
        AT_ENCODE_EXPR.
        * error.c (dump_expr): Added case for AT_ENCODE_EXPR.
        * pt.c (tsubst_copy): Added case for AT_ENCODE_EXPR.
        (value_dependent_expression_p): Added case for AT_ENCODE_EXPR.
        (type_dependent_expression_p): Added case for AT_ENCODE_EXPR.
        * parser.c (cp_parser_objc_encode_expression): Updated comment.

From-SVN: r165138
2010-10-07 22:34:50 +00:00