Commit Graph

103576 Commits

Author SHA1 Message Date
Janus Weil d3735479a3 re PR fortran/45961 ([OOP] Problem with polymorphic type-bound operators)
2010-10-10  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45961
	* resolve.c (resolve_typebound_function): Bugfix for type-bound
	operators.

2010-10-10  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45961
	* gfortran.dg/typebound_operator_6.f03: New.

From-SVN: r165263
2010-10-10 23:35:10 +02:00
Kai Tietz 6ea7f14af8 2010-10.10 Kai Tietz <kai.tietz@onevision.com>
* g++.dg/ext/dllexport-MI1.C: Enable for x86_64 mingw
	and adjust -export symbol scanning.
	* g++.dg/ext/dllexport1.C: Likewise.
	* g++.dg/ext/dllexport3.C: Likewise.
	* gcc.dg/dll-3.c: Likewise.
	* gcc.dg/dll-4.c: Likewise.
	* gcc.dg/dll-5.c: Likewise.

From-SVN: r165261
2010-10-10 21:25:09 +02:00
Uros Bizjak e14d28a7a5 ic-misattribution-1a.c: Cleanup tree_profile_ipa instead of tree_profile dump file.
* gcc.dg/tree-prof/ic-misattribution-1a.c: Cleanup tree_profile_ipa
	instead of tree_profile dump file.
	* g++.dg/tree-prof/inline_mismatch_args.C: Cleanup einline dump file.
	* gfortran.dg/derived_array_intrinisics_1.f90: Cleanup original
	dump file.

From-SVN: r165259
2010-10-10 20:24:59 +02:00
Uros Bizjak 54cb20b3ad 20101009-1_0.c (bar): Fix asm constraints.
* gcc.dg/lto/20101009-1_0.c (bar): Fix asm constraints.

From-SVN: r165257
2010-10-10 20:02:44 +02:00
Nicola Pero e4d508663e In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc/objc-api.h: Define Method, Method_t, Category and
        Category_t.  Prevent including this file at the same time as
        objc/runtime.h.  Updated comments.
        * objc/deprecated/struct_objc_method.h: Do not define Method,
        Method_t.
        * objc/deprecated/struct_objc_category.h: Do not define Category,
        Category_t.
        * objc-private/module-abi-8.h: New file containing a copy of all
        the structure definitions.  Not used yet.
        * objc/encoding.h (objc_aligned_size): Removed duplicate
        declaration.  Updated comments.
        * objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
        Category, struct objc_method_description, _C_ID and similar,
        _C_CONST and similar and _F_CONST and similar.  Added
        objc_sizeof_type, objc_alignof_type, objc_aligned_size,
        objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
        objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
        struct objc_struct_layout, objc_layout_structure,
        objc_layout_structure_next_member, objc_layout_finish_structure,
        objc_layout_structure_get_info.  Prevent including this file at
        the same time as objc/objc-api.h.

From-SVN: r165256
2010-10-10 17:43:07 +00:00
Eric Botcazou e9acb3234d * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
From-SVN: r165255
2010-10-10 17:05:07 +00:00
Olivier Hainque b160794381 lang.opt (gdwarf+): Remove.
* gcc-interface/lang.opt (gdwarf+): Remove.
	* gcc-interface/gigi.h (get_parallel_type): Likewise
	* gcc-interface/misc.c (gnat_dwarf_extensions): Likewise.
	(gnat_handle_option): Remove OPT_gdwarfplus case.
	(gnat_post_options): Remove setting of use_gnu_debug_info_extensions
	from gnat_dwarf_extensions.
	* gcc-interface/trans.c (gigi): Remove -gdwarf+ initializations.
	* gcc-interface/utils.c (get_parallel_type): Remove.

From-SVN: r165254
2010-10-10 13:25:19 +00:00
Eric Botcazou 658a41acf0 trans.c (gnat_to_gnu): Use invert_truthvalue_loc instead of invert_truthvalue.
* gcc-interface/trans.c (gnat_to_gnu) <N_Not_In>: Use
	invert_truthvalue_loc instead of invert_truthvalue.
	* gcc-interface/utils2.c (build_binary_op) <NE_EXPR>: Likewise.
	(build_unary_op) <TRUTH_NOT_EXPR>: Likewise.

From-SVN: r165253
2010-10-10 12:29:16 +00:00
Uros Bizjak bdf057c6e2 alpha.c (alpha_setup_incoming_varargs): Pass pointer to cum struct in the call to function_arg_advance.
2010-10-10  Uros Bizjak  <ubizjak@gmail.com>

	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
	to cum struct in the call to function_arg_advance.
	(alpha_function_arg_advance): Mark named as unused.

From-SVN: r165252
2010-10-10 14:26:25 +02:00
Eric Botcazou 4304395d86 decl.c (gnat_to_gnu_entity): Add assertion on the types of the parameters.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
	assertion on the types of the parameters.  Use KIND local variable.
	<E_Incomplete_Type>: Likewise.

From-SVN: r165251
2010-10-10 11:47:29 +00:00
Eric Botcazou 0c70025900 ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.
* gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.
	* gcc-interface/gigi.h (annotate_object): Add BY_DOUBLE_REF parameter.
	* gcc-interface/decl.c (annotate_object): Likewise and handle it.
	(gnat_to_gnu_entity): Adjust calls to annotate_object.
	(gnat_to_gnu_param): If fat pointer types are passed by reference on
	the target, pass them by explicit reference.
	* gcc-interface/misc.c (default_pass_by_ref): Fix type of constant.
	* gcc-interface/trans.c (Identifier_to_gnu): Do DECL_BY_DOUBLE_REF_P.
	(Subprogram_Body_to_gnu): Adjust call to annotate_object.
	(call_to_gnu): Handle DECL_BY_DOUBLE_REF_P.
	* gcc-interface/utils.c (convert_vms_descriptor): Add BY_REF parameter
	and handle it.
	(build_function_stub): Iterate on the parameters of the subprogram in
	lieu of on the argument types.  Adjust call to convert_vms_descriptor.

From-SVN: r165250
2010-10-10 11:26:16 +00:00
Nicola Pero 2461ab4bb7 In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>

        * Makefile.in (OBJC_DEPRECATED_H): Added struct_objc_category.h,
        struct_objc_ivar.h, struct_objc_ivar_list.h, struct_objc_method.h,
        struct_objc_method_list.h, struct_objc_module.h,
        struct_objc_protocol_list.h, struct_objc_symtab.h.
        * objc/deprecated/struct_objc_category.h: New.
        * objc/deprecated/struct_objc_ivar.h: New.
        * objc/deprecated/struct_objc_ivar_list.h: New.
        * objc/deprecated/struct_objc_method.h: New.
        * objc/deprecated/struct_objc_method_list.h: New.
        * objc/deprecated/struct_objc_module.h: New.
        * objc/deprecated/struct_objc_protocol_list.h: New.
        * objc/deprecated/struct_objc_symtab.h: New.
        * objc/deprecated/struct_objc_static_instances.h: New.
        * objc/objc-api.h: Definitions of deprecated structures moved into
        the above header fragment files in objc/deprecated/.  Include the
        files instead of definition the structures here.  Updated
        comments.
        * objc/runtime.h: Updated comments.  Do not include objc-api.h.
        (objc_set_enumeration_mutation_handler): Renamed to
        objc_setEnumerationMutationHandler.
        * objc-foreach.c (objc_set_enumeration_mutation_handler): Renamed
        to objc_setEnumerationMutationHandler.
        * objc/objc-exception.h (objc_set_exception_matcher): Renamed to
        objc_setExceptionMatcher.
        (objc_set_uncaught_exception_handler): Renamed to
        objc_setUncaughtExceptionHandler.
        * exception.c: Same changes.

From-SVN: r165249
2010-10-10 11:18:57 +00:00
Thomas Koenig 32af57e226 frontend-passes.c: Include opts.h.
2010-10-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c:  Include opts.h.
	(optimize_comparison):  Renamed from optimize_equality.
	Change second argument to operation to be compared.
	Use flag_finite_math_only to avoid comparing REAL and
	COMPLEX only when NANs are honored.  Simplify comparing
	of string concatenations where left or right operands are
	equal.  Simplify all comparison operations, based on the result
	of gfc_dep_compare_expr.
	* dependency.c:  Include arith.h.
	(gfc_are_identical_variables):  Volatile variables should not
	compare equal to themselves.
	(gfc_dep_compare_expr):  Handle string constants and string
	concatenations.

2010-10-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/character_comparison_4.f90:  New test.
	* gfortran.dg/character_comparison_5.f90:  New test.
	* gfortran.dg/character_comparison_6.f90:  New test.

From-SVN: r165248
2010-10-10 09:52:46 +00:00
Richard Sandiford 0e88eb8694 mips.c (mips_handle_option): Make "value" with ATTRIBUTE_UNUSED.
gcc/
	* config/mips/mips.c (mips_handle_option): Make "value" with
	ATTRIBUTE_UNUSED.

From-SVN: r165247
2010-10-10 09:18:11 +00:00
GCC Administrator df3f9d817a Daily bump.
From-SVN: r165246
2010-10-10 00:18:22 +00:00
Nicola Pero e2633f25b1 In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-sync.c: Include objc-private/common.h.

From-SVN: r165242
2010-10-09 22:30:20 +00:00
Nicola Pero cf3822f181 In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-10  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-foreach.c: Include objc-private/common.h.
        * objc/deprecated/METHOD_NULL.h: New file.
        * objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
        defining METHOD_NULL here.
        * Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
        * Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
        METHOD_NULL.
        ([-respondsTo:]): Same change.
        * objc/objc-api.h (method_get_imp): Converted it into a normal
        function so that we can hide the internals of struct objc_method.
        * sendmsg.c (method_get_imp): Implemented.

From-SVN: r165241
2010-10-09 22:22:23 +00:00
Richard Henderson 3a42502df4 re PR rtl-optimization/33721 ([meta-bug] Gcc can't properly align stack variable)
PR rtl-opt/33721
	* explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
	remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN.  Honor
	required_align, tidy the code a bit.  Emit split_stack code in the
	right place.  Mark the return value with the alignment properly.
	* expr.h (allocate_dynamic_stack_space): Update decl.
	* builtins.c (expand_builtin_apply): Update call to
	allocate_dynamic_stack_space.
	(expand_builtin_alloca): Likewise.  Remove TARGET parameter.
	* calls.c (initialize_argument_information): Update call to
	allocate_dynamic_stack_space.
	(expand_call): Likewise.

	* cfgexpand.c (get_decl_align_unit): Don't limit alignment.
	Don't update_stack_alignment here.
	(alloc_stack_frame_space): Make ALIGN unsigned.
	(stack_var_cmp): Sort by alignment too.
	(partition_stack_vars): Don't merge large and small alignment vars.
	(expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
	Take care when BASE is not virtual_stack_vars_rtx.
	(expand_stack_vars): Allocate dynamic stack space for large
	alignment variables.
	(expand_one_stack_var): Update all to expand_one_stack_var_at.
	(defer_stack_allocation): True for large alignment vars.
	(update_stack_alignment): Merge into ...
	(expand_one_var): ... here.
	(gimple_expand_cfg): Place code from expand_stack_vars.

From-SVN: r165240
2010-10-09 15:05:51 -07:00
Nathan Froyd a5f4f531fe pdp11.h (FUNCTION_ARG, [...]): Delete.
* config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/pdp11/pdp11.c (pdp11_function_arg): New function.
	(pdp11_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165239
2010-10-09 21:13:29 +00:00
Nathan Froyd 4471aff653 libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
* libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
	* libgcc2.c: Likewise.

From-SVN: r165238
2010-10-09 21:12:56 +00:00
Eric Botcazou c6282415bf misc.c: Delete prototypes.
* gcc-interface/misc.c: Delete prototypes.
	(gnat_init_options): Use local variable.
	(lang_hooks): Move to the end of the file.

From-SVN: r165237
2010-10-09 20:23:05 +00:00
Nicola Pero 6176c2a993 In libobjc/: 2010-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc/objc-api.h (struct objc_super, Super, Super_t,
        objc_msg_lookup_super, objc_msg_sendv, objc_msg_forward,
        objc_msg_forward2): Declarations moved to objc/message.h.  Include
        message.h here.
        * objc/message.h: Added such declarations; updated comments.

From-SVN: r165236
2010-10-09 20:11:02 +00:00
Richard Guenther 5074d72c59 re PR lto/45956 (Promoted statics conflict)
2010-10-09  Richard Guenther  <rguenther@suse.de>

	PR lto/45956
	* lto-streamer-in.c (lto_register_var_decl_in_symtab):
	Properly check if a decl is an automatic var.

	* gcc.dg/lto/20101009-2_0.c: New testcase.
	* gcc.dg/lto/20101009-2_1.c: Likewise.
	* gcc.dg/lto/20101009-2_2.c: Likewise.

From-SVN: r165235
2010-10-09 18:28:16 +00:00
Richard Guenther 865e8e8e51 re PR lto/45947 (ICE: tree code 'template_decl' is not supported in gimple streams with -flto/-fwhopr)
2010-10-09  Richard Guenther  <rguenther@suse.de>

	PR lto/45947
	* tree.c (free_lang_data_in_cgraph): Properly walk the varpool.

	* g++.dg/lto/20101009-1_0.C: New testcase.

From-SVN: r165234
2010-10-09 15:59:50 +00:00
Nathan Froyd 9fb41e15f2 mmix-protos.h (mmix_function_arg): Delete.
* config/mmix/mmix-protos.h (mmix_function_arg): Delete.
	* config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/mmix/mmix.c (mmix_function_arg): Rename to...
	(mmix_function_arg_1): ...this.  Make static.  Take a const_tree and
	bool arguments.
	(mmix_function_arg): New function.
	(mmix_function_incoming_arg): New function.
	(mmix_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
	(TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165230
2010-10-09 14:22:30 +00:00
Nathan Froyd 8f8a46ba92 vax.h (FUNCTION_ARG, [...]): Delete.
* config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/vax/vax.c (vax_function_arg): New function.
	(vax_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165229
2010-10-09 14:21:47 +00:00
Nathan Froyd fd29bdaffe pa-protos.h (function_arg): Delete.
* config/pa/pa-protos.h (function_arg): Delete.
	* config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/pa/pa.c (function_arg): Rename to...
	(pa_function_arg): ...this.  Make static.  Take a const_tree and
	a bool.
	(pa_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165228
2010-10-09 14:21:10 +00:00
Nathan Froyd 13d3961c15 m68k.h (FUNCTION_ARG, [...]): Delete.
* config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/m68k/m68k.c (m68k_function_arg): New function.
	(m68k_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165227
2010-10-09 14:20:08 +00:00
Nathan Froyd 733bdfbd68 avr-protos.h (function_arg): Delete.
* config/avr/avr-protos.h (function_arg): Delete.
	(function_arg_advance): Delete.
	* config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/avr/avr.c (function_arg): Rename to...
	(avr_function_arg): ...this.  Make static.  Take a const_tree and
	a bool.
	(function_arg_advance):	Rename to...
	(avr_function_arg_advance): ...this.  Make static.  Take a
	const_tree and a bool.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165226
2010-10-09 14:18:51 +00:00
Nathan Froyd 0c3a9758c0 alpha-protos.h (function_arg): Delete.
* config/alpha/alpha-protos.h (function_arg): Delete.
	* config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
	* config/alpha/alpha.c (function_arg): Rename to...
	(alpha_function_arg): ...this.  Make static.  Take a const_tree and
	a bool.  Delete TARGET_ABI_UNICOSMK code.
	(alpha_function_arg_advance): New function.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165225
2010-10-09 14:17:48 +00:00
Nathan Froyd 0851c6e374 mep-protos.h (mep_function_arg): Delete.
* config/mep/mep-protos.h (mep_function_arg): Delete.
	(mep_function_arg_advance): Delete.
	* config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
	* config/mep/mep.c (mep_function_arg): Make static.  Take a
	const_tree and a bool.
	(mep_function_arg_advance): Likewise.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r165224
2010-10-09 14:16:42 +00:00
Richard Guenther e5160e93fd re PR tree-optimization/45945 (ICE: verify_ssa failed: error: SSA_NAME_DEF_STMT is wrong when using inline ASM with -flto/-fwhopr)
2010-10-09  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45945
	* tree-ssa.c (execute_update_addresses_taken): Fixup LHS
	scanning.

	* gcc.dg/lto/20101009-1_0.c: New testcase.

From-SVN: r165222
2010-10-09 12:45:09 +00:00
Eric Botcazou 1802378d26 re PR tree-optimization/45612 (Reference to undefined label building libada on Solaris 2/SPARC)
PR tree-optimization/45612
	* ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
	Test LABEL_DECLs as well.  Fix formatting issues.
	(verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
	whose label is present in NON_SSA_VARS.
	(mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.  Handle LABEL_DECLs
	as well.  Fix formatting issues.
	(visit_bb): Fix typos and formatting issue.

From-SVN: r165221
2010-10-09 12:15:31 +00:00
Nathan Froyd 64978ba3f2 re PR tree-optimization/45950 (ICE segmentation fault compiling __udivdi3)
PR tree-optimization/45950
	* tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
	before initializing vno->op.

From-SVN: r165220
2010-10-09 11:44:00 +00:00
Eric Botcazou 2b3967f08d Fix more long lines
From-SVN: r165219
2010-10-09 11:33:18 +00:00
Eric Botcazou 40e7420394 Fix long lines
From-SVN: r165218
2010-10-09 10:16:19 +00:00
Ralf Corsepius 1ddc80579b config.gcc (bfin*-rtems*): Add newlib-stdint.h.
2010-10-09  Ralf Corsépius <ralf.corsepius@rtems.org>

	* config.gcc (bfin*-rtems*): Add newlib-stdint.h.
	* config.gcc (lm32*-rtems*): Add newlib-stdint.h.

From-SVN: r165216
2010-10-09 11:31:21 +02:00
H.J. Lu c2c795ff32 Support "andhi/andsi/anddi" as a zero-extending move.
gcc/

2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45913
	* config/i386/i386.c (ix86_binary_operator_ok): Support
	"andhi/andsi/anddi" as a zero-extending move.

gcc/testsuite/

2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45913
	* gcc.target/i386/pr45913.c: New.

From-SVN: r165215
2010-10-08 22:34:10 -07:00
H.J. Lu 73d5e77082 Add AC_CANONICAL_SYSTEM to configure.ac.
2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/45951
	* configure.ac: Add AC_CANONICAL_SYSTEM.
	* configure: Regenerated.

From-SVN: r165214
2010-10-08 22:06:21 -07:00
Nathan Froyd 8897c9ce64 builtins.c (fold_call_stmt): Don't copy gimple call arguments into a temporary array.
* builtins.c (fold_call_stmt): Don't copy gimple call arguments
	into a temporary array.

From-SVN: r165213
2010-10-09 00:44:46 +00:00
GCC Administrator 5bdf874256 Daily bump.
From-SVN: r165212
2010-10-09 00:17:19 +00:00
Jerry DeLisle 97de8e32b6 re PR fortran/45943 (gfortran.dg/streamio_16.f90: Fails under MinGW64 - probably \r\n vs \n issue)
2010-10-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r165189
2010-10-08 16:17:32 +01:00
Arnaud Charlet e899aa1613 * gnat.dg/interface5.adb: Compile with warnings disabled.
From-SVN: r165186
2010-10-08 16:32:54 +02:00
Nathan Froyd ab86687c53 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
From-SVN: r165184
2010-10-08 13:41:54 +00:00