1. 05 Oct, 2010 27 commits
    • cgraphunit.c (assemble_function): Output thunks and aliases before the function itself. · 5806d9ac
      
      
      	* cgraphunit.c (assemble_function): Output thunks and aliases before
      	the function itself.
      
      From-SVN: r164994
      Jan Hubicka committed
    • type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add. · 033b71ce
      2010-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
      	* include/std/functional (_Has_result_type_helper,
      	_Has_result_type): Remove; use the above to define __has_result_type.
      	* include/bits/stl_iterator_base_types.h: Use the above to define
      	__has_iterator_category.
      	* include/bits/allocator.h (__has_allocator_type): Use the above.
      	* include/bits/cpp_type_traits.h (__has_iterator_category,
      	__is_iterator): Remove.
      
      From-SVN: r164993
      Paolo Carlini committed
    • picochip.c (picochip_option_override): Disable exception flags for picochip. · 0378450e
              * config/picochip/picochip.c (picochip_option_override): Disable
                exception flags for picochip.
      
      From-SVN: r164992
      Hariharan Sandanagobalane committed
    • opts-common.c (handle_option, [...]): Add diagnostic_context parameter. · 1ebe4b4f
      	* opts-common.c (handle_option, handle_generated_option,
      	read_cmdline_option, set_option): Add diagnostic_context
      	parameter.  Update calls among these functions.
      	(set_option): Don't use global_dc.
      	* opts.c (read_cmdline_options): Pass global_dc to
      	read_cmdline_option.
      	(decode_options): Pass global_dc to enable_warning_as_error.
      	(common_handle_option): Pass global_dc to enable_warning_as_error.
      	(enable_warning_as_error): Add diagnostic_context parameter.
      	Document parameters.  Don't use global_dc.  Pass
      	diagnostic_context parameter to handle_generated_option.
      	* opts.h (set_option, handle_option, handle_generated_option,
      	read_cmdline_option, enable_warning_as_error): Add
      	diagnostic_context parameter.
      	* Makefile.in (lto-opts.o): Update dependencies.
      	* coretypes.h (struct diagnostic_context, diagnostic_context):
      	Declare here.
      	* diagnostic.h (diagnostic_context): Don't declare typedef here.
      	* gcc.c (process_command): Pass global_dc to read_cmdline_option.
      	* langhooks-def.h (struct diagnostic_context): Don't declare here.
      	(lhd_print_error_function, lhd_initialize_diagnostics): Declare
      	using diagnostic_context typedef.
      	* langhooks.c (lhd_initialize_diagnostics): Declare using
      	diagnostic_context typedef.
      	* langhooks.h (struct diagnostic_context): Don't declare here.
      	(initialize_diagnostics, print_error_function): Declare using
      	diagnostic_context typedef.
      	* lto-opts.c: Include diagnostic.h.
      	(lto_reissue_options): Pass global_dc to set_option.  Pass
      	DK_UNSPECIFIED not 0.
      	* plugin.c (plugins_internal_error_function): Declare using
      	diagnostic_context typedef.
      	* plugin.h (struct diagnostic_context): Don't declare here.
      	(plugins_internal_error_function): Declare using
      	diagnostic_context typedef.
      
      c-family:
      	* c-common.h (struct diagnostic_context): Don't declare here.
      	(c_common_initialize_diagnostics): Declare using
      	diagnostic_context typedef.
      	* c-opts.c (c_common_handle_option): Pass global_dc to
      	handle_generated_option.
      
      cp:
      	* cp-tree.h (cxx_print_error_function,
      	cxx_initialize_diagnostics): Declare using diagnostic_context
      	typedef.
      
      From-SVN: r164991
      Joseph Myers committed
    • vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS. · bcee41ff
              * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
              * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
      
      
      Co-Authored-By: Nicolas Roche <roche@adacore.com>
      
      From-SVN: r164988
      Olivier Hainque committed
    • re PR tree-optimization/45752 (ICE in ix86_vectorize_builtin_vec_perm_ok) · 694a4f61
      
      	PR tree-optimization/45752
      	* tree-vect-slp.c (vect_get_mask_element): Remove static
      	variables, make them function arguments.
      	(vect_transform_slp_perm_load): Pass new arguments to
      	vect_get_mask_element.
      
      From-SVN: r164987
      Ira Rosen committed
    • value-prof.c (gimple_divmod_fixed_value): Work on SSA form. · 4d3814a5
      2010-10-05  Richard Guenther  <rguenther@suse.de>
      
      	* value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
      	(gimple_mod_pow2): Likewise.
      	(gimple_mod_subtract): Likewise.
      	(gimple_ic): Likewise.
      	(gimple_stringop_fixed_value): Likewise.
      	* tree-profile.c (tree_init_edge_profiler): Mark profile
      	functions nothrow and leaf.
      	(add_abnormal_goto_call_edges): Remove.
      	(tree_gen_edge_profiler): Work on SSA form.
      	(tree_gen_ic_profiler): Likewise.  Simplify.
      	(do_tree_profiling): Update SSA form.
      	(pass_tree_profile): Remove.
      	(do_tree_profiling): Likewise.
      	(gate_tree_profile_ipa): New function.
      	(pass_ipa_tree_profile): New.
      	(tree_profiling): Re-write as IPA pass.  Properly drop const/pure
      	state of instrumented functions.
      	* passes.c (init_optimization_passes): Remove early non-SSA
      	inlining.  Move profiling after early optimizations.
      	* ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
      	(pass_ipa_early_inline): Likewise.
      	* tree-pass.h (pass_ipa_early_inline): Remove.
      	(pass_tree_profile): Likewise.
      	(pass_ipa_tree_profile): Declare.
      
      	* gcc.dg/tree-prof/val-prof-1.c: Adjust.
      	* gcc.dg/tree-prof/val-prof-2.c: Likewise.
      	* gcc.dg/tree-prof/val-prof-3.c: Likewise.
      	* gcc.dg/tree-prof/val-prof-4.c: Likewise.
      	* gcc.dg/tree-prof/val-prof-5.c: Likewise.
      	* gcc.dg/tree-prof/val-prof-7.c: Likewise.
      	* gcc.dg/tree-prof/stringop-1.c: Likewise.
      	* gcc.dg/tree-prof/stringop-2.c: Likewise.
      	* gcc.dg/tree-prof/ic-misattribution-1.c: Likewise.
      	* gcc.dg/tree-prof/indir-call-prof.c: Likewise.
      	* gcc.dg/tree-prof/update-loopch.c: Likewise.
      	* g++.dg/tree-prof/indir-call-prof.C: Likewise.
      	* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
      	* gcc.dg/tree-prof/tracer-1.c: Likewise.
      	* gcc.dg/tree-ssa/inline-4.c: Likewise.
      	* gcc.dg/tree-ssa/inline-3.c: Likewise.
      	* gcc.dg/tree-ssa/20080530.c: Likewise.
      	* g++.dg/tree-ssa/inline-3.C: Likewise.
      	* g++.dg/tree-ssa/inline-1.C: Likewise.
      	* g++.dg/tree-ssa/inline-2.C: Likewise.
      	* gcc.dg/profile-dir-1.c: Likewise.
      	* gcc.dg/profile-dir-2.c: Likewise.
      	* gcc.dg/profile-dir-3.c: Likewise.
      
      From-SVN: r164986
      Richard Guenther committed
    • s390.c (z196_cost): New. · 65b1d8ea
      2010-10-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
                  Christian Borntraeger  <Christian.Borntraeger@de.ibm.com>
      
      	* gcc/config/s390/s390.c (z196_cost): New.
      	(s390_handle_arch_option): Add -march=z196.
      	(s390_option_override): Use the new cost function and use the z10
      	defaults also for z196.
      	(legitimate_reload_constant_p): Adjust comment.
      	(legitimate_reload_fp_constant_p): New function.
      	(s390_preferred_reload_class): Distingiush between FP and Int constants.
      	(preferred_la_operand_p): Avoid la with index on z196.
      	(s390_adjust_priority): Trigger also for z196.
      	(s390_issue_rate): Issue rate for z196 is 3.
      	(s390_z10_fix_long_loop_prediction): Rename to ...
      	(s390_fix_long_loop_prediction): ... this.
      	(s390_reorg): Apply the z10 adjustments also for z196.
      	(s390_loop_unroll_adjust): Do this also for z196.
      	* gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
      	(enum processor_flags): Add PF_Z196.
      	(TARGET_AVOID_CMP_AND_BRANCH): New macro.
      	(TARGET_CPU_Z196, TARGET_Z196): New macros.
      	* gcc/config.gcc: Enable z196 for --with-arch.
      	* gcc/config/s390/2817.md: New file.
      	* gcc/config/s390/2084.md: New type for multiply and add.
      	* gcc/config/s390/2097.md: Likewise.
      	* gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
      	(UNSPECV_ATOMIC_OP): New constants.
      	(fmadddf, fmaddsf): New values for type attribute.
      	(z196prop): New insn attribute.
      	(cpu, cpu_facility): Add z196.
      	(ATOMIC_Z196): New code iterator.
      	(noxa): New code attribute.
      	(gk): New mode attribute.
      	(*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
      	Support load zero for fp constants.
      	(fixuns_truncdddi2, fixuns_trunctddi2)
      	(fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
      	for z196.
      	(fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
      	(popcounthi2, popcountqi2): New expander.
      	(*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
      	(floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
      	(sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
      	insn definition.
      	(add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
      	(*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
      	(*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc, *sub<mode>3)
      	(*sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly, *sub<mode>3_cc)
      	(*sub<mode>3_cc2, *sub<mode>3_cconly, *sub<mode>3_cconly2)
      	(*anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc, *andsi3_cconly)
      	(*andsi3_zarch, *andsi3_esa, *andhi3_zarch, *andqi3_zarch, *iordi3_cc)
      	(*iordi3_cconly, *iordi3, *iorsi3_cc, *iorsi3_cconly, *iorsi3_zarch)
      	(*iorhi3_zarch, *iorqi3_zarch, *xordi3_cc, *xordi3_cconly, *xordi3)
      	(*xorsi3_cc, *xorsi3_cconly, *xorsi3, *xorhi3, *xorqi3, *<shift><mode>3)
      	(*<shift><mode>3_and, *ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
      	(*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
      	Support new z196 instructions.
      
      
      Co-Authored-By: Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
      
      From-SVN: r164985
      Andreas Krebbel committed
    • re PR middle-end/45877 (invalid write in gimplify_and_update_call_from_tree) · 6e572326
      2010-10-05  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/45877
      	* gimple-fold.c (gimplify_and_update_call_from_tree): Handle
      	case where gimplification optimizes away the stmt.
      
      	* g++.dg/torture/pr45877.C: New testcase.
      
      From-SVN: r164984
      Richard Guenther committed
    • [multiple changes] · ce417b8f
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
      	mode.
      
      2010-10-05  Pascal Obry  <obry@adacore.com>
      
      	* gnat_rm.texi: Fix typo.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_ugn.texi: Add note about identifiers with same name and
      	-fdump-ada-spec.
      
      From-SVN: r164983
      Arnaud Charlet committed
    • [multiple changes] · 947430d5
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch4.adb: Minor reformatting.
      	* a-direct.ads: Minor comment update.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
      	no longer required after change in New_Overloaded_Entity.
      	* sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
      	the fragment of code that handles derivations of interface primitives.
      	Add missing dependence on global variable Inside_Freezing_Actions to
      	ensure the correct management of internal interface entities.
      	* sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
      	of the global variable Inside_Freezing_Actions to ensure that internal
      	interface entities are well handled by New_Overloaded_Entity.
      	* sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
      	and complete the algorithm to catch hidden primitives derived of
      	private type that covers the interface.
      	* sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
      	documentation.
      
      From-SVN: r164982
      Arnaud Charlet committed
    • prj-util.adb, [...]: Minor reformatting. · 22b77f68
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
      	sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
      	Minor code reorganization (use Nkind_In).
      
      From-SVN: r164981
      Robert Dewar committed
    • [multiple changes] · f2282a58
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
      	task.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* gnatbind.adb: If the main library file is not for a suitable main
      	program, change the error message.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.ads: Minor spelling error fixes in comments.
      	* gnat_rm.texi: Add three entries in "Implementation Defined
      	Characteristics" for the interpretations of the Form parameters in
      	Ada.Directories.
      
      From-SVN: r164980
      Arnaud Charlet committed
    • exp_ch3.adb, [...]: Minor code reorganization. · 3ce5ca75
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
      	makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
      	prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
      	reorganization.
      	Minor reformatting.
      
      From-SVN: r164979
      Robert Dewar committed
    • [multiple changes] · 96d2756f
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
      	an explicit dereference of an access to function, the prefix is not
      	interpreted as a parameterless call.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb: For 'Read and 'Write, use full view of base type if
      	private.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Switches_Of): Allow wild cards in index of attributes
      	Switches.
      	* prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
      	of the associative array as a glob regular expression.
      	* prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
      	Allow_Wildcards, defaulted to False.
      	(Value_Of (Name, Attribute_Or_Array_Name)): Ditto
      	* projects.texi: Document that attribute Switches (<file name>) may
      	use wild cards in the index.
      
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
      	einfo.adb: Minor reformatting.
      	* debug.adb: Remove obsolete documentation for d.Z flag.
      
      From-SVN: r164978
      Arnaud Charlet committed
    • vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake switch --create-info-file=. · 610ef7c0
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
      	switch --create-info-file=.
      	* gnat_ugn.texi: Add documentation for new gnatmake switch
      	--source-info=
      
      From-SVN: r164977
      Vincent Celier committed
    • [multiple changes] · 1c218ac3
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Do not elaborate type definition if syntax error.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
      	to generate the full-qualified names of its corresponding spec.
      	This facilitates locating the corresponing body when reading
      	the DG output.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
      	canonical name without serial number only if the helper is becoming a
      	primitive of the type.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.adb (Make_DT): Minor code reorganization.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch6.adb: improve recovery with extra paren in function spec.
      
      2010-10-05  Quentin Ochem  <ochem@adacore.com>
      
      	* prj-tree.ads: Project_Path is now aliased.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb: Minor reformatting.
      
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
      	(Shared_Libgcc): New aliased variable.
      	(Shared_Libgcc_Switch): New constant.
      	(Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
      	* gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
      	to the compiler.
      	
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb (Parse_Simple_Project): When checking if a child project
      	imports its parent project, also look in projects being extended by
      	imported projects.
      
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_cg.adb (Slot_Number): Add support to handle aliased entities.
      	(Generate_CG_Output): Switch -gnatd.Z is no longer needed to
      	activate this output.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* back_end.adb (Call_Back_End): Generate an error message when scil
      	generation is enabled, and no scil back-end (by default) is available.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* debug.adb: Update documentation because -gnatd.Z is no longer required
      	to generate the call-graph information.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
      	runtime access check by an equivalent expansion that causes
      	no problems in the VM backend. The original expansion was
      	not good for the VM backends because when Tagged_Type_Expansion
      	is disabled the attribute Access_Disp_Table is not available.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
      	is class-wide and T1 is its specific type.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* back_end.ads: Minor spelling error correction.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
      	warnings when -gnatC is specified here so that warnings can be
      	re-enabled  explicitly.
      	(Adjust_Global_Switches): No longer suppress warnings.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb: Minor reformatting.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
      	non-discrete type appears as an actual in a call.
      
      From-SVN: r164976
      Arnaud Charlet committed
    • make.adb (Scan_Make_Arg): Take into account new switch --source-info=file. · dfa8a067
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Scan_Make_Arg): Take into account new switch
      	--source-info=file.
      	* makeusg.adb: Add line for new switch --source-info=file.
      	* makeutl.ads (Source_Info_Option): New constant String for new builder
      	switch.
      	* prj-conf.adb: Put subprograms in alphabetical order
      	(Process_Project_And_Apply_Config): Read/write an eventual source info
      	file, if necessary.
      	* prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
      	procedure.
      	(Look_For_Sources): If a source info file was successfully read, get the
      	source data from the data read from the source info file.
      	* prj-util.adb (Source_Info_Table): New table
      	(Source_Info_Project_HTable): New hash table
      	(Create): New procedure
      	(Put (File), Put_Line): New procedures
      	(Write_Source_Info_File): New procedure
      	(Read_Source_Info_File): New procedure
      	(Initialize): New procedure
      	(Source_Info_Of): New procedure
      	(Next): New procedure
      	(Close): When file is an out file, fail if the buffer cannot be written
      	or if the file cannot be close successfully.
      	(Get_Line): Fail if file is an out file
      	* prj-util.ads (Create): New procedure
      	(Put (File), Put_Line): New procedures
      	(Write_Source_Info_File): New procedure
      	(Read_Source_Info_File): New procedure
      	(Source_Info_Data): New record type
      	(Source_Info_Iterator): New private type
      	(Initialize): New procedure
      	(Source_Info_Of): New procedure
      	(Next): New procedure
      	* prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
      	Source_Info_File_Exists.
      
      From-SVN: r164975
      Vincent Celier committed
    • [multiple changes] · a8ef12e5
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb: Fix typo.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* lib-writ.adb: Minor reformatting.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Access_Definition): Remove useless code.
      
      From-SVN: r164974
      Arnaud Charlet committed
    • re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled) · 79d34420
      2010-10-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      	    Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/44647
      	* libsupc++/Makefile.am (sources): Add bad_alloc.cc.
      	* libsupc++/new_handler.cc (bad_alloc): Move to ...
      	* libsupc++/bad_alloc.cc (bad_alloc): ... here, new file.
      	* libsupc++/Makefile.in: Regenerate.
      
      Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
      
      From-SVN: r164973
      Sebastian Huber committed
    • [multiple changes] · 92817e89
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-env.adb, prj-env.ads (Set_Path): New subprogram.
      	(Deep_Copy): Removed, not used.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
      	move code that searches in the list of primitives of a tagged type for
      	the entity that will be overridden by user-defined routines.
      	* sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
      	previously located in routine Add_Internal_Interface_Entities.
      	* sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation
      	* sem_ch6.adb (New_Overloaded_Entity): Add missing check on
      	availability of attribute Alias.
      
      2010-10-05  Ed Falis  <falis@adacore.com>
      
      	* s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
      	s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
      	Move definition of intContext to System.OS_Interface.
      	Add necessary variants in System.VxWorks.Extensions.
      
      2010-10-05  Doug Rupp  <rupp@adacore.com>
      
      	* s-asthan-vms-alpha.adb: On VMS, a task using
      	pragma AST_Entry exhibits a memory leak when the task terminates
      	because the vector allocated for the AST interface is not freed. Fixed
      	by making the vector a controlled type.
      
      From-SVN: r164972
      Arnaud Charlet committed
    • prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**"… · eada5fd1
      prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**" pattern properly exists...
      
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
      	a "**" pattern properly exists, and report an error otherwise.
      
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
      
      From-SVN: r164971
      Emmanuel Briot committed
    • prj-nmsc.adb, [...] (Expand_Subdirectory_Pattern): New subprogram. · c5be6c3a
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
      	subprogram.
      	Extract some code from Get_Directories, to share with the handling
              of aggregate projects (for the Project_Files attributes)
      
      From-SVN: r164970
      Emmanuel Briot committed
    • gnatcmd.adb, [...] (Project_Search_Path): New type. · a0a786e3
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
      	switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
      	prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New type.
      
      From-SVN: r164969
      Emmanuel Briot committed
    • [multiple changes] · 9d9f5f49
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
      
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
      	(Aggregate projects): added support for parsing aggregate projects.
      	In particular, check the presence and value of the new attributes
      	related to aggregate projects, ie Project_Files, Project_Path
      	and External.
      	(Check_Attribute_Allowed, Check_Package_Allowed,
      	Rename_Obsolescent_Attributes): new subprogram, extracting code
      	from existing subprogram to keep their sizes smaller.
      	(Check_Aggregate_Project, Check_Abstract_Project,
      	Check_Missing_Sources): new subprograms
      	(Check): remove comments that duplicated either the name of the
      	following subprogram call, or the comment on that subprogram.
      	* prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
      	from Parse_Single_Project.
      	(Check_Aggregate_Imports): new subprogram.
      
      From-SVN: r164968
      Arnaud Charlet committed
    • [multiple changes] · 98ee5fc4
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Check): When compiling with -gnatc, recompile if the ALI
      	file has not been generated for the current source, for example if it
      	has been generated for the spec, but we are compiling the body.
      
      2010-10-05  Bob Duff  <duff@adacore.com>
      
      	* xgnatugn.adb: Remove unused procedure.
      
      From-SVN: r164967
      Arnaud Charlet committed
    • Daily bump. · de953578
      From-SVN: r164966
      GCC Administrator committed
  2. 04 Oct, 2010 13 commits
    • re PR debug/45849 (ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g) · 098db05e
      	PR debug/45849
      	* var-tracking.c (strip_pointer_flags): New function.
      	(emit_note_insn_var_location): If rtx_equal_p check failed,
      	retry on locations simplified with simplify_replace_fn_rtx
      	and strip_pointer_flags as its callback.
      
      	* gcc.dg/debug/pr45849.c: New test.
      
      From-SVN: r164962
      Jakub Jelinek committed
    • gimple-fold.c (static_object_in_other_unit_p): Rename to... · b3b9f3d0
      
      	* gimple-fold.c (static_object_in_other_unit_p): Rename to...
      	(can_refer_decl_in_current_unit_p): ... this one; reverse return
      	value; handle comdats too.
      	(canonicalize_constructor_val): Use it; handle function_decls
      	correctly.
      	(gimple_fold_obj_type_ref_known_binfo): Likewise.
      	* gimple.c (get_base_address): Accept all kinds of decls.
      
      From-SVN: r164961
      Jan Hubicka committed
    • flags.h (g_switch_value, [...]): Remove. · fa37ed29
      	* flags.h (g_switch_value, g_switch_set): Remove.
      	* opts.c (g_switch_value, g_switch_set): Remove.
      	* config/g.opt (G): Add Var(g_switch_value).
      	* config/alpha/alpha.c (alpha_handle_option): Don't handle -G
      	here.
      	(alpha_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.
      	(alpha_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
      	g_switch_value to unsigned HOST_WIDE_INT.
      	* config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
      	with g_switch_value.
      	(frv_handle_option): Don't handle -G here.
      	(frv_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.  Don't modify g_switch_set.
      	(frv_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
      	g_switch_value to unsigned HOST_WIDE_INT.
      	* config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
      	(ia64_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.
      	* config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
      	Remove.
      	(lm32_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	* config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
      	ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
      	HOST_WIDE_INT.
      	* config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
      	(m32r_init): Check global_options_set.x_g_switch_value instead of
      	g_switch_set.
      	(m32r_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	(m32r_file_start): Format g_switch_value with %d.
      	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
      	ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned
      	HOST_WIDE_INT.
      	* config/microblaze/microblaze.c (microblaze_handle_option): Don't
      	handle -G here.
      	(microblaze_option_override): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/mips/mips.c (mips_handle_option): Don't handle -G here.
      	(mips_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.
      	* config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G
      	here.
      	(rs6000_file_start): Format g_switch_value with %d.
      	(small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
      	comparisons with g_switch_value.
      	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/score/score.c (score_handle_option): Don't handle -G
      	here.
      	* config/score/score3.c (score3_option_override): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/score/score7.c (score7_option_override): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      
      From-SVN: r164960
      Joseph Myers committed
    • common.opt (fira-coalesce): Remove. · 22b0982c
      2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* common.opt (fira-coalesce): Remove.
      
      	* doc/invoke.texi (flag_ira_coalesce): Remove.
      
      	* ira-color.c (allocno_coalesced_p): Move before
      	copy_freq_compare_func.
      	processed_coalesced_allocno_bitmap): Ditto.
      	(update_conflict_hard_regno_costs): Don't use
      	ALLOCNO_FIRST_COALESCED_ALLOCNO.
      	(allocno_cost_compare_func, print_coalesced_allocno): Remove.
      	(assign_hard_reg): Assume no coalesced allocnos.
      	(get_coalesced_allocnos_attributes): Remove.
      	(bucket_allocno_compare_func): Assume no coalesced allocnos.
      	(push_allocno_to_stack): Ditto.
      	(remove_allocno_from_bucket_and_push): Use
      	ira_print_expanded_allocno instead of print_coalesced_allocno.
      	(push_allocnos_to_stack): Assume uncoalesced allocnos.
      	(all_conflicting_hard_regs_coalesced): Ditto.  Rename to
      	all_conflicting_hard_regs.
      	(setup_allocno_available_regs_num): Assume uncoalesced allocnos.
      	(setup_allocno_left_conflicts_size): Ditto.
      	(put_allocno_into_bucket): Ditto.
      	(copy_freq_compare_func): Remove.
      	(copy_freq_compare_func, merge_allocnos): Move before
      	coalesced_pseudo_reg_freq_compare.
      	coalesced_allocno_conflict_p): Ditto.
      	(coalesced_allocno_conflict_p, coalesce_allocnos): Ditto.  Remove
      	parameter.  Assume it true.
      	(color_allocnos): Assume uncoalesced allocnos.  Use
      	ira_print_expanded_allocno instead of print_coalesced_allocno.
      	(ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
      	parameter.
      
      	* ira.c: Remove comment about coalescing.
      
      From-SVN: r164959
      Vladimir Makarov committed
    • mips.h (target_flags_explicit): Declare for GENERATOR_FILE. · f770d743
      	* config/mips/mips.h (target_flags_explicit): Declare for
      	GENERATOR_FILE.
      
      From-SVN: r164958
      Joseph Myers committed
    • functional (function<>::swap): Use std::swap. · 6703f185
      2010-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/functional (function<>::swap): Use std::swap.
      	* include/tr1/functional (function<>::swap): Likewise.
      
      From-SVN: r164952
      Paolo Carlini committed
    • Mark linker Makefile rules for job server build · a90163e9
      -fwhopr=jobserver requires telling GNU make that the linker (= lto)
      rules support job server, so that the necessary jobserver
      information is passed through.
      
      Add + to all the executable targets that run LTO for this purpose.
      
      This improves build performance with a -fwhopr=jobserver
      bootstrap (or BUILD_CONFIG=bootstrap-lto) significantly.
      
      I didn't change Ada because that apparently doesn't support LTO.
      
      Passes bootstrap and test suite. Ok to commit?
      
      gcc/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
              gcov-dump, cc1-dummy, genprog, build/gcov-iov):
              Add + to build rule.
      
      gcc/cp/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (g++, cc1plus): Add + to build rule.
      
      gcc/fortran/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (gfortran, f951): Add + to build rule.
      
      gcc/java/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
              Add + to build rule.
      
      gcc/lto/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (lto1): Add + to build rule.
      
      gcc/objc/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
      
      gcc/objcp/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.
      
      More plus fixes
      
      From-SVN: r164949
      Andi Kleen committed
    • t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists. · 6fda54ac
      2010-10-04  Matthias Klose  <doko@ubuntu.com>
      
              * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
              multilib osdirname if it exists.
              * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
      
      From-SVN: r164947
      Matthias Klose committed
    • tree.c (decl_storage_duration): New. · b95ca513
      	* tree.c (decl_storage_duration): New.
      	* cp-tree.h: Declare it.
      	(duration_kind): Return values.
      
      From-SVN: r164944
      Jason Merrill committed
    • re PR middle-end/45876 (ICE: verify_gimple failed) · 828fde80
      	PR middle-end/45876
      	* fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
      	arg0's type or its unsigned counterpart as utype.  Convert
      	arg1 to utype unconditionally.
      
      	* gcc.c-torture/compile/pr45876.c: New test.
      
      From-SVN: r164943
      Jakub Jelinek committed
    • [multiple changes] · bed8af19
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.adb (Copy_File): Interpret the Form parameter and call
      	System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
      	the Form parameter contains an incorrect value for field preserve= or
      	mode=.
      	* a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
      	parameter is ignored.
      	(Copy_File): Indicate the interpretation of the Form parameter.
      
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Gnatmake): When there are no foreign languages declared and
      	a main in attribute Main of the main project does not exist or is a
      	source of another project, fail immediately before attempting
      	compilation.
      
      2010-10-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.ads (Convert_Tag_To_Interface): New function which must be
      	used to convert a node referencing a tag to a class-wide interface type.
      	* exp_disp.adb (Convert_Tag_To_Interface): New function.
      	(Expand_Interface_Conversion): Replace invocation of
      	Unchecked_Conversion by new function Convert_Tag_To_Interface.
      	(Write_DT): Add support for null primitives.
      	* exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
      	cleanup code that handles interface conversions and avoid unchecked
      	conversion of referenced tag components.
      	* exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
      	unrequired conversions when generating a dispatching call to _assign.
      	* sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
      	parent is a binary boolean operation and the operand is an unpacked
      	array.
      	(Build_Boolean_Array_Proc_Call): If the operands are both negations, the
      	operands of the rewritten node are the operands of the negations, not
      	the negations themselves.
      
      From-SVN: r164942
      Arnaud Charlet committed
    • expr.c (expand_assignment): Add assertion to prevent emitting null rtx for movmisalign pattern. · c452684d
      	gcc/
      	* expr.c (expand_assignment): Add assertion to prevent emitting
      	null rtx for movmisalign pattern.
      	(expand_expr_real_1): Likewise.
      	* config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
      	(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
      	(arm_vector_alignment_reachable): New.
      	(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
      	(neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
      	(arm_print_operand): Include alignment qualifier in %A.
      	* config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
      	(movmisalign<mode>): New expander.
      	(movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
      	insn patterns.
      
      	gcc/testsuite/
      	* gcc.dg/vect/vect-42.c: Use vect_element_align instead of
      	vect_hw_misalign.
      	* gcc.dg/vect/vect-60.c: Likewise.
      	* gcc.dg/vect/vect-56.c: Likewise.
      	* gcc.dg/vect/vect-93.c: Likewise.
      	* gcc.dg/vect/no-scevccp-outer-8.c: Likewise.
      	* gcc.dg/vect/vect-95.c: Likewise.
      	* gcc.dg/vect/vect-96.c: Likewise.
      	* gcc.dg/vect/vect-outer-5.c: Use quad-word vectors when available.
      	* gcc.dg/vect/slp-25.c: Likewise.
      	* gcc.dg/vect/slp-3.c: Likewise.
      	* gcc.dg/vect/vect-multitypes-1.c: Likewise.
      	* gcc.dg/vect/no-vfa-pr29145.c: Likewise.
      	* gcc.dg/vect/vect-multitypes-4.c: Likewise. Use vect_element_align.
      	* gcc.dg/vect/vect-109.c: Likewise.
      	* gcc.dg/vect/vect-peel-1.c: Likewise.
      	* gcc.dg/vect/vect-peel-2.c: Likewise.
      	* lib/target-supports.exp
      	(check_effective_target_arm_vect_no_misalign): New.
      	(check_effective_target_vect_no_align): Use above.
      	(check_effective_target_vect_element_align): New.
      	(add_options_for_quad_vectors): New.
      
      From-SVN: r164941
      Julian Brown committed
    • [multiple changes] · a3f2babd
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
      	name of entity to biased warning msg.
      	(Analyze_Enumeration_Representation_Clause): Remove attempt to use
      	biased rep (wrong and never worked anyway).
      
      2010-10-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_elab.adb: Minor reformatting.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
      	an access_to_protected subprogram type, and convert null value into
      	corresponding aggregate.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
      	* gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
      	AAMP.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
      	for N_Operator_Symbol.
      	(Indicate_Name_And_Type): Likewise.
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
      	* sem_res.adb (Resolve): Likewise.
      	* sem_type.adb (Add_One_Interp): Likewise.
      	(Disambiguate): Likewise.
      	
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* osint.adb (Read_Library_Info_From_Full): If object timestamp is less
      	than ALI file timestamp, return null.
      
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79
      	* prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
      	replaces global constant with the same name. When a line is too long,
      	indent properly the next continuation line.
      	* prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
      	from 50 to 255, defaulted to 255, to indicate the maximum length of
      	lines in the project file.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
      	Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
      	of Traverse_Func on it to look for subprogram references in a body.
      	Call Check_Subprogram_Refs on the body of inlined subprograms at the
      	outer level and keep clearing the Is_Public flag of subprograms as long
      	as it returns OK.  Do not look at anything else than subprograms once
      	an inlined subprogram has been seen.
      
      From-SVN: r164940
      Arnaud Charlet committed