Andi Kleen [Wed, 6 Oct 2010 22:02:58 +0000 (22:02 +0000)]
[PATCH] Report LTO phase in lto1 process name v2
On larger parallel WHOPR builds I find it useful to see in top which
phase a given lto1 is in.
Set the process name to lto1-wpa, lto1-ltrans, lto1-lto depending
on the current mode.
This is currently only implemented for Linux and only
using the "comm" process name, which is reported in top.
v2: Moved function to libiberty, renamed setproctitle to match
BSD. In theory it should pick up BSD's libc function for this
on a BSD system, but I haven't tested this.
gcc/lto/
2010-10-06 Andi Kleen <ak@linux.intel.com>
* lto.c (lto_process_name): Add.
(lto_main): Call lto_process_name.
include/
2010-10-06 Andi Kleen <ak@linux.intel.com>
* libiberty.h (setproctitle): Add prototype.
libiberty/
2010-10-06 Andi Kleen <ak@linux.intel.com>
* Makefile.in (CFILES): Add setproctitle.
(CONFIGURED_OFILES): Add setproctitle.
(setproctitle): Add rule.
* config.in: Regenerate.
* configure: Regenerate.
* configure.ac: Add checks for prctl PR_SET_NAME and setproctitle.
* setproctitle.c: Add file.
* functions.texi: Regenerate.
From-SVN: r165066
Francois-Xavier Coudert [Wed, 6 Oct 2010 20:10:43 +0000 (20:10 +0000)]
spu-c.c (spu_resolve_overloaded_builtin): Don't use define_builtin_std where it's unnecessary.
* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
define_builtin_std where it's unnecessary.
* config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
From-SVN: r165065
Anatoly Sokolov [Wed, 6 Oct 2010 18:12:49 +0000 (22:12 +0400)]
tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
* doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
* doc/tm.texi.in: Regenerate.
* system.h (CLASS_LIKELY_SPILLED_P): Poison.
* targhooks.c (default_class_likely_spilled_p): Don't use the
CLASS_LIKELY_SPILLED_P macro.
* config\arm\arm.md: Update comment.
From-SVN: r165060
Nicola Pero [Wed, 6 Oct 2010 17:57:29 +0000 (17:57 +0000)]
Removed obsolete gcc/objc/README file
From-SVN: r165059
Jan Hubicka [Wed, 6 Oct 2010 17:28:13 +0000 (19:28 +0200)]
lto.c (partition_cgraph_node_p, [...]): Handle COMDATs required by the linker.
* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
COMDATs required by the linker.
From-SVN: r165058
Jan Hubicka [Wed, 6 Oct 2010 17:24:40 +0000 (19:24 +0200)]
ipa.c (cgraph_remove_unreachable_nodes): External references can always be removed.
* ipa.c (cgraph_remove_unreachable_nodes): External references can always
be removed.
(cgraph_externally_visible_p): We can not bring local comdats that are known
to linker; fix handling of internal visibility.
(function_and_variable_visibility): Likewise.
From-SVN: r165057
Paolo Carlini [Wed, 6 Oct 2010 17:17:16 +0000 (17:17 +0000)]
functional (struct _Weak_result_type_impl): Add specializazions for cv-qualified function types...
2010-10-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (struct _Weak_result_type_impl): Add
specializazions for cv-qualified function types, for variadic
function types and pointers and references to function types,
and for pointers to member function types.
(struct _Reference_wrapper_base): Add specializations for
cv-qualified unary and binary function types.
* testsuite/20_util/reference_wrapper/result_type.cc: New.
* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
From-SVN: r165056
Rainer Orth [Wed, 6 Oct 2010 17:01:11 +0000 (17:01 +0000)]
re PR libstdc++/45863 (FAIL: libstdc++-abi/abi_check)
PR libstdc++/45863
* scripts/extract_symvers: Restore revision 164879.
Only use pvs on SunOS.
From-SVN: r165055
Marcus Shawcroft [Wed, 6 Oct 2010 16:42:50 +0000 (16:42 +0000)]
futex.h: New.
2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/linux/futex.h: New.
* config/linux/arm/mutex.h: New.
* configure.tgt (arm*-*-linux*): Add config path.
From-SVN: r165054
Mikael Morin [Wed, 6 Oct 2010 16:39:27 +0000 (16:39 +0000)]
trans-stmt.c (gfc_trans_allocate): free lhs expr.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-stmt.c (gfc_trans_allocate): free lhs expr.
From-SVN: r165053
Mikael Morin [Wed, 6 Oct 2010 16:30:08 +0000 (16:30 +0000)]
trans-array.c (gfc_free_ss_chain): Made non-static.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_free_ss_chain): Made non-static.
* trans-array.h (gfc_free_ss_chain): New prototype.
* trans-stmt.c (gfc_trans_where_2): Free ss chains.
From-SVN: r165052
Mikael Morin [Wed, 6 Oct 2010 16:21:12 +0000 (16:21 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_funcall): Also free symbol's subcomponents.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Also free symbol's
subcomponents.
From-SVN: r165049
Mikael Morin [Wed, 6 Oct 2010 16:11:23 +0000 (16:11 +0000)]
trans-expr.c (get_proc_ptr_comp): Restore initial expression type before calling gfc_free_expr.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-expr.c (get_proc_ptr_comp): Restore initial expression type
before calling gfc_free_expr.
From-SVN: r165048
Mikael Morin [Wed, 6 Oct 2010 16:05:41 +0000 (16:05 +0000)]
trans-expr.c (get_proc_ptr_comp): Restore initial expression type before calling gfc_free_expr.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-expr.c (get_proc_ptr_comp): Restore initial expression type
before calling gfc_free_expr.
From-SVN: r165047
Mikael Morin [Wed, 6 Oct 2010 15:59:31 +0000 (15:59 +0000)]
trans-array.c (gfc_conv_tmp_array_ref): Add factorized call to gfc_advance_se_ss_chain.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_conv_tmp_array_ref): Add factorized call to
gfc_advance_se_ss_chain.
* trans-expr.c (gfc_conv_subref_array_ref, gfc_conv_procedure_call,
gfc_conv_array_constructor_expr, gfc_trans_assignment_1): Remove
calls to gfc_advance_se_ss_chain after gfc_conv_tmp_array_ref.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.
* trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.
From-SVN: r165046
Mikael Morin [Wed, 6 Oct 2010 15:48:25 +0000 (15:48 +0000)]
trans.c (gfc_restore_backend_locus): New function.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans.c (gfc_restore_backend_locus): New function.
(gfc_get_backend_locus): Renamed to ...
(gfc_save_backend_locus): ... this.
* trans.h (gfc_restore_backend_locus, gfc_get_backend_locus,
gfc_save_backend_locus): Same.
* trans-array.c (gfc_trans_g77_array, gfc_trans_dummy_array_bias,
gfc_trans_deferred_array): Rename gfc_get_backend_locus to
gfc_save_backend_locus.
(gfc_trans_dummy_array_bias): Call gfc_restore_backend_locus at the
end.
(gfc_trans_g77_array, gfc_trans_deferred_array): Use
gfc_restore_backend_locus instead of gfc_set_backend_locus.
(gfc_trans_deferred_array): Call gfc_restore_backend_locus on early
return.
* trans-decl.c (gfc_get_extern_function_decl, build_entry_thunks,
gfc_trans_deferred_vars):
Rename gfc_get_backend_locus to gfc_save_backend_locus.
Use gfc_restore_backend_locus insted of gfc_set_backend_locus.
From-SVN: r165045
Mikael Morin [Wed, 6 Oct 2010 15:39:15 +0000 (15:39 +0000)]
trans-array.c (gfc_build_constant_array_constructor): Free array spec when done.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_build_constant_array_constructor): Free array
spec when done.
From-SVN: r165041
Mikael Morin [Wed, 6 Oct 2010 15:35:04 +0000 (15:35 +0000)]
symbol.c (gfc_copy_formal_args_ppc): Free previous formal arg list before overwriting it.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* symbol.c (gfc_copy_formal_args_ppc): Free previous formal arg list
before overwriting it.
From-SVN: r165040
Mikael Morin [Wed, 6 Oct 2010 15:29:46 +0000 (15:29 +0000)]
array.c (gfc_match_array_spec): Don't re-initialize cleared struct.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* array.c (gfc_match_array_spec): Don't re-initialize cleared struct.
* symbol.c (gen_shape_param): Ditto.
From-SVN: r165039
Mikael Morin [Wed, 6 Oct 2010 15:25:51 +0000 (15:25 +0000)]
symbol.c (free_entry_list): New function.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* symbol.c (free_entry_list): New function.
(gfc_free_namespace): Free list of entries.
From-SVN: r165038
Mikael Morin [Wed, 6 Oct 2010 15:21:00 +0000 (15:21 +0000)]
symbol.c (free_components): Free list of formal args and formal namespace.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* symbol.c (free_components): Free list of formal args and formal
namespace.
From-SVN: r165037
Mikael Morin [Wed, 6 Oct 2010 15:15:48 +0000 (15:15 +0000)]
simplify.c (gfc_simplify_size): Clear temporary mpz int before returning.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* simplify.c (gfc_simplify_size): Clear temporary mpz int before
returning.
From-SVN: r165036
Mikael Morin [Wed, 6 Oct 2010 15:07:43 +0000 (15:07 +0000)]
resolve.c (add_dt_to_dt_list): Remove unneeded if.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* resolve.c (add_dt_to_dt_list): Remove unneeded if.
From-SVN: r165035
Mikael Morin [Wed, 6 Oct 2010 14:52:02 +0000 (14:52 +0000)]
resolve.c (check_typebound_baseobject): Free local expr before returning.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* resolve.c (check_typebound_baseobject): Free local expr before
returning.
From-SVN: r165034
Mikael Morin [Wed, 6 Oct 2010 14:47:40 +0000 (14:47 +0000)]
primary.c (gfc_match_structure_constructor): Invert the assert logic.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* primary.c (gfc_match_structure_constructor): Invert the assert logic.
From-SVN: r165033
Mikael Morin [Wed, 6 Oct 2010 14:43:55 +0000 (14:43 +0000)]
primary.c (gfc_free_structure_ctor_component): Also free the component structure itself.
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* primary.c (gfc_free_structure_ctor_component): Also free the
component structure itself.
From-SVN: r165032
Eric Botcazou [Wed, 6 Oct 2010 14:35:25 +0000 (14:35 +0000)]
re PR c++/45908 ([C++0x] ICE involving decltype: in tree_low_cst, at tree.h:4114)
PR c++/45908
* typeck.c (cp_build_addr_expr_1): Add check for incomplete types in
code folding offsetof-like computations.
From-SVN: r165031
Eric Botcazou [Wed, 6 Oct 2010 14:25:04 +0000 (14:25 +0000)]
re PR rtl-optimization/45394 (gnat fails to build on s390, trunk
20100918)
PR rtl-optimization/45394
* combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
(struct rtx_subst_pair): Remove AFTER field.
(propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
(propagate_for_debug): Remove MOVE parameter and adjust.
(try_combine): In the special case where I2 is a PARALLEL, combine only
destinations of SETs and set I2SRC to the I2 source.
Adjust calls to propagate_for_debug throughout.
* reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
insns.
From-SVN: r165030
Mikael Morin [Wed, 6 Oct 2010 14:23:30 +0000 (14:23 +0000)]
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
Mikael Morin [Wed, 6 Oct 2010 14:19:30 +0000 (14:19 +0000)]
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
Mikael Morin [Wed, 6 Oct 2010 14:15:54 +0000 (14:15 +0000)]
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
Mikael Morin [Wed, 6 Oct 2010 14:11:30 +0000 (14:11 +0000)]
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
Olivier Hainque [Wed, 6 Oct 2010 14:08:48 +0000 (14:08 +0000)]
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
Mikael Morin [Wed, 6 Oct 2010 14:06:20 +0000 (14:06 +0000)]
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
Hariharan Sandanagobalane [Wed, 6 Oct 2010 11:29:41 +0000 (11:29 +0000)]
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
Richard Guenther [Wed, 6 Oct 2010 11:25:06 +0000 (11:25 +0000)]
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
Nicola Pero [Wed, 6 Oct 2010 10:43:54 +0000 (10:43 +0000)]
Fixed date in my last changelog entry
From-SVN: r165021
Nicola Pero [Wed, 6 Oct 2010 10:10:14 +0000 (10:10 +0000)]
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
Hariharan Sandanagobalane [Wed, 6 Oct 2010 08:40:57 +0000 (08:40 +0000)]
gcc.c-torture/execute/cmpsi-2.c : Unsigned comparisons should use
unsigned values.
From-SVN: r165016
Nick Clifton [Wed, 6 Oct 2010 08:16:18 +0000 (08:16 +0000)]
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
Thomas Schwinge [Wed, 6 Oct 2010 07:49:52 +0000 (09:49 +0200)]
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
Jakub Jelinek [Wed, 6 Oct 2010 07:48:46 +0000 (09:48 +0200)]
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
Jakub Jelinek [Wed, 6 Oct 2010 07:47:28 +0000 (09:47 +0200)]
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
GCC Administrator [Wed, 6 Oct 2010 00:18:27 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r165011
David Krauss [Wed, 6 Oct 2010 00:17:28 +0000 (00:17 +0000)]
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
Jonathan Wakely [Tue, 5 Oct 2010 20:58:59 +0000 (20:58 +0000)]
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
Jonathan Wakely [Tue, 5 Oct 2010 20:43:04 +0000 (21:43 +0100)]
2010-10-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* Remove svn conflict marker in ChangeLog.
From-SVN: r165001
Anatoly Sokolov [Tue, 5 Oct 2010 19:38:27 +0000 (23:38 +0400)]
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
Nicola Pero [Tue, 5 Oct 2010 19:23:33 +0000 (19:23 +0000)]
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
Ian Lance Taylor [Tue, 5 Oct 2010 18:40:09 +0000 (18:40 +0000)]
* lto.c (lto_section_with_id): Make s a const pointer.
From-SVN: r164996
Jan Hubicka [Tue, 5 Oct 2010 17:57:09 +0000 (19:57 +0200)]
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
Jan Hubicka [Tue, 5 Oct 2010 16:15:00 +0000 (18:15 +0200)]
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
Paolo Carlini [Tue, 5 Oct 2010 15:53:35 +0000 (15:53 +0000)]
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
Hariharan Sandanagobalane [Tue, 5 Oct 2010 15:52:33 +0000 (15:52 +0000)]
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
Joseph Myers [Tue, 5 Oct 2010 14:28:39 +0000 (15:28 +0100)]
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
Olivier Hainque [Tue, 5 Oct 2010 12:18:10 +0000 (12:18 +0000)]
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
Ira Rosen [Tue, 5 Oct 2010 12:01:29 +0000 (12:01 +0000)]
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
Richard Guenther [Tue, 5 Oct 2010 10:42:24 +0000 (10:42 +0000)]
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
Andreas Krebbel [Tue, 5 Oct 2010 10:39:48 +0000 (10:39 +0000)]
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
Richard Guenther [Tue, 5 Oct 2010 10:37:12 +0000 (10:37 +0000)]
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
Arnaud Charlet [Tue, 5 Oct 2010 10:30:15 +0000 (12:30 +0200)]
[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
Arnaud Charlet [Tue, 5 Oct 2010 10:26:07 +0000 (12:26 +0200)]
[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
Robert Dewar [Tue, 5 Oct 2010 10:22:52 +0000 (10:22 +0000)]
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
Arnaud Charlet [Tue, 5 Oct 2010 10:18:09 +0000 (12:18 +0200)]
[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
Robert Dewar [Tue, 5 Oct 2010 10:14:50 +0000 (10:14 +0000)]
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
Arnaud Charlet [Tue, 5 Oct 2010 10:07:35 +0000 (12:07 +0200)]
[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
Vincent Celier [Tue, 5 Oct 2010 10:00:45 +0000 (10:00 +0000)]
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
Arnaud Charlet [Tue, 5 Oct 2010 09:57:10 +0000 (11:57 +0200)]
[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
Vincent Celier [Tue, 5 Oct 2010 09:56:39 +0000 (11:56 +0200)]
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
Arnaud Charlet [Tue, 5 Oct 2010 09:42:12 +0000 (11:42 +0200)]
[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
Sebastian Huber [Tue, 5 Oct 2010 09:41:57 +0000 (09:41 +0000)]
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
Arnaud Charlet [Tue, 5 Oct 2010 09:37:44 +0000 (11:37 +0200)]
[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
Emmanuel Briot [Tue, 5 Oct 2010 09:32:05 +0000 (09:32 +0000)]
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 [Tue, 5 Oct 2010 09:29:14 +0000 (09:29 +0000)]
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
Emmanuel Briot [Tue, 5 Oct 2010 09:26:00 +0000 (09:26 +0000)]
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
Arnaud Charlet [Tue, 5 Oct 2010 09:22:21 +0000 (11:22 +0200)]
[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
Arnaud Charlet [Tue, 5 Oct 2010 09:16:23 +0000 (11:16 +0200)]
[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
GCC Administrator [Tue, 5 Oct 2010 00:18:20 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r164966
Jakub Jelinek [Mon, 4 Oct 2010 22:02:28 +0000 (00:02 +0200)]
re PR debug/45849 (ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g)
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
Jan Hubicka [Mon, 4 Oct 2010 20:59:07 +0000 (22:59 +0200)]
gimple-fold.c (static_object_in_other_unit_p): Rename to...
* 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
Joseph Myers [Mon, 4 Oct 2010 20:48:39 +0000 (21:48 +0100)]
flags.h (g_switch_value, [...]): Remove.
* 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
Vladimir Makarov [Mon, 4 Oct 2010 20:37:57 +0000 (20:37 +0000)]
common.opt (fira-coalesce): Remove.
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
Joseph Myers [Mon, 4 Oct 2010 20:10:06 +0000 (21:10 +0100)]
mips.h (target_flags_explicit): Declare for GENERATOR_FILE.
* config/mips/mips.h (target_flags_explicit): Declare for
GENERATOR_FILE.
From-SVN: r164958
Paolo Carlini [Mon, 4 Oct 2010 17:28:24 +0000 (17:28 +0000)]
functional (function<>::swap): Use std::swap.
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
Andi Kleen [Mon, 4 Oct 2010 17:09:45 +0000 (17:09 +0000)]
Mark linker Makefile rules for job server build
-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
Matthias Klose [Mon, 4 Oct 2010 16:51:59 +0000 (16:51 +0000)]
t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists.
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
Jason Merrill [Mon, 4 Oct 2010 16:18:03 +0000 (12:18 -0400)]
tree.c (decl_storage_duration): New.
* tree.c (decl_storage_duration): New.
* cp-tree.h: Declare it.
(duration_kind): Return values.
From-SVN: r164944
Jakub Jelinek [Mon, 4 Oct 2010 15:49:13 +0000 (17:49 +0200)]
re PR middle-end/45876 (ICE: verify_gimple failed)
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
Arnaud Charlet [Mon, 4 Oct 2010 15:07:59 +0000 (17:07 +0200)]
[multiple changes]
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
Julian Brown [Mon, 4 Oct 2010 14:59:30 +0000 (14:59 +0000)]
expr.c (expand_assignment): Add assertion to prevent emitting null rtx for movmisalign pattern.
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
Arnaud Charlet [Mon, 4 Oct 2010 14:09:52 +0000 (16:09 +0200)]
[multiple changes]
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 [Mon, 4 Oct 2010 13:59:18 +0000 (15:59 +0200)]
[multiple changes]
2010-10-04 Robert Dewar <dewar@adacore.com>
* exp_cg.adb: Minor reformatting.
2010-10-04 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
the target object is an interface.
* sem_disp.adb (Propagate_Tag): If the controlling argument is an
interface type then we generate an implicit conversion to force
displacement of the pointer to the object to reference the secondary
dispatch table associated with the interface.
2010-10-04 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
Enumeration_Rep_Expr to point to the literal, not the identifier.
(Analyze_Enumeration_Representation_Clause): Improve error message for
size too small for enum rep value
(Analyze_Enumeration_Representation_Clause): Fix size test to use proper
size (RM_Size, not Esize).
From-SVN: r164939
Arnaud Charlet [Mon, 4 Oct 2010 13:53:10 +0000 (15:53 +0200)]
[multiple changes]
2010-10-04 Robert Dewar <dewar@adacore.com>
* s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.
2010-10-04 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Write_Call_Info): Code clean up.
From-SVN: r164938
Arnaud Charlet [Mon, 4 Oct 2010 13:46:35 +0000 (15:46 +0200)]
[multiple changes]
2010-10-04 Arnaud Charlet <charlet@adacore.com>
* s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.
2010-10-04 Robert Dewar <dewar@adacore.com>
* exp_cg.adb: Minor code reorganization
Minor reformatting.
* exp_ch5.adb, prj-nmsc.adb: Minor reformatting.
From-SVN: r164937
Arnaud Charlet [Mon, 4 Oct 2010 13:43:01 +0000 (15:43 +0200)]
[multiple changes]
2010-10-04 Bob Duff <duff@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
to make a qualified expression into a name (syntax-wise), then do not
consider it redundant.
2010-10-04 Thomas Quinot <quinot@adacore.com>
* sem_warn.ads: Fix typo.
2010-10-04 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
TSS names.
(Write_Call_Info): Add missing support for renamed primitives.
2010-10-04 Thomas Quinot <quinot@adacore.com>
* exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
code between Make_Component_List_Assign and Make_Field_Assign.
2010-10-04 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Get_Directories): For non extending projects that
declare that they have no sources, do not create a non existing object
or exec directory if builder switch -p is used.
2010-10-04 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi (gnatcheck): Change the description of the report file
format.
2010-10-04 Ed Falis <falis@adacore.com>
* s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
determine whether Set_True is called from a task or an ISR.
(Set_True): test for being in a task context before trying to
dereference Defer_Abort or Undefer_Abort.
From-SVN: r164936
Arnaud Charlet [Mon, 4 Oct 2010 13:38:32 +0000 (15:38 +0200)]
[multiple changes]
2010-10-04 Robert Dewar <dewar@adacore.com>
* sem_res.adb, sinput-l.adb: Minor reformatting.
2010-10-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
check when the target object is an interface since the expression of
the right hand side must only cover the interface.
From-SVN: r164935
Vincent Celier [Mon, 4 Oct 2010 13:27:57 +0000 (13:27 +0000)]
frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before loading the main source...
2010-10-04 Vincent Celier <celier@adacore.com>
* frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
loading the main source, so that if it is preprocessed and -gnateG is
used, the preprocessed file is written.
* lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
if a subunit is from the main unit when it is loaded.
* sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
to True before loading a subunit.
* sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
to True when the main is a generic unit before loading one of its
subunits.
* sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
file only for the main unit (spec, body and subunits).
From-SVN: r164934
Arnaud Charlet [Mon, 4 Oct 2010 13:16:56 +0000 (15:16 +0200)]
[multiple changes]
2010-10-04 Vincent Celier <celier@adacore.com>
* sinput-l.adb (Load_File): Do not fail when switch -gnateG is
specified and the processed file cannot be written. Just issue a
warning and continue.
2010-10-04 Thomas Quinot <quinot@adacore.com>
* sem_res.adb: Minor reformatting.
2010-10-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
is an overridden inherited operation, the desired operation is the
overriding one, which is the alias of the visible one.
2010-10-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
present before deleting from the tree, when an inherited function with
a controlling result that returns a null extension is overridden by a
later declaration or body.
2010-10-04 Gary Dismukes <dismukes@adacore.com>
* checks.adb: Update comment.
From-SVN: r164933
Joseph Myers [Mon, 4 Oct 2010 11:51:00 +0000 (12:51 +0100)]
optc-gen.awk: Define global_options_set.
* optc-gen.awk: Define global_options_set. Don't define
target_flags_explicit.
* opth-gen.awk: Declare global_options_set. Define
target_flags_explicit as macro.
* opts-common.c (handle_option): Take opts_set and generated_p
parameters.
(handle_generated_option, read_cmdline_option, set_option): Take
opts_set parameter.
(set_option): Use opts_set instead of hardcoding target_flags and
target_flags_explicit.
* opts.c (sel_sched_switch_set, profile_arc_flag_set,
flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
flag_value_profile_transformations_set, flag_peel_loops_set,
flag_branch_probabilities_set, flag_inline_functions_set,
flag_ipa_cp_set, flag_ipa_cp_clone_set,
flag_predictive_commoning_set, flag_unswitch_loops_set,
flag_gcse_after_reload_set): Remove.
(common_handle_option, lang_handle_option, target_handle_option):
Take opts_set parameter. Assert that it is &global_options_set.
(common_handle_option): Don't set _set variables. Check opts_set
instead of such variables.
(enable_warning_as_error): Pass &global_options_set to
handle_generated_option.
* opts.h (cl_option_handler_func.handler, set_option,
handle_option, handle_generated_option, read_cmdline_option): Add
opts_set parameters.
(handle_option): Add generated_p parameter.
* config/i386/i386.c (ix86_function_specific_save,
ix86_function_specific_restore): Updat for renaming of
target_flags_explicit field.
* config/i386/i386.opt (target_flags_explicit): Rename to
ix86_target_flags_explicit.
* config/ia64/ia64.c (ia64_override_options_after_change): Check
global_options_set.x_flag_selective_scheduling and
global_options_set.x_flag_selective_scheduling2, not
sel_sched_switch_set.
* flags.h (sel_sched_switch_set,
flag_speculative_prefetching_set): Remove.
* gcc.c (driver_handle_option): Take opts_set parameter. Assert
that it is &global_options_set.
(process_command): Pass &global_options_set to
read_cmdline_option.
* lto-opts.c (lto_reissue_options): Pass &global_options_set to
set_option.
* toplev.c (target_flags_explicit): Remove.
c-family:
* c-opts.c (c_common_handle_option): Pass &global_options_set to
handle_generated_option.
From-SVN: r164932
Jan Hubicka [Mon, 4 Oct 2010 11:11:57 +0000 (13:11 +0200)]
re PR middle-end/45871 (lto bootstrap miscompiles expmed.c)
PR middle-end/45871
* tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
use get_ref_base_and_offset to handle references.
(fold_const_aggregate_ref): Update.
From-SVN: r164931