Commit Graph

103551 Commits

Author SHA1 Message Date
Mikael Morin
5919751c15 module.c (gfc_use_module): Free atom_string when done with it.
2010-10-06  Mikael Morin  <mikael@gcc.gnu.org>

	* module.c (gfc_use_module): Free atom_string when done with it.

From-SVN: r165029
2010-10-06 14:23:30 +00:00
Mikael Morin
3e212b5d2b module.c (read_module): Remove useless string duplication.
2010-10-06  Mikael Morin  <mikael@gcc.gnu.org>

	* module.c (read_module): Remove useless string duplication.

From-SVN: r165028
2010-10-06 14:19:30 +00:00
Mikael Morin
476bed6606 gfortranspec.c (append_arg): Remove commented code.
2010-10-06  Mikael Morin  <mikael@gcc.gnu.org>

	* gfortranspec.c (append_arg): Remove commented code.

From-SVN: r165027
2010-10-06 14:15:54 +00:00
Mikael Morin
c9ab240e0c decl.c (match_procedure_in_type): Assertify if conditions.
2010-10-06  Mikael Morin  <mikael@gcc.gnu.org>

	* decl.c (match_procedure_in_type): Assertify if conditions.

From-SVN: r165026
2010-10-06 14:11:30 +00:00
Olivier Hainque
35c2682003 rs6000.c (rs6000_expand_ternop_builtin): Rewrite switch on insn codes as sequence of ifs.
* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
        switch on insn codes as sequence of ifs.

From-SVN: r165025
2010-10-06 14:08:48 +00:00
Mikael Morin
adb18384bd cpp.c (gfc_cpp_post_options): Don't create a cpp reader if preprocessing is disabled.
2010-10-06  Mikael Morin  <mikael@gcc.gnu.org>

	* cpp.c (gfc_cpp_post_options): Don't create a cpp reader if
	preprocessing is disabled.

From-SVN: r165024
2010-10-06 14:06:20 +00:00
Hariharan Sandanagobalane
131e563440 picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to be UI_NONE for picochip.
* config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO):
        Define it to be UI_NONE for picochip.
        (picochip_option_override): Do not disable exception flags
        * config/picochip/picochip-protos.h (picochip_except_unwind_info)
        Declare

From-SVN: r165023
2010-10-06 11:29:41 +00:00
Richard Guenther
851943193d Makefile.in (regmove.o): Depend on $(TARGET_H).
2010-10-06  Richard Guenther  <rguenther@suse.de>

	* Makefile.in (regmove.o): Depend on $(TARGET_H).

From-SVN: r165022
2010-10-06 11:25:06 +00:00
Nicola Pero
d526bfee4e Fixed date in my last changelog entry
From-SVN: r165021
2010-10-06 10:43:54 +00:00
Nicola Pero
f05b9d93e9 In gcc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * c-parser.c (objc_could_be_foreach_context): New.
        (c_lex_one_token): Recognize RID_IN keyword in a potential
        Objective-C foreach context.
        (c_parser_declaration_or_fndef): Added parameter.  Accept
        Objective-C RID_IN keyword as terminating a declaration; in that
        case, return the declaration in the new parameter.
        (c_parser_extenral_declaration): Updated calls to
        c_parser_declaration_or_fndef.
        (c_parser_declaration_or_fndef): Same change.
        (c_parser_compound_statement_nostart): Same change.
        (c_parser_label): Same change.
        (c_parser_objc_methodprotolist): Same change.
        (c_parser_omp_for_loop): Same change.
        (c_parser_for_statement): Detect and parse Objective-C foreach
        statements.
        (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
        * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
        fast enumeration parsing code to turn off the c99 error but still
        perform checks on the loop declarations.
        * c-tree.h (check_for_loop_decls): Updated declaration.
        * doc/objc.texi: Document fast enumeration.

In gcc/c-family/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * c-common.h (objc_finish_foreach_loop): New.
        * stub-objc.c (objc_finish_foreach_loop): New.

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

        Implemented fast enumeration for Objective-C.
        * objc-act.c (build_fast_enumeration_state_template): New.
        (TAG_ENUMERATION_MUTATION): New.
        (TAG_FAST_ENUMERATION_STATE): New.
        (synth_module_prologue): Call build_fast_enumeration_state_template() and set up
        objc_enumeration_mutation_decl.
        (objc_create_temporary_var): Allow providing a name to temporary
        variables.
        (objc_build_exc_ptr): Updated calls to
        objc_create_temporary_var().
        (next_sjlj_build_try_catch_finally): Same change.
        (objc_finish_foreach_loop): New.
        * objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP,
        OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template,
        objc_enumeration_mutation_decl.

        Merge from 'apple/trunk' branch on FSF servers.

        2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4507230
        * objc-act.c (objc_type_valid_for_messaging): New routine to check
        for valid objc object types.
        (objc_finish_foreach_loop): Check for invalid objc objects in
        foreach header.

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

        Implemented fast enumeration for Objective-C.
        * objc.dg/foreach-1.m: New.
        * objc.dg/foreach-2.m: New.
        * objc.dg/foreach-3.m: New.
        * objc.dg/foreach-4.m: New.
        * objc.dg/foreach-5.m: New.
        * objc.dg/foreach-6.m: New.
        * objc.dg/foreach-7.m: New.

        Merge from 'apple/trunk' branch on FSF servers:
        2006-04-13 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4502236
        * objc.dg/objc-foreach-5.m: New.

        2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4507230
        * objc.dg/objc-foreach-4.m: New.

        2006-03-13  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4472881
        * objc.dg/objc-foreach-3.m: New.

        2005-03-07 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4468498
        * objc.dg/objc-foreach-2.m: New.

        2006-02-15   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4294910
        * objc.dg/objc-foreach-1.m: New

In libobjc/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
        (OBJC_H): Added runtime.h
        * objc-foreach.c: New file.
        * objc/runtime.h: New file.

From-SVN: r165019
2010-10-06 10:10:14 +00:00
Hariharan Sandanagobalane
b938bc48d8 gcc.c-torture/execute/cmpsi-2.c : Unsigned comparisons should use
unsigned values.

From-SVN: r165016
2010-10-06 08:40:57 +00:00
Nick Clifton
2720cc4717 mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
* config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by
        one.
        (MDR_REGNUM): Define.
        (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed
        register.
        (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
        (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
        (REGISTER_NAMES): Add MDR.
        (DWARF2_DEBUGGING_INFO): Define to 1.
        * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
        (F): New function.  Sets RTX_FRAME_RELATED_P.
        (mn10300_gen_multiple_store): Use F.
        (expand_prologue): Use F.  Use gen_movsf() to push floating
        point registers.
        (expand_epilogue): Use gen_movsf() to pop floating point
        registers.
        (mn10300_option_override): Disable combine stack adjust pass.

From-SVN: r165015
2010-10-06 08:16:18 +00:00
Thomas Schwinge
28ce2f29b8 re PR target/45901 (alpha-gnu target-specific CPP macros are broken)
2010-10-06  Thomas Schwinge  <thomas@schwinge.name>

	PR target/45901
	* config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
	LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.

From-SVN: r165014
2010-10-06 09:49:52 +02:00
Jakub Jelinek
933bc2328e builtins.def (BUILT_IN_CALLOC, [...]): Mark as leaf.
* builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
	BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
	BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
	BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
	BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
	BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
	BUILT_IN_TOUPPER): Mark as leaf.

From-SVN: r165013
2010-10-06 09:48:46 +02:00
Jakub Jelinek
d724c87623 re PR middle-end/45838 (FAIL: libgomp.c/pr34513.c execution test)
PR middle-end/45838
	* omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
	BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
	BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
	BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
	BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
	BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
	Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.

	* f95-lang.c (ATTR_NOTHROW_LEAF_LIST, ATTR_CONST_NOTHROW_LEAF_LIST,
	ATTR_NOTHROW_LIST, ATTR_CONST_NOTHROW_LIST): Define.
	(gfc_define_builtin): Change last argument to int bitmask from bool,
	control addition of TREE_NOTHROW and leaf attribute as well.
	(DO_DEFINE_MATH_BUILTIN): Adjust callers.
	(gfc_init_builtin_functions): Likewise.  Remove
	ATTR_{,CONST_}NOTHROW_LIST enum.

From-SVN: r165012
2010-10-06 09:47:28 +02:00
GCC Administrator
44ee3dea99 Daily bump.
From-SVN: r165011
2010-10-06 00:18:27 +00:00
David Krauss
47b90d6b32 re PR libstdc++/45841 (r164529 cris-elf libstdc++ 27_io/basic_filebuf/seekoff/char/2-io.cc)
2010-10-05  David Krauss  <potswa@mac.com>

	PR libstdc++/45841
	* include/bits/fstream.h (basic_filebuf::underflow): Overflow
	success does not preclude returning failure.
	(basic_filebuf::pbackfail): Likewise.
	(basic_filebuf::xsputn): Fix indentation problem.
	(basic_filebuf::xsgetn): Likewise. Also, add similar overflow
	call to enable optimized case from write mode.
	* testsuite/27_io/basic_filebuf/underflow/char/45841.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.

From-SVN: r165009
2010-10-06 00:17:28 +00:00
Jonathan Wakely
94a9600ce3 locale_facets_nonio.h (time_get::get_time): Doc typo.
2010-10-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/locale_facets_nonio.h (time_get::get_time): Doc typo.
	(time_get::get_date): Likewise.

From-SVN: r165002
2010-10-05 21:58:59 +01:00
Jonathan Wakely
c6f3b5880e 2010-10-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* Remove svn conflict marker in ChangeLog.

From-SVN: r165001
2010-10-05 21:43:04 +01:00
Anatoly Sokolov
c1f9afd1d3 m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
	* config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
	(m68hc11_class_likely_spilled_p): New function.

From-SVN: r165000
2010-10-05 23:38:27 +04:00
Nicola Pero
a26d886253 In gcc/: 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-parser.c (c_parser_objc_method_definition): Updated comment.

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

        PR objc++/31125
        * parser.c (cp_parser_objc_class_interface): If no identifier
        follows an @interface token, stop parsing the interface after
        printing an error.
        (cp_parser_objc_class_implementation): If no identifier follows an
        @implementation token, stop parsing the implementation after
        printing an error.

2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        PR objc++/23707
        * parser.c (cp_parser_objc_method_keyword_params): If the required
        colon is not found while parsing parameters, stop parsing them.

2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        PR objc++/31126
        * parser.c (cp_parser_objc_class_ivars): Do not eat the EOF or
        @end after detecting it.  Print an error if @end is found without
        a '}'.
        (cp_parser_objc_method_prototype_list): Do not eat the EOF after
        detecting it.  Fixed reading the next token when continuing
        because of an error in a method signature.  Print an error if EOF
        is found without an '@end'.
        (cp_parser_objc_method_definition_list): Same change.

2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        Merge from apple/trunk branch on FSF servers:

        2005-10-17  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4290840
        * parser.c (cp_parser_objc_method_keyword_params): Check for valid
        method parameters and issue error.
        (cp_parser_objc_method_definition_list): Check for invalid tokens
        which cannot start a function definition.

        2005-10-14  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4294425
        * parser.c (cp_parser_objc_message_args): Check for missing message
        arguments and syntax error.

        2005-10-13  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4261146
        * parser.c (cp_parser_objc_class_ivars): Check for @end/eof while
        looking for '}'.

        2005-08-15  Ziemowit Laski  <zlaski@apple.com>

        Radar 4093475
        * parser.c (cp_parser_objc_interstitial_code): Catch stray
        '{' and '}' tokens and issue appropriate errors.

        2005-08-02  Ziemowit Laski  <zlaski@apple.com>

        Radar 4185810
        (cp_parser_statement_seq_opt): In addition to '}' and
        end-of-file, a statement sequence may also be terminated
        by a stray '@end'.

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

        Merge from 'apple/trunk' branch on FSF servers.

        2005-10-17  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4290840
        * objc-act.c (objc_start_method_definition): Check for error_mark_node for
        the selector name and make a quick exit.

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

        PR objc++/28050
        * obj-c++.dg/syntax-error-10.mm: New.

2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        PR objc++/23707
        * obj-c++.dg/syntax-error-9.mm: New.

2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        PR objc++/31126
        * obj-c++.dg/syntax-error-8.mm: New.

2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        Merge from 'apple/trunk' branch on FSF servers.

        2005-10-17  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4290840
        * obj-c++.dg/syntax-error-7.mm: New

        2005-10-14  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4294425
        * obj-c++.dg/syntax-error-6.mm: New

        2005-10-13  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4261146
        * obj-c++.dg/syntax-error-5.mm: New

        2005-08-15  Ziemowit Laski  <zlaski@apple.com>

        Radar 4093475
        * obj-c++.dg/syntax-error-[3-4].mm: New.

        2005-08-02  Ziemowit Laski  <zlaski@apple.com>

        Radar 4185810
        * obj-c++.dg/syntax-error-[1-2].mm: New.

From-SVN: r164997
2010-10-05 19:23:33 +00:00
Ian Lance Taylor
ae718d66b6 * lto.c (lto_section_with_id): Make s a const pointer.
From-SVN: r164996
2010-10-05 18:40:09 +00:00
Jan Hubicka
852e4bd21f invoke.texi (-flto-partition, [...]): Document.
* doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
	Document.
	* opts.c (decode_options): Handle lto partitions.
	* common.opt (flto-partition=1to1, flto-partition=balanced): New.
	* params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.

	* lto.c:  Include params.h.
	(add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
	refcounting in aux field.
	(undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
	New functions.
	(lto_1_to_1_map): Simplify.
	(lto_balanced_map): New function.
	(do_whole_program_analysis): Chose proper partitioning alg.
	* Make-lang.in (lto.o): Add dependency on params.h

From-SVN: r164995
2010-10-05 17:57:09 +00:00
Jan Hubicka
5806d9ac5d cgraphunit.c (assemble_function): Output thunks and aliases before the function itself.
* cgraphunit.c (assemble_function): Output thunks and aliases before
	the function itself.

From-SVN: r164994
2010-10-05 16:15:00 +00:00
Paolo Carlini
033b71cea1 type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
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
2010-10-05 15:53:35 +00:00
Hariharan Sandanagobalane
0378450eec picochip.c (picochip_option_override): Disable exception flags for picochip.
* config/picochip/picochip.c (picochip_option_override): Disable
          exception flags for picochip.

From-SVN: r164992
2010-10-05 15:52:33 +00:00
Joseph Myers
1ebe4b4fa0 opts-common.c (handle_option, [...]): Add diagnostic_context parameter.
* 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
2010-10-05 15:28:39 +01:00
Olivier Hainque
bcee41ff81 vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
* 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
2010-10-05 12:18:10 +00:00
Ira Rosen
694a4f61a7 re PR tree-optimization/45752 (ICE in ix86_vectorize_builtin_vec_perm_ok)
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
2010-10-05 12:01:29 +00:00
Richard Guenther
4d3814a514 value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
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
2010-10-05 10:42:24 +00:00
Andreas Krebbel
65b1d8ea3e s390.c (z196_cost): New.
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
2010-10-05 10:39:48 +00:00
Richard Guenther
6e57232622 re PR middle-end/45877 (invalid write in gimplify_and_update_call_from_tree)
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
2010-10-05 10:37:12 +00:00
Arnaud Charlet
ce417b8f3f [multiple changes]
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
2010-10-05 12:30:15 +02:00
Arnaud Charlet
947430d5fe [multiple changes]
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
2010-10-05 12:26:07 +02:00
Robert Dewar
22b77f6852 prj-util.adb, [...]: Minor reformatting.
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
2010-10-05 12:22:52 +02:00
Arnaud Charlet
f2282a5810 [multiple changes]
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
2010-10-05 12:18:09 +02:00
Robert Dewar
3ce5ca7546 exp_ch3.adb, [...]: Minor code reorganization.
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
2010-10-05 12:14:50 +02:00
Arnaud Charlet
96d2756f41 [multiple changes]
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
2010-10-05 12:07:35 +02:00
Vincent Celier
610ef7c0f9 vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake switch --create-info-file=.
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
2010-10-05 12:00:45 +02:00
Arnaud Charlet
1c218ac3ff [multiple changes]
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
2010-10-05 11:57:10 +02:00
Vincent Celier
dfa8a067ca make.adb (Scan_Make_Arg): Take into account new switch --source-info=file.
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
2010-10-05 11:56:39 +02:00
Arnaud Charlet
a8ef12e56b [multiple changes]
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
2010-10-05 11:42:12 +02:00
Sebastian Huber
79d34420f6 re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled)
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
2010-10-05 09:41:57 +00:00
Arnaud Charlet
92817e8977 [multiple changes]
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
2010-10-05 11:37:44 +02:00
Emmanuel Briot
eada5fd1cf 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
2010-10-05 11:32:05 +02:00
Emmanuel Briot
c5be6c3a9d prj-nmsc.adb, [...] (Expand_Subdirectory_Pattern): New subprogram.
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
2010-10-05 11:29:14 +02:00
Emmanuel Briot
a0a786e30d gnatcmd.adb, [...] (Project_Search_Path): New type.
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
2010-10-05 11:26:00 +02:00
Arnaud Charlet
9d9f5f49ae [multiple changes]
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
2010-10-05 11:22:21 +02:00
Arnaud Charlet
98ee5fc477 [multiple changes]
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
2010-10-05 11:16:23 +02:00
GCC Administrator
de9535785c Daily bump.
From-SVN: r164966
2010-10-05 00:18:20 +00:00