Commit Graph

115863 Commits

Author SHA1 Message Date
Richard Guenther 26c71b9368 re PR target/52080 (Stores to bitfields introduce a store-data-race on adjacent data)
2012-03-14  Richard Guenther  <rguenther@suse.de>

	* tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
	* stor-layout.c (start_bitfield_representative): New function.
	(finish_bitfield_representative): Likewise.
	(finish_bitfield_layout): Likewise.
	(finish_record_layout): Call finish_bitfield_layout.
	* tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
	for QUAL_UNION_TYPE fields.
	* tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
	Stream DECL_BIT_FIELD_REPRESENTATIVE.
	* tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.

	PR middle-end/52080
	PR middle-end/52097
	PR middle-end/48124
	* expr.c (get_bit_range): Unconditionally extract bitrange
	from DECL_BIT_FIELD_REPRESENTATIVE.
	(expand_assignment): Adjust call to get_bit_range.

	* gcc.dg/torture/pr48124-1.c: New testcase.
	* gcc.dg/torture/pr48124-2.c: Likewise.
	* gcc.dg/torture/pr48124-3.c: Likewise.
	* gcc.dg/torture/pr48124-4.c: Likewise.

From-SVN: r185379
2012-03-14 10:55:09 +00:00
Richard Guenther 1caf8dd66c re PR middle-end/52578 (Fails to fold another size difference)
2012-03-14  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52578
	* fold-const.c (fold_unary_loc): Fold (T1)(T2)x to (T1)x if
	the outermost conversion is a sign-change only.
	(fold_binary_loc): Disregard widening and sign-changing
	conversions when we determine if two variables are equal
	for reassociation.
	* tree-ssa-forwprop.c (combine_conversions): Fold (T1)(T2)x to
	(T1)x if the outermost conversion is a sign-change only.

	* gcc.dg/pr52578.c: New testcase.

From-SVN: r185378
2012-03-14 10:51:34 +00:00
Uros Bizjak a1d3d84bdf Revert:
2012-03-14  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/predicates.md (constant_call_address_operand): Declare
	as special predicate.  Update all uses.

From-SVN: r185376
2012-03-14 09:32:51 +01:00
Jakub Jelinek 717a5c6206 re PR c++/52521 ([C++11] user defined literals and order of declaration)
PR c++/52521
	* parser.c (lookup_literal_operator): Return fn only if
	processed all arguments from args vector and argtypes is
	void_list_node.

	* g++.dg/cpp0x/udlit-args2.C: New test.

From-SVN: r185375
2012-03-14 09:30:23 +01:00
Terry Guo 036bd35e7a Makefile.in (TEST_GCC_EXEC_PREFIX): New.
libstdc++-v3:
	* testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.

From-SVN: r185374
2012-03-14 05:51:14 +00:00
GCC Administrator b56b65e0a7 Daily bump.
From-SVN: r185371
2012-03-14 00:18:41 +00:00
Joseph Myers bfdac9a1e8 * gennews (files): Add files for GCC 4.7.
From-SVN: r185365
2012-03-13 23:21:38 +00:00
Ian Lance Taylor 24aea58753 libgo: Export {enter,exit}syscall and use it for getaddrinfo.
From-SVN: r185363
2012-03-13 23:01:30 +00:00
Oleg Endo 13bd57a177 re PR rtl-optimization/48596 ([SH] unable to find a register to spill in class 'FPUL_REGS')
PR target/48596
	* gcc.target/sh/pr48596.c: Move accidentally added new test case to ...
	* gcc.c-torture/compile/pr48596.c: ... here.

From-SVN: r185362
2012-03-13 22:50:25 +00:00
Kaz Kojima 60f9021b2a ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when things are wrong.
* src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
	just return FFI_BAD_ABI when things are wrong.
	* src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.

From-SVN: r185361
2012-03-13 22:50:16 +00:00
Torvald Riegel 0d23faac63 libitm: Fix lost wake-up in serial lock.
PR libitm/52526
	* config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
	wake-up.

From-SVN: r185358
2012-03-13 22:01:34 +00:00
Dodji Seketeli 74788b8009 PR c++/51641 - Lookup finds enclosing class member instead of template parameter
gcc/cp/

	PR c++/51641
	* cp-tree.h (template_type_parameter_p): Declare new function.
	(parameter_of_template_p): Remove
	* pt.c (template_type_parameter_p): Define new function.
	(parameter_of_template_p): Remove.
	* name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
	on parameter_of_template_p anymore.  Compare the level of the
	template parameter to the depth of the template.

gcc/testsuite/

	PR c++/51641
	* g++.dg/lookup/hidden-class17.C: New test.


Conflicts:

	gcc/cp/pt.c

From-SVN: r185357
2012-03-13 22:25:22 +01:00
Dodji Seketeli 40703fdf12 Use next_conversion for better safety
gcc/cp/

	* call.c (standard_conversion, build_integral_nontype_arg_conv)
	(build_new_op_1, convert_like_real, is_subseq)
	(maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics)
	(joust): Use next_conversion instead of accessing fields of struct
	conversion directly.

From-SVN: r185356
2012-03-13 22:25:09 +01:00
Jakub Jelinek 9243c51d5f re PR c/52577 (__builtin_shuffle -Wunused-but-set-* false positives)
PR c/52577
	* c-parser.c (c_parser_postfix_expression)
	<case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.

	* gcc.dg/Wunused-var-3.c: New test.

From-SVN: r185355
2012-03-13 22:19:50 +01:00
Ian Lance Taylor 42cd874911 re PR go/52557 (Timex undefined on arm-linux-gnueabi)
PR go/52557
mksysinfo: Fix handling of timex for ARM GNU/Linux.

From-SVN: r185354
2012-03-13 20:56:23 +00:00
Uros Bizjak be23f73241 i386.c (x86_decompose_address): Fix commit.
* config/i386/i386.c (x86_decompose_address): Fix commit.

From-SVN: r185353
2012-03-13 21:14:10 +01:00
Jakub Jelinek b7613c914e smmintrin.h: Avoid /* within a comment.
* config/i386/smmintrin.h: Avoid /* within a comment.
	* config/i386/nmmintrin.h: Likewise.

From-SVN: r185352
2012-03-13 21:02:58 +01:00
Uros Bizjak 9020ff272b i386.md (xbegin): Remove constraint from expander.
* config/i386/i386.md (xbegin): Remove constraint from expander.

From-SVN: r185351
2012-03-13 20:15:15 +01:00
Uros Bizjak 6e5c8423e8 predicates.md (constant_call_address_operand): Declare as special predicate.
* config/i386/predicates.md (constant_call_address_operand): Declare
	as special predicate.  Update all uses.
	* config/i386/i386.md: Remove mode from constant_call_address_operand
	predicates.
	* config/i386/i386.c (ix86_output_call_insn): Call
	constant_call_address_operand with VOIDmode.

From-SVN: r185350
2012-03-13 20:07:33 +01:00
H.J. Lu f155bc6496 Assert DWARF register size <= saved reg size
2012-03-13  H.J. Lu  <hongjiu.lu@intel.com>

	* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
	<= saved reg size.

From-SVN: r185346
2012-03-13 10:07:50 -07:00
Uros Bizjak ff71e554be i386.c (ix86_decompose_address): Handle subregs of AND zero extended address correctly.
* config/i386/i386.c (ix86_decompose_address): Handle subregs of
	AND zero extended address correctly.

From-SVN: r185343
2012-03-13 17:21:23 +01:00
Uros Bizjak 62a1c0416f predicates.md (tls_symbolic_operand): Declare as special predicate.
* config/i386/predicates.md (tls_symbolic_operand): Declare as
	special predicate.
	(tls_modbase_operand): Ditto.
	* config/i386/i386.md: Remove mode from tls_symbolic_operand and
	tls_modbase_operand predicates.

From-SVN: r185341
2012-03-13 16:49:06 +01:00
Tristan Gingold 7e9e7e6cea gigi.h (flag_vms_malloc64): Refine condition.
2012-03-13  Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.

From-SVN: r185337
2012-03-13 14:44:34 +00:00
Martin Jambor 43332529ed expr.c (expand_assignment): Handle misaligned scalar writes to memory through top-level MEM_REFs by calling...
2012-03-13  Martin Jambor  <mjambor@suse.cz>

	* expr.c (expand_assignment): Handle misaligned scalar writes to
	memory through top-level MEM_REFs by calling store_bit_field.

	* testsuite/gcc.dg/misaligned-expand-2.c: New test.

From-SVN: r185336
2012-03-13 15:29:42 +01:00
Tristan Gingold 3985be599e sysdep.c: Adjust condition after removal of __osf__.
2012-03-13  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c: Adjust condition after removal of __osf__.

From-SVN: r185335
2012-03-13 14:17:52 +00:00
Richard Guenther 0c12cd5e90 re PR middle-end/52134 (Does not fold (x * 4) & -4)
2012-03-13  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52134
	* fold-const.c (fold_binary_loc): Fold (X * Y) & -(1 << CST) to X * Y
	if Y is a constant multiple of 1 << CST.

	* gcc.dg/pr52134.c: New testcase.

From-SVN: r185334
2012-03-13 13:47:35 +00:00
Jakub Jelinek 2895dfa417 crontab: Remove 4.4 branch from the list of snapshots to make.
* crontab: Remove 4.4 branch from the list of snapshots to make.
	* update_version_svn (IGNORE_BRANCHES): Add gcc-4_4-branch.

From-SVN: r185330
2012-03-13 13:19:12 +01:00
Georg-Johann Lay ae606c2845 re PR target/52488 (avr-*: internal compiler error: in extract_insn, at recog.c:2123)
PR target/52488
	* config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
	offset (size) to a value the insns can deal with.
	(expand_epilogue): Ditto.

From-SVN: r185329
2012-03-13 11:28:25 +00:00
Matthew Gretton-Dann a0a6e3f70a neon.ml (ops): Fixup expected instructions for unsigned vector compares.
* gcc/config/arm/neon.ml (ops): Fixup expected instructions for
	unsigned vector compares.

From-SVN: r185328
2012-03-13 10:53:57 +00:00
Uros Bizjak 9ec9602396 i386.c (ix86_decompose_address): Prevent %fs:(%reg) addresses only when %reg is not in word mode.
* config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
	addresses only when %reg is not in word mode.

From-SVN: r185327
2012-03-13 11:35:19 +01:00
Rainer Orth d47657bd1d Fix sgi typos
libgcc:
	* config/arm/crtn.S: Fix typo.

	gcc/testsuite:
	* ada/acats/tests/cd/cdd1001.a (CDD1001): Fix typo.

	gcc:
	* config/microblaze/microblaze.md: Fix typo.
	* tree-if-conv.c: Likewise.
	* tree-vect-patterns.c: Likewise.

From-SVN: r185325
2012-03-13 10:22:56 +00:00
Richard Guenther 5bef73a14e libgcov.c: Remove stdio.h include and NULL un-define.
2012-03-13  Richard Guenther  <rguenther@suse.de>

	* libgcov.c: Remove stdio.h include and NULL un-define.

From-SVN: r185324
2012-03-13 10:18:38 +00:00
Rainer Orth d82c57a8c3 Remove extra_passes
* config.gcc (extra_passes): Remove.
	* configure.ac (extra_passes): Don't substitute.
	* configure: Regenerate.
	* Makefile.in (EXTRA_PASSES): Remove.
	(GCC_PASSES): Remove $(EXTRA_PASSES).
	(MOSTLYCLEANFILES): Likewise.
	(native): Likewise.
	(install-common): Likewise.

From-SVN: r185323
2012-03-13 10:18:32 +00:00
Richard Guenther 9c4271f337 re PR bootstrap/52569 (bootstrap fails on x86_64-apple-darwin10 at revision 185261)
2012-03-13  Richard Guenther  <rguenther@suse.de>

	PR target/52569
	* unwind-dw2-fde.c: Make avoid-include-gthr.h hacks work again.

From-SVN: r185322
2012-03-13 10:00:48 +00:00
Richard Guenther c6d10e7c58 gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Fix definition.
2012-03-13  Richard Guenther  <rguenther@suse.de>

	* gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Fix definition.

From-SVN: r185321
2012-03-13 09:39:01 +00:00
Richard Guenther 074a385f07 gthr-posix.h: Remove duplicate __GTHREAD_MUTEX_INIT_FUNCTION and...
2012-03-13  Richard Guenther  <rguenther@suse.de>

	* gthr-posix.h: Remove duplicate __GTHREAD_MUTEX_INIT_FUNCTION
	and __gthread_mutex_init_function definitions.

From-SVN: r185320
2012-03-13 09:33:43 +00:00
Uros Bizjak 6c2f0f83a5 i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
* config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
	* config/i386/i386.c (ix86_decompose_address): Use
	TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
	(legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
	thread pointer to a register.

From-SVN: r185278
2012-03-13 08:06:51 +01:00
GCC Administrator a89ff70f6d Daily bump.
From-SVN: r185276
2012-03-13 00:19:14 +00:00
Eric Botcazou 2b45154d20 gigi.h (shift_unc_components_for_thin_pointers): Kill.
* gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
	to above function.
	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
	handling of thin pointers.
	<Attr_Descriptor_Size>: Likewise.
	(gnat_to_gnu) <N_Free_Statement>: Likewise.
	* gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
	(convert_to_fat_pointer): Adjust handling of thin pointers.
	(convert) <POINTER_TYPE>: Likewise.
	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.

From-SVN: r185268
2012-03-12 20:00:32 +00:00
Bill Schmidt 0452b4d47f re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)
2012-03-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/46728
	* gcc.target/powerpc/pr46728-4.c: Use preferred syntax.
	* gcc.target/powerpc/pr46728-5.c: Likewise.
	* gcc.target/powerpc/pr46728-8.c: Likewise.
	* gcc.target/powerpc/pr46728-10.c: Likewise.
	* gcc.target/powerpc/pr46728-11.c: Likewise.
	* gcc.target/powerpc/pr46728-13.c: Likewise.
	* gcc.target/powerpc/pr46728-14.c: Likewise.
	* gcc.target/powerpc/pr46728-15.c: Likewise.

From-SVN: r185265
2012-03-12 19:45:43 +00:00
Paolo Carlini 7792bd8a90 re PR c++/52299 (GCC warns on compile time division by zero erroneously)
/cp
2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52299
	* pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus
	division by zero warnings.

/testsuite
2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52299
	* g++.dg/warn/Wdiv-by-zero-bogus.C: New.

From-SVN: r185264
2012-03-12 19:29:38 +00:00
H.J. Lu a029a15435 Remove :P on tls_symbolic_operand
2012-03-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md (*tls_global_dynamic_64_<mode>): Remove :P
	on tls_symbolic_operand.
	(tls_global_dynamic_64_<mode>): Likewise.

From-SVN: r185261
2012-03-12 11:35:57 -07:00
Bill Schmidt 19eb5c1a1e re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)
2012-03-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/46728
	* gcc.target/powerpc/pr46728-4.c: Skip for powerpc*-*-darwin*.
	* gcc.target/powerpc/pr46728-5.c: Likewise.
	* gcc.target/powerpc/pr46728-8.c: Likewise.
	* gcc.target/powerpc/pr46728-10.c: Likewise.
	* gcc.target/powerpc/pr46728-11.c: Likewise.
	* gcc.target/powerpc/pr46728-13.c: Likewise.
	* gcc.target/powerpc/pr46728-14.c: Likewise.
	* gcc.target/powerpc/pr46728-15.c: Likewise.

From-SVN: r185260
2012-03-12 18:26:48 +00:00
Georg-Johann Lay 2dc5ca182d re PR other/52545 (output.h: SECTION_EXCLUDE flag clobbers SECTION_MACH_DEP)
PR other/52545
	* output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
	SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.

From-SVN: r185259
2012-03-12 18:22:01 +00:00
Georg-Johann Lay ed2d146627 re PR target/52499 (avr MODE_CODE_BASE_REG_CLASS enum conversion problem)
PR target/52499
	* config/avr/avr.c (avr_mode_code_base_reg_class): Change return
	type from reg_class_t to enum reg_class.
	* config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.

From-SVN: r185256
2012-03-12 18:05:11 +00:00
Georg-Johann Lay 9438adb0a7 re PR target/49868 (Implement named address space to place/access data in flash memory)
PR target/49868
	* gcc.target/avr/torture/addr-space-1.h: New file.
	* gcc.target/avr/torture/addr-space-g.h: New test.
	* gcc.target/avr/torture/addr-space-0.h: New test.
	* gcc.target/avr/torture/addr-space-1.h: New test.
	* gcc.target/avr/torture/addr-space-x.h: New test.

From-SVN: r185255
2012-03-12 17:55:30 +00:00
Andrew Pinski b928d32b66 tree-ssa-phiopt.c (single_non_singleton_phi_for_edges): New function.
2012-03-12  Andrew Pinski  <apinski@cavium.com>

	* tree-ssa-phiopt.c (single_non_singleton_phi_for_edges): New function.
	(tree_ssa_phiopt_worker): Use single_non_singleton_phi_for_edges.
	(value_replacement): Likewise.
	(empty_block_p): Check also if the PHIs for the block are empty.

2012-03-12  Andrew Pinski  <apinski@cavium.com>

	* gcc.dg/tree-ssa/phi-opt-7.c: New testcase.

From-SVN: r185254
2012-03-12 10:53:57 -07:00
Georg-Johann Lay 2f986dce2c re PR rtl-optimization/52148 (ICE: in spill_failure, at reload1.c:2120)
PR target/52148
	* config/avr/avr.c (avr_out_movmem): Fix typo in output template
	for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
	r184615 from 2012-02-28.

From-SVN: r185253
2012-03-12 17:35:43 +00:00
H.J. Lu 79eeab2348 Add ix86_gen_tls_global_dynamic_64 and ix86_gen_tls_local_dynamic_base_64
2012-03-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_gen_tls_global_dynamic_64): New.
	(ix86_gen_tls_local_dynamic_base_64): Likewise.
	(ix86_option_override_internal): Set ix86_gen_tls_global_dynamic_64
	and ix86_gen_tls_local_dynamic_base_64.
	(legitimize_tls_address): Use ix86_gen_tls_global_dynamic_64 and
	ix86_gen_tls_local_dynamic_base_64.

	* config/i386/i386.md (*tls_global_dynamic_64): Renamed to ...
	(*tls_global_dynamic_64_<mode>): This.
	(tls_global_dynamic_64): Renamed to ...
	(tls_global_dynamic_64_<mode>): This.
	(*tls_local_dynamic_base_64): Renamed to ...
	(*tls_local_dynamic_base_64_<mode>): This.
	(tls_local_dynamic_base_64): Renamed to ...
	(tls_local_dynamic_base_64_<mode>): This.

From-SVN: r185250
2012-03-12 09:49:36 -07:00
Rainer Orth 0738fdbda9 Remove bogus libstdc++-v3/ prefix in ChangeLog.
From-SVN: r185249
2012-03-12 16:30:01 +00:00