Commit Graph

102269 Commits

Author SHA1 Message Date
Joseph Myers
603349bf3d common.opt: Add driver options.
* common.opt: Add driver options.
	(auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
	* doc/options.texi (Driver, RejectDriver): Document.
	* gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
	print_prog_name, print_multi_directory, print_sysroot,
	print_multi_os_directory, print_multi_lib,
	print_sysroot_headers_suffix, report_times, combine_flag,
	use_pipes, wrapper_string): Remove.
	(save_switch, driver_unknown_option_callback,
	driver_wrong_lang_callback, driver_post_handling_callback,
	driver_handle_option): New.
	(spec_lang, last_language_n_infiles): Make file-scope static
	instead of local to process_command.
	(process_command): Use decode_cmdline_options_to_array and
	read_cmdline_option for option processing.  Compute have_c in
	prescan of decoded options.
	* opt-functions.awk (switch_flags): Handle Driver and
	RejectDriver.
	(var_type, var_type_struct): Handle Separate options as generating
	const char * variables.
	* opts-common.c (decode_cmdline_option): Expect CL_COMMON and
	CL_TARGET to be passed by caller if required.
	(decode_cmdline_options_to_array): Update comment.
	* opts.c (complain_wrong_lang): Handle options only valid for the
	driver.
	(decode_options): Update call to decode_cmdline_options_to_array.
	(print_filtered_help): Ignore driver-only options.
	(print_specific_help): Ignore CL_DRIVER.
	(common_handle_option): Don't call print_specific_help for
	CL_DRIVER.
	* opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
	Update values.

c-family:
	* c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.

fortran:
	* lang.opt (MDX, MMDX): Mark RejectDriver.

java:
	* lang.opt (MD_, MMD_, version): Mark RejectDriver.

From-SVN: r163279
2010-08-16 11:15:15 +01:00
Richard Guenther
4b228e61a9 tree-cfg.c (verify_types_in_gimple_reference): Verify TARGET_MEM_REF a bit.
2010-08-16  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_types_in_gimple_reference): Verify
	TARGET_MEM_REF a bit.
	* tree-ssa-address.c (addr_for_mem_ref): Adjust.
	(create_mem_ref_raw): Always create TMR_OFFSET, store the
	alias pointer type via it.
	(copy_mem_ref_info): Adjust.
	(maybe_fold_tmr): Likewise.
	* tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
	(reference_alias_ptr_type): Likewise.
	* tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
	adjust documentation of TMR_OFFSET operand.
	* alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
	use the alias pointer type.
	* expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
	initialize mem attrs but the TMR itself.
	* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
	similar to MEM_REF.
	* tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
	* tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
	(unshare_and_remove_ssa_names): Likewise.
	(copy_ref_info): Adjust.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
	TARGET_MEM_REF case.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
	at TMR_ORIGINAL.
	* tree.h (TMR_ORIGINAL): Remove.
	* gimple.c (get_base_address): For TARGET_MEM_REF with a
	symbol return that.
	* tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
	with a symbol.
	(get_addr_base_and_unit_offset): Likewise.
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
	TARGET_MEM_REFs.
	(indirect_ref_may_alias_decl_p): Likewise.
	(refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.

From-SVN: r163278
2010-08-16 09:55:54 +00:00
Mingjie Xing
fa4e6c7b4b Added myself to MAINTAINERS (write after approval)
From-SVN: r163276
2010-08-16 01:24:55 +00:00
GCC Administrator
f0fe0d785c Daily bump.
From-SVN: r163275
2010-08-16 00:17:03 +00:00
Kaz Kojima
7418461d88 pr42585.c: Skip dump scan on sh.
* gcc.dg/tree-ssa/pr42585.c: Skip dump scan on sh.

From-SVN: r163271
2010-08-16 00:09:35 +00:00
Janus Weil
d44d2f9a97 trans-expr.c (gfc_trans_assign_vtab_procs): Clean up (we don't have vtabs for generics any more).
2010-08-15  Janus Weil  <janus@gcc.gnu.org>

	* trans-expr.c (gfc_trans_assign_vtab_procs): Clean up (we don't have
	vtabs for generics any more).

From-SVN: r163270
2010-08-15 23:41:34 +02:00
Uros Bizjak
ef7e003500 invoke.texi (-fomit-frame-pointer): Document that starting with GCC version 4.6...
* doc/invoke.texi (-fomit-frame-pointer): Document that starting
	with GCC version 4.6, the default setting (when not optimizing
	for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
	been changed to -fomit-frame-pointer.

From-SVN: r163269
2010-08-15 23:25:58 +02:00
Daniel Kraft
52bf62f96b re PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))
2010-08-15  Daniel Kraft  <d@domob.eu>

	PR fortran/38936
	* gfortran.h (gfc_find_proc_namespace): New method.
	* expr.c (gfc_build_intrinsic_call): No need to build symtree messing
	around with namespace.
	* symbol.c (gfc_find_proc_namespace): New method.
	* trans-decl.c (gfc_build_qualified_array): Use it for correct
	value of nest.
	* primary.c (gfc_match_varspec): Handle associate-names as arrays.
	* parse.c (parse_associate): Removed assignment-generation here...
	* resolve.c (resolve_block_construct): ...and added it here.
	(resolve_variable): Handle names that are arrays but were not parsed
	as such because of association.
	(resolve_code): Fix BLOCK resolution.
	(resolve_symbol): Generate array-spec for associate-names.

2010-08-15  Daniel Kraft  <d@domob.eu>

	PR fortran/38936
	* gfortran.dg/associate_1.f03: Enable test for array expressions.
	* gfortran.dg/associate_3.f03: Clarify comment.
	* gfortran.dg/associate_5.f03: New test.
	* gfortran.dg/associate_6.f03: New test.

From-SVN: r163268
2010-08-15 21:46:21 +02:00
Iain Sandoe
5fc265c14f rationalize libgcc stub & static lib linkage on Darwin 9 & 10.
* config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for 
	Darwin10.  Do not link libgcc.a for Darwin >= 9.

From-SVN: r163267
2010-08-15 19:15:55 +00:00
Gerald Pfeifer
09ccff9f3d invoke.texi (Warning Options): Fix terminology and markup in the description of how unknown warning options...
* doc/invoke.texi (Warning Options): Fix terminology and markup
	in the description of how unknown warning options are handled.

From-SVN: r163266
2010-08-15 18:26:01 +00:00
Tobias Burnus
ba3721c1c2 re PR fortran/45211 (C interoperable error when compiling BIND(C) function in a module.)
2010-08-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45211
        * decl.c (verify_c_interop_param): Remove superfluous space (" ").
        (verify_c_interop): Handle unresolved DT with bind(C).

2010-08-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45211
        * gfortran.dg/bind_c_usage_21.f90: New.
        * gfortran.dg/bind_c_dts_3.f03: Update dg-error.

From-SVN: r163264
2010-08-15 18:20:56 +02:00
Tobias Burnus
08857b6111 trans-expr.c (gfc_conv_expr_present): Regard nullified pointer arrays as absent.
2010-08-15  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_conv_expr_present): Regard nullified
        pointer arrays as absent.
        (gfc_conv_procedure_call): Handle EXPR_NULL for non-pointer
        dummys as absent argument.
        * interface.c (compare_actual_formal,compare_parameter):
        Ditto.

2010-08-15  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/optional_absent_1.f90: New.
        * gfortran.dg/null_actual.f90: New.

From-SVN: r163263
2010-08-15 18:04:49 +02:00
Tobias Burnus
7d54ef80fe interface.c (compare_pointer, ): Allow passing TARGETs to pointers dummies with intent(in).
2010-08-15  Tobias Burnus  <burnus@net-b.de>

        * interface.c (compare_pointer, ): Allow passing TARGETs to
        pointers dummies with intent(in).

2010-08-15  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/pointer_target_1.f90: New.
        * gfortran.dg/pointer_target_2.f90: New.
        * gfortran.dg/pointer_target_3.f90: New.

From-SVN: r163262
2010-08-15 17:47:11 +02:00
Daniel Kraft
e6c148988c re PR fortran/45197 ([F2008] Allow IMPURE elemental procedures)
2010-08-15  Daniel Kraft  <d@domob.eu>

	PR fortran/45197
	* decl.c (gfc_match_prefix): Match IMPURE prefix and mark ELEMENTAL
	routines not IMPURE also as PURE.
	* intrinsic.c (enum klass): New class `CLASS_PURE' and renamed
	`NO_CLASS' in `CLASS_IMPURE'.
	(add_sym): Set symbol-attributes `pure' and `elemental' correctly.
	(add_sym_0s): Renamed `NO_CLASS' in `CLASS_IMPURE'.
	(add_functions): Ditto.
	(add_subroutines): Ditto and mark `MOVE_ALLOC' as CLASS_PURE.
	* resolve.c (gfc_pure): Do not treat ELEMENTAL as automatically PURE.
	(resolve_formal_arglist): Check that arguments to ELEMENTAL procedures
	are not ALLOCATABLE and have their INTENT specified.

2010-08-15  Daniel Kraft  <d@domob.eu>

	PR fortran/45197
	* gfortran.dg/elemental_args_check_3.f90: New test.
	* gfortran.dg/impure_1.f08: New test.
	* gfortran.dg/impure_2.f08: New test.
	* gfortran.dg/impure_3.f90: New test.
	* gfortran.dg/typebound_proc_6.f03: Changed expected error message.

From-SVN: r163261
2010-08-15 17:28:10 +02:00
Ira Rosen
69f11a1360 tree-vect-data-refs.c (vect_setup_realignment): Support realignment in basic blocks.
* tree-vect-data-refs.c (vect_setup_realignment): Support realignment
	in basic blocks.
	(vect_supportable_dr_alignment): Check alignment for basic blocks.
	* tree-vect-slp.c (vect_build_slp_tree): Allow different codes for 
	data references.
	(vect_bb_vectorization_profitable_p): New function.
	(vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
	check if it's worthwhile to vectorize the basic block.

From-SVN: r163260
2010-08-15 07:00:32 +00:00
GCC Administrator
2d684b3e96 Daily bump.
From-SVN: r163258
2010-08-15 00:17:00 +00:00
Gerald Pfeifer
350d631ab4 Fix up ChangeLog entry for the last commit.
From-SVN: r163254
2010-08-14 23:02:37 +00:00
Gerald Pfeifer
0338b5808d * gcc_release (CVSROOT): Remove all occurrences.
From-SVN: r163253
2010-08-14 22:57:37 +00:00
Anatoly Sokolov
faa832a76d reload.h (register_move_cost, [...]): Adjust prototype.
* reload.h (register_move_cost, memory_move_secondary_cost,
	secondary_reload_class): Adjust prototype.
	* rtl.h (reg_class_subset_p): Adjust prototype.
	* reload.c (secondary_reload_class): Change arguments type from
	enum reg_class to reg_class_t. Change result type to reg_class_t.
	* reginfo.c (register_move_cost, reg_class_subset_p): Change
	arguments type from enum reg_class to reg_class_t.
	(memory_move_secondary_cost): Change arguments type from
	enum reg_class to reg_class_t. Change type of saved_flags to
	reg_class_t.

	* config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): 
	Remove macros.
	(mips_cost): Remove.
	(struct mips_rtx_cost_data): Moved to mips.c.
	* config/mips/mips-protos.h (mips_register_move_cost): Remove.
	* config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
	(mips_cost): Make static.
	(mips_canonicalize_move_class): Change argument type to reg_class_t.
	Change result type to reg_class_t.
	(mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
	type from enum reg_class to reg_class_t.
	(mips_register_move_cost): Make static. Change arguments
	type from enum reg_class to reg_class_t.
	(mips_memory_move_cost): New function.
	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.

From-SVN: r163252
2010-08-15 01:46:11 +04:00
Gerald Pfeifer
0c21b3cacd gcc_release (snapshot_print): Include md5 hash for every tarball in the README file and notification mail.
* gcc_release (snapshot_print): Include md5 hash for every tarball
	in the README file and notification mail.

From-SVN: r163251
2010-08-14 21:42:16 +00:00
Jonathan Wakely
73571bf1e2 re PR libstdc++/45283 (performance/30_threads/future/polling.cc fails at compile time)
2010-08-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45283
	* testsuite/performance/30_threads/future/polling.cc: Replace calls to
	shared_future::is_ready.

From-SVN: r163250
2010-08-14 21:00:55 +01:00
Richard Sandiford
6d1e1a26d9 re PR target/43358 (IRA: internal compiler error: in pool_free, at alloc-pool.c:335)
gcc/
	PR rtl-optimization/43358
	* ira-lives.c (process_single_reg_class_operands): Adjust the costs
	of a single hard register, using simplify_subreg_regno to decide
	what that register should be.

From-SVN: r163249
2010-08-14 19:59:13 +00:00
Mingjie Xing
73a949c0ba 2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/testsuite/
2010-xx-xx  Mingjie Xing  <mingjie.xing@gmail.com>

	* gcc.dg/vect/fast-math-vect-reduc-8.c: Move
	dg-require-effective-target after dg-do.

From-SVN: r163248
2010-08-14 19:48:21 +00:00
Mingjie Xing
0d108d1595 2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/testsuite/
2010-xx-xx  Mingjie Xing  <mingjie.xing@gmail.com>

	* lib/target-supports.exp (check_effective_target_vect_int): Return
	true for Loongson targets.
	(check_effective_target_vect_shift): Likewise.
	(check_effective_target_vect_no_int_max): Likewise.
	(check_effective_target_vect_no_align): Likewise.
	(check_effective_target_vect_short_mult): Likewise.

From-SVN: r163247
2010-08-14 19:46:25 +00:00
Mingjie Xing
a44ecea126 2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/
2010-xx-xx  Mingjie Xing  <mingjie.xing@gmail.com>

	* config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
	* config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
	(loongson_pmull<V_suffix>): Rename to...
	(mul<mode>3): ...this and use MULT instead of an UNSPEC.

From-SVN: r163246
2010-08-14 19:42:04 +00:00
Jerry DeLisle
c613801e8b re PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin")
2010-08-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/44931
	* io/inquire.c (inquire_via_unit): Add special case for __MINGW32__ to
	return special file names CONIN$, CONOUT$, and CONERR$.

From-SVN: r163245
2010-08-14 18:59:18 +00:00
Uros Bizjak
41f3efb58d cast.C: Change fields of structures to "long" to pass the test on targets with...
* g++.dg/cast.C: Change fields of structures to "long" to pass
	the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
	* g++.dg/cpp0x/iop.C: Ditto.
	* g++.dg/cpp0x/named_refs.C: Ditto.
	* g++.dg/cpp0x/rv1p.C: Ditto.
	* g++.dg/cpp0x/rv2p.C: Ditto.
	* g++.dg/cpp0x/rv3p.C: Ditto.
	* g++.dg/cpp0x/rv4p.C: Ditto.
	* g++.dg/cpp0x/rv5p.C: Ditto.
	* g++.dg/cpp0x/rv6p.C: Ditto.
	* g++.dg/cpp0x/rv7p.C: Ditto.
	* g++.dg/cpp0x/rv8p.C: Ditto.
	* g++.dg/cpp0x/unnamed_refs.C: Ditto.

From-SVN: r163240
2010-08-14 14:32:14 +02:00
Paolo Carlini
417e896ead hashtable.h (_Hashtable<>::operator=(const _Hashtable&)): Move inline.
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::operator=(const
	_Hashtable&)): Move inline.
	(operator=(_Hashtable&&)): Define.
	* include/bits/unordered_map.h (unordered_map(unordered_map&&),
	unordered_map(const unordered_map&), unordered_multimap
	(unordered_multimap&&), unordered_multimap(const unordered_multimap&),
	__unordered_map(__unordered_map&&), __unordered_map(const
	__unordered_map&), __unordered_multimap(__unordered_multimap&&),
	__unordered_multimap(const __unordered_multimap&)): Do not define,
	leave implicit.
	* include/bits/unordered_set.h (unordered_set(unordered_set&&),
	unordered_set(const unordered_set&), unordered_multiset
	(unordered_multiset&&), unordered_multiset(const unordered_multiset&),
	__unordered_set(__unordered_set&&), __unordered_set(const
	__unordered_set&), __unordered_multiset(__unordered_multiset&&),
	__unordered_multiset(const __unordered_multiset&)): Likewise.

	* include/bits/unordered_map.h (__unordered_map(initializer_list<>),
	__unordered_map<>::operator=(initializer_list<>),
	__unordered_multimap(initializer_list<>), __unordered_multimap<>::
	operator=(initializer_list<>)): Add.
	* include/bits/unordered_set.h (__unordered_set(initializer_list<>),
	__unordered_set<>::operator=(initializer_list<>),
	__unordered_multiset(initializer_list<>), __unordered_multiset<>::
	operator=(initializer_list<>)): Likewise.

	* include/bits/unordered_map.h (__unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Fix __n default to 0.
	* include/bits/unordered_set.h (__unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.
	* include/debug/unordered_map (unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_map(_InputIterator, _InputIterator,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Likewise.
	* include/debug/unordered_set (unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_set(_InputIterator, _InputIterator,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.
	* include/profile/unordered_map (unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_map(_InputIterator, _InputIterator,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Likewise.
	* include/profile/unordered_set (unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_set(_InputIterator, _InputIterator,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.

From-SVN: r163236
2010-08-14 01:00:23 +00:00
GCC Administrator
e3f5a69d0c Daily bump.
From-SVN: r163235
2010-08-14 00:17:06 +00:00
Paolo Carlini
10260b86aa re PR libstdc++/45281 (performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc fails at compile time)
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45281
	* include/bits/stl_queue.h (queue(queue&&), operator=(queue&&),
	priority_queue(priority_queue&&), operator=(priority_queue&&)):
	Remove, per CH 15.

From-SVN: r163231
2010-08-14 00:09:21 +00:00
Jack Howarth
1b2d411828 Enable -fomit-frame-pointer on darwin which support dwarf2.
2010-08-13  Jack Howarth <howarth@bromo.med.uc.edu>

	* gcc/configure.ac: Enable -fomit-frame-pointer on darwin
	which support dwarf2.
	* config/i386/i386.c (override_options): Same.

From-SVN: r163227
2010-08-13 10:06:42 -07:00
Paolo Carlini
7d74619b73 dr1189.cc: Move to...
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/unordered_map/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_set/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
	... here.

	* testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.

From-SVN: r163224
2010-08-13 13:08:09 +00:00
Paolo Carlini
8c61f40011 ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros...
2010-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
	at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
	removed by mistake.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/c++config: Adjust comment.

From-SVN: r163223
2010-08-13 11:48:34 +00:00
Nick Clifton
ec760bea7f argv.c (expandargv): Limit the number of times that response files are opened in order to prevent...
* argv.c (expandargv): Limit the number of times that response
        files are opened in order to prevent infinite recursion.

From-SVN: r163222
2010-08-13 11:36:38 +00:00
Daniel Kraft
f5ca06e678 gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
2010-08-13  Daniel Kraft  <d@domob.eu>

	* gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
	* array.c (gfc_match_array_spec): Match implied-shape specification and
	handle AS_IMPLIED_SHAPE correctly otherwise.
	* decl.c (add_init_expr_to_sym): Set upper bounds for implied-shape.
	(variable_decl): Some checks for implied-shape declaration.
	* resolve.c (resolve_symbol): Assert that array-spec is no longer
	AS_IMPLIED_SHAPE in any case.

2010-08-13  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/implied_shape_1.f08: New test.
	* gfortran.dg/implied_shape_2.f90: New test.
	* gfortran.dg/implied_shape_3.f08: New test.

From-SVN: r163221
2010-08-13 09:26:05 +02:00
Jerry DeLisle
cf677bb867 re PR fortran/42526 (bogus truncation warning for default-initialized character components)
2010-08-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/42526
	* gfortran.dg/char_component_initializer_1.f90: New test.

From-SVN: r163220
2010-08-13 05:14:18 +00:00
Jie Zhang
9b821a0977 arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
* config/arm/arm.md (cstoredf4): Only valid when
	!TARGET_VFP_SINGLE.

From-SVN: r163219
2010-08-13 01:43:43 +00:00
GCC Administrator
fd34e37415 Daily bump.
From-SVN: r163218
2010-08-13 00:17:17 +00:00
Kostya Serebryany
be335b18a9 c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.
2010-08-12  Kostya Serebryany <kcc@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
	_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
	* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
	latter.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r163210
2010-08-12 22:56:59 +00:00
Joseph Myers
644fa7acbd gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and -MMD.
* gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
	-MMD.

c-family:
	* c.opt (MD, MMD): Change to MDX and MMDX.
	* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.

fortran:
	* lang.opt (MD, MMD): Change to MDX and MMDX.
	* cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX.

From-SVN: r163209
2010-08-12 23:52:49 +01:00
Changpeng Fang
3cb35c1250 pr45241 give up dot_prod pattern searching if stmt is outside the loop.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
	up dot_prod pattern searching if a stmt is outside the loop.

	* gcc.dg/vect/no-tree-pre-pr45241.c: New.

From-SVN: r163207
2010-08-12 22:18:32 +00:00
Tom Tromey
95718cf89d * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
(natGenerateSeed): Add missing "::".

From-SVN: r163199
2010-08-12 18:23:32 +00:00
Uros Bizjak
b2cd104263 pr40906-1.c: Add -fno-asynchronous-unwind-tables to dg-options.
* gcc.target/i386/pr40906-1.c: Add -fno-asynchronous-unwind-tables
	to dg-options.
	* gcc.target/i386/pr40906-2.c: Ditto.
	* gcc.target/i386/pr40906-3.c: Ditto.

From-SVN: r163198
2010-08-12 20:20:44 +02:00
H.J. Lu
d79389af14 Turn on -fomit-frame-pointer by default for 32bit Linux/x86.
2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	* config.gcc: Handle --enable-frame-pointer.

	* configure.ac: Add --enable-frame-pointer.
	* configure: Regenerated.

	* config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
	(override_options): If not configured with --enable-frame-pointer,
	enable -fomit-frame-pointer (but not for TARGET_MACHO or when
	optimizing for size), -fasynchronous-unwind-tables and
	-maccumulate-outgoing-args by default.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r163196
2010-08-12 09:39:37 -07:00
Jakub Jelinek
a8c5681878 re PR middle-end/45262 (Optimization results in wrong result on expression x>>31||(-x)>>31)
PR middle-end/45262
	* fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
	-a overflows.  Normalize the range.

	* gcc.c-torture/execute/pr45262.c: New test.

From-SVN: r163193
2010-08-12 17:21:34 +02:00
Jakub Jelinek
d2be807154 builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
* builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare
	warning.

From-SVN: r163192
2010-08-12 16:32:25 +02:00
Uros Bizjak
07fd92beab profile-generate-3.c: Call dg-require-profiling with empty argument.
* gcc.dg/profile-generate-3.c: Call dg-require-profiling with
	empty argument.
	* g++.dg/other/profile1.C: Ditto.

From-SVN: r163191
2010-08-12 12:42:59 +02:00
Richard Guenther
2d698d3bb7 re PR tree-optimization/45232 (tree reassociation introduces undefined overflow)
2010-08-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45232
	* tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
	for types with undefined overflow.
	(reassociate_bb): Allow re-associating of bit and min/max
	operations for types with undefined overflow.
	* tree-ssa-forwprop.c (associate_plusminus): New function.
	(tree_ssa_forward_propagate_single_use_vars): Call it.

	* gcc.dg/tree-ssa/pr44133.c: Adjust warning location.
	* gcc.dg/tree-ssa/loop-7.c: Adjust.
	* gcc.dg/tree-ssa/reassoc-1.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-20.c: Add reassoc-1.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-14.c: Use unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-18.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-2.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-21.c: Add reassoc-2.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-6.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-22.c: Add reassoc-6.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-7.c: Use unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-9.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-23.c: Add reassoc-9.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/ssa-pre-2.c: Adjust.
	* gcc.dg/tree-ssa/negate.c: Adjust.
	* gcc.dg/vect/vect-1.c: Adjust.
	* gfortran.dg/reassoc_6.f: XFAIL.

From-SVN: r163190
2010-08-12 10:38:05 +00:00
Richard Guenther
1be38ccb1b tree-flow.h (struct ptr_info_def): Add align and misalign fields.
2010-08-12  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (struct ptr_info_def): Add align and misalign fields.
	* tree-ssa-alias.c (get_ptr_info): Move ...
	* tree-ssanames.c (get_ptr_info): ... here.  Initialize
	align and misalign fields conservatively.
	* tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
	derive alignment information.
	(evaluate_stmt): Derive alignment information from memory
	allocation functions.
	* tree.h (get_pointer_alignment): Make unsigned.
	* builtins.c (get_object_alignment): Use alignment information we
	have computed for pointers.
	(get_pointer_alignment): Likewise.  Make conservative, return
	and unsigned value.
	(expand_builtin_strlen): Adjust.
	(expand_builtin_memcmp): Likewise.
	(expand_builtin_strcmp): Likewise.
	(expand_builtin_strncmp): Likewise.
	(get_builtin_sync_mem): Use at least mode alignment.
	(fold_builtin_memset): Adjust.
	(fold_builtin_memory_op): Likewise.
	* gimple-pretty-print.c (dump_gimple_phi): Alongside alias
	information also dump pointer alignment knowledge.
	(dump_gimple_stmt): Likewise.

From-SVN: r163189
2010-08-12 10:36:08 +00:00
Uros Bizjak
a96ad3486e i386.c (LONG_TYPE_SIZE): Remove.
* config/i386/i386.c (LONG_TYPE_SIZE): Remove.
	(EMPTY_FIELD_BOUNDARY): Remove.
	* config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.

From-SVN: r163188
2010-08-12 12:12:32 +02:00