Commit Graph

115120 Commits

Author SHA1 Message Date
Uros Bizjak
1f319dbad6 target.h (GTM_longjmp): Correct .cfi directives.
* config/x86/target.h (GTM_longjmp): Correct .cfi directives.

From-SVN: r184220
2012-02-14 19:38:38 +01:00
Ian Lance Taylor
ebe8daca1e re PR go/48501 (64bit-out.go, select5-out.go, tmp.go compilation times out)
PR go/48501
	* go.test/go-test.exp (go-gc-tests): Disable optimizations when
	compiling generated file for 64bit and index tests.

From-SVN: r184219
2012-02-14 18:04:28 +00:00
Ian Lance Taylor
95787705db re PR go/48501 (64bit-out.go, select5-out.go, tmp.go compilation times out)
PR go/48501
runtime: Fix identity hash function for big-endian systems.

From-SVN: r184218
2012-02-14 18:02:09 +00:00
Uros Bizjak
7f0dbd0aee lower-subreg-1.c: Fix and simplify target selector.
* gcc.dg/lower-subreg-1.c: Fix and simplify target selector.

From-SVN: r184217
2012-02-14 16:50:32 +01:00
Richard Guenther
8085c58661 re PR middle-end/52244 (wrong code for function returning union between int and _Bool at O > 2, with no-early-inlining)
2012-02-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52244
	PR tree-optimization/51528
	* tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
	replacements for integral types.

	* gcc.dg/torture/pr52244.c: New testcase.

From-SVN: r184214
2012-02-14 15:33:56 +00:00
Torvald Riegel
31772c9507 libitm: Add multi-lock, write-through TM method.
libitm/
	* libitm_i.h (GTM::gtm_rwlog_entry): New.
	(GTM::gtm_thread): Add read and write logs.
	(GTM::dispatch_ml_wt): Declare.
	* retry.cc (parse_default_method): Support ml_wt.
	* method-ml.cc: New file.
	* Makefile.am: Add method-ml.cc.
	* Makefile.in: Regenerate.

From-SVN: r184212
2012-02-14 13:14:27 +00:00
Torvald Riegel
5b9cf5d2bf libitm: Improve method reinit and choice.
libitm/
	* dispatch.h (GTM::abi_dispatch::supports): New.
	(GTM::method_group::reinit): New.
	* retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
	(GTM::gtm_thread::number_of_threads_changed): Check that the method
	supports the current situation.

From-SVN: r184211
2012-02-14 13:14:12 +00:00
Torvald Riegel
7d33bcb738 libitm: Add xcalloc.
libitm/
	* util.cc (GTM::xcalloc): New.
	* common.h (GTM::xcalloc): Declare.

From-SVN: r184210
2012-02-14 13:13:56 +00:00
Walter Lee
dd552284fd Add ports for TILE-Gx and TILEPro.
.
	* MAINTAINERS (tilegx port): Add myself.
	(tilepro port): Add myself.

contrib
	* config-list.mk (LIST): Add tilegx-linux-gnu and
	tilepro-linux-gnu.
	* gcc_update (gcc/config/tilegx/mul-tables.c): New dependencies.
	(gcc/config/tilepro/mul-tables.c): New dependencies.

gcc
	* config.gcc: Handle tilegx and tilepro.
	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
	tilegx and tilepro.
	Add HAVE_AS_TLS check for tilegx and tilepro.
	* configure: Regenerate.
	* doc/contrib.texi: Add Mat Hostetter and self.
	* doc/extend.texi (TILE-Gx Built-in Functions): New node.
	Document instruction intrinsics and network accessing intrinsics.
	(TILEPro Built-in Functions): New node.	 Document instruction
	intrinsics and network accessing intrinsics.
	* doc/install.texi (Specific, tilegx-*-linux*): Document it.
	(Specific, tilepro-*-linux*): Likewise.
	* doc/invoke.texi (TILE-Gx Options): New section.
	(TILEPro Options): New section.
	* doc/md.texi (TILE-Gx): New section.
	(TILEPro): New section.
	* common/config/tilegx: New directory for tilegx.
	* common/config/tilepro: New directory for tilepro.
	* config/tilegx: New directory for tilegx.
	* config/tilepro: New directory for tilepro.

gcc/testsuite
	* g++.dg/other/PR23205.C: Disable test on tile.
	* g++.dg/other/pr23205-2.C: Disable test on tile.
	* gcc.dg/20020312-2.c: Add a condition for __tile__.
	* gcc.dg/20040813-1.c: Disable test on tile.
	* gcc.dg/lower-subreg-1.c: Disable test on tilegx.
	* gcc.misc-tests/linkage.exp: Handle tilegx.

libcpp
	* configure.ac: Require 64-bit hwint for tilegx and tilepro.
	* configure: Regenerate.

libgcc
	* config.host: Handle tilegx and tilepro.
	* config/tilegx: New directory for tilegx.
	* config/tilepro: New directory for tilepro.

libgomp
	* configure.tgt: Handle tilegx and tilepro.
	* config/linux/tile: New directory for tilegx and tilepro.

Added:
     trunk/gcc/common/config/tilegx/tilegx-common.c
     trunk/gcc/common/config/tilepro/tilepro-common.c
     trunk/gcc/config/tilegx/constraints.md
     trunk/gcc/config/tilegx/linux.h
     trunk/gcc/config/tilegx/mul-tables.c
     trunk/gcc/config/tilegx/predicates.md
     trunk/gcc/config/tilegx/sync.md
     trunk/gcc/config/tilegx/t-tilegx
     trunk/gcc/config/tilegx/tilegx-builtins.h
     trunk/gcc/config/tilegx/tilegx-c.c
     trunk/gcc/config/tilegx/tilegx-generic.md
     trunk/gcc/config/tilegx/tilegx-modes.def
     trunk/gcc/config/tilegx/tilegx-multiply.h
     trunk/gcc/config/tilegx/tilegx-protos.h
     trunk/gcc/config/tilegx/tilegx.c
     trunk/gcc/config/tilegx/tilegx.h
     trunk/gcc/config/tilegx/tilegx.md
     trunk/gcc/config/tilegx/tilegx.opt
     trunk/gcc/config/tilepro/constraints.md
     trunk/gcc/config/tilepro/gen-mul-tables.cc
     trunk/gcc/config/tilepro/linux.h
     trunk/gcc/config/tilepro/mul-tables.c
     trunk/gcc/config/tilepro/predicates.md
     trunk/gcc/config/tilepro/t-tilepro
     trunk/gcc/config/tilepro/tilepro-builtins.h
     trunk/gcc/config/tilepro/tilepro-c.c
     trunk/gcc/config/tilepro/tilepro-generic.md
     trunk/gcc/config/tilepro/tilepro-modes.def
     trunk/gcc/config/tilepro/tilepro-multiply.h
     trunk/gcc/config/tilepro/tilepro-protos.h
     trunk/gcc/config/tilepro/tilepro.c
     trunk/gcc/config/tilepro/tilepro.h
     trunk/gcc/config/tilepro/tilepro.md
     trunk/gcc/config/tilepro/tilepro.opt
     trunk/libgcc/config/tilegx/sfp-machine.h
     trunk/libgcc/config/tilegx/sfp-machine32.h
     trunk/libgcc/config/tilegx/sfp-machine64.h
     trunk/libgcc/config/tilegx/t-crtstuff
     trunk/libgcc/config/tilegx/t-softfp
     trunk/libgcc/config/tilegx/t-tilegx
     trunk/libgcc/config/tilepro/atomic.c
     trunk/libgcc/config/tilepro/atomic.h
     trunk/libgcc/config/tilepro/linux-unwind.h
     trunk/libgcc/config/tilepro/sfp-machine.h
     trunk/libgcc/config/tilepro/softdivide.c
     trunk/libgcc/config/tilepro/softmpy.S
     trunk/libgcc/config/tilepro/t-crtstuff
     trunk/libgcc/config/tilepro/t-tilepro
     trunk/libgomp/config/linux/tile/futex.h
Modified:
     trunk/MAINTAINERS
     trunk/contrib/config-list.mk
     trunk/contrib/gcc_update
     trunk/gcc/config.gcc
     trunk/gcc/configure
     trunk/gcc/configure.ac
     trunk/gcc/doc/contrib.texi
     trunk/gcc/doc/extend.texi
     trunk/gcc/doc/install.texi
     trunk/gcc/doc/invoke.texi
     trunk/gcc/doc/md.texi
     trunk/gcc/testsuite/g++.dg/other/PR23205.C
     trunk/gcc/testsuite/g++.dg/other/pr23205-2.C
     trunk/gcc/testsuite/gcc.dg/20020312-2.c
     trunk/gcc/testsuite/gcc.dg/20040813-1.c
     trunk/gcc/testsuite/gcc.dg/lower-subreg-1.c
     trunk/gcc/testsuite/gcc.misc-tests/linkage.exp
     trunk/libcpp/configure
     trunk/libcpp/configure.ac
     trunk/libgcc/config.host
     trunk/libgomp/configure.tgt

From-SVN: r184203
2012-02-14 10:02:21 +00:00
Eric Botcazou
62513f7bed target.h (cpu_relax): Read from CC register.
* config/sparc/target.h (cpu_relax): Read from CC register.
	* config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.

From-SVN: r184202
2012-02-14 09:22:26 +00:00
Jakub Jelinek
7daac345d1 re PR tree-optimization/52210 (vect_model_simple_cost: reading uninitialised memory)
PR tree-optimization/52210
	* tree-vect-slp.c (vect_get_and_check_slp_defs): Call
	vect_model_simple_cost with two entry vect_def_type array instead
	of an address of dt.

	* gcc.dg/pr52210.c: New test.

From-SVN: r184201
2012-02-14 10:16:01 +01:00
Richard Guenther
837487be7b re PR lto/52178 (Ada bootstrap failure in LTO mode)
2012-02-14  Richard Guenther  <rguenther@suse.de>

	PR lto/52178
	* tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
	Do not stream DECL_QUALIFIER.
	* tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
	* tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
	(find_decls_types_r): Do not walk DECL_QUALIFIER.

From-SVN: r184200
2012-02-14 08:39:55 +00:00
Jason Merrill
f0ebe02d7f re PR c++/39055 ([DR 1443][4.4/4.5/4.6/4.7 regression] questionable default parameter of a member function accepted)
PR c++/39055
	* decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.

From-SVN: r184199
2012-02-14 03:39:51 -05:00
Uros Bizjak
d4a698d494 target.h (GTM_longjmp): Jump indirect from memory address.
* config/x86/target.h (GTM_longjmp): Jump indirect from memory address.

From-SVN: r184198
2012-02-14 08:50:38 +01:00
Walter Lee
1982a38354 Add myself to MAINTAINERS file for write after approval.
From-SVN: r184196
2012-02-14 07:11:10 +00:00
Jakub Jelinek
45f41865ff re PR c/52181 (merge_decls doesn't handle DECL_USER_ALIGN properly)
PR c/52181
	* c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
	newdecl.

	* decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
	newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.

	* c-c++-common/pr52181.c: New test.

From-SVN: r184193
2012-02-14 07:15:35 +01:00
Benjamin Kosnik
1380aca7e6 43820_neg.cc: Adjust line numbers.
2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.

From-SVN: r184192
2012-02-14 03:48:02 +00:00
Ian Lance Taylor
4ea063cacb re PR go/50654 (Many Go tests fail on emutls targets)
PR go/50654
runtime: Reload m and g if necessary after getcontext returns.

From-SVN: r184188
2012-02-14 00:38:07 +00:00
Ian Lance Taylor
09578bcd52 net: Don't run UDP multicast tests on Alpha GNU/Linux.
From Uros Bizjak.

From-SVN: r184187
2012-02-14 00:30:12 +00:00
GCC Administrator
a6d3e197fb Daily bump.
From-SVN: r184185
2012-02-14 00:18:28 +00:00
Jakub Jelinek
9a76e83d80 re PR bootstrap/52172 (stage 3 Bootstrap comparison failure on FreeBSD ia64)
PR bootstrap/52172
	* cselib.h (cselib_subst_to_values_from_insn): New prototype.
	* cselib.c (cselib_subst_to_values_from_insn): New function.
	* sched-deps.c (add_insn_mem_dependence,
	sched_analyze_1, sched_analyze_2): Use it.

From-SVN: r184181
2012-02-14 00:31:48 +01:00
Jan Hubicka
993716bdca re PR middle-end/52214 (FAIL: g++.dg/tree-ssa/pr44706.C -std=gnu++* scan-tree-dump-not fnsplit "Splitting function")
PR middle-end/52214
	* predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.

From-SVN: r184180
2012-02-13 23:29:34 +00:00
Eric Botcazou
f3f5e3c32e configure.tgt (target_cpu): Handle sparc and sparc64 & sparcv9.
* configure.tgt (target_cpu): Handle sparc and sparc64 & sparcv9.
	* config/sparc/cacheline.h: New file.
	* config/sparc/target.h: Likewise.
	* config/sparc/sjlj.S: Likewise.
	* config/linux/sparc/futex_bits.h: Likewise.

From-SVN: r184177
2012-02-13 21:51:44 +00:00
Eric Botcazou
255a9a1bb5 gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
gcc/
	* gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
	(GTM_SELF_SPECS): Define if not already defined.
	(driver_self_specs): Add GTM_SELF_SPECS.
	* config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
	(GTM_SELF_SPECS): Define.
	* config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
	* config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
libitm/
	* configure.ac (link_itm): Fix comment.
	* configure: Regenerate.
	* testsuite/lib/libitm.exp: Do not pass -litm for the link.

From-SVN: r184174
2012-02-13 21:46:38 +00:00
Richard Henderson
b2cb69647e PR libstdc++/51798 continued
PR libstdc++/51798 continued
	* include/bits/shared_ptr_base.h
	(_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
	outside compare_exchange loop.
	* include/tr1/shared_ptr.h: Same.
	* include/parallel/compatibility.h (__compare_and_swap_32): Use strong
	version of compare_exchange.
	(__compare_and_swap_64): Same.
	* include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
	* libsupc++/guard.cc (__cxa_guard_acquire): Same.

From-SVN: r184171
2012-02-13 13:30:31 -08:00
Jakub Jelinek
67b977ada8 cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right away if seen.
* cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
	away if seen.

From-SVN: r184169
2012-02-13 21:14:25 +01:00
Jakub Jelinek
4228697645 cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
* cselib.c (dump_cselib_val): Don't assume l->setting_insn is
	non-NULL.

From-SVN: r184168
2012-02-13 21:13:49 +01:00
Jakub Jelinek
e3793c6fb9 re PR c++/52215 (__atomic_compare_exchange_n for enumeration type changes signature with -m32)
PR c++/52215
	* c-common.c (sync_resolve_params): Don't decide whether to convert
	or not based on TYPE_SIZE comparison, convert whenever arg_type
	is unsigned INTEGER_TYPE.

	* g++.dg/ext/atomic-1.C: New test.

From-SVN: r184167
2012-02-13 21:12:54 +01:00
Jakub Jelinek
9abd5ed90b re PR middle-end/52230 (OpenMP: Simple C program triggers SIGSEGV at execution)
PR middle-end/52230
	* omp-low.c (expand_omp_for): If a static schedule without
	chunk size has NULL region->cont, force fd.chunk_size to be
	integer_zero_node.

From-SVN: r184165
2012-02-13 20:57:24 +01:00
Joseph Myers
a905672b22 * de.po: Update.
From-SVN: r184161
2012-02-13 17:51:21 +00:00
Joseph Myers
f268979d76 * de.po: Update.
From-SVN: r184160
2012-02-13 16:59:30 +00:00
Joseph Myers
9282483d3a * sv.po: Update.
From-SVN: r184159
2012-02-13 16:57:35 +00:00
Andreas Krebbel
ce9b1fbd5c Fix changelog entry.
From-SVN: r184158
2012-02-13 15:46:15 +00:00
Andreas Krebbel
fecc70de1d pr51933.c: Disable for s390 31 bit.
2012-02-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.c-torture/execute/pr51933.c: Disable for s390 31 bit.

From-SVN: r184157
2012-02-13 15:44:38 +00:00
Andrew MacLeod
8ca1b3428a re PR c/52190 (question about atomic intrinsics -- test and documentation vary -- please clarify)
2012-02-13  Andrew MacLeod  <amacleod@redhat.com>

	PR c/52190
	* doc/extend.texi : Fix another __atomic_compare_exchange typo.

From-SVN: r184156
2012-02-13 15:37:33 +00:00
Kai Tietz
d86c2d9495 re PR libffi/52221 ([libffi] r183675,r184021 needs to be fixed.)
PR libffi/52221
        * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
        support for X86_WIN32.
        (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.

From-SVN: r184155
2012-02-13 16:18:14 +01:00
Richard Guenther
1eb3478fe8 re PR translation/52211 (Typo in translatable string: "-fdisble" ("-fdisable"))
2012-02-13  Richard Guenther  <rguenther@suse.de>

	PR translation/52211
	* passes.c (enable_disable_pass): Fix typo.

From-SVN: r184152
2012-02-13 11:31:00 +00:00
Jakub Jelinek
205ec405fc re PR middle-end/52209 (wrong code at -O0)
PR middle-end/52209
	* expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
	XOR for reduce_bit_field if type is unsigned.

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

From-SVN: r184151
2012-02-13 11:37:35 +01:00
GCC Administrator
5ac5049603 Daily bump.
From-SVN: r184150
2012-02-13 00:19:19 +00:00
Gerald Pfeifer
98a5b2c9cb MAINTAINERS (Various Maintainers): Add Diego Novillo...
* MAINTAINERS (Various Maintainers): Add Diego Novillo, 
	Gerald Pfeifer and Joseph Myers as docstring relicensing
	maintainers.

From-SVN: r184145
2012-02-12 22:30:41 +00:00
Eric Botcazou
31d7b43969 sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode, disallow changes from SFmode to mode with different size in FP regs.
* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
	disallow changes from SFmode to mode with different size in FP regs.

From-SVN: r184144
2012-02-12 20:42:45 +00:00
Joseph Myers
5b4a7d0d8a * de.po: Update.
From-SVN: r184143
2012-02-12 17:04:02 +00:00
Mikael Morin
9436b221f2 re PR fortran/50981 ([OOP] Wrong-code for scalarizing ELEMENTAL call with absent OPTIONAL argument)
gcc/fortran/
	PR fortran/50981
	* trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
	(gfc_trans_call): Use gfc_get_proc_ifc_for_call.

gcc/testsuite/
	PR fortran/50981
	* gfortran.dg/elemental_optional_args_5.f03: New test.

From-SVN: r184142
2012-02-12 15:46:14 +00:00
Mikael Morin
dec131b6ad trans-array.c (gfc_walk_elemental_function_args, [...]): Move call to gfc_get_proc_ifc_for_expr out of gfc_walk_elemental_function_args.
* trans-array.c (gfc_walk_elemental_function_args,
	gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
	of gfc_walk_elemental_function_args.
	* trans-stmt.c (gfc_trans_call): Ditto.
	* trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
	(gfc_walk_elemental_function_args): Update prototype.

From-SVN: r184141
2012-02-12 15:22:34 +00:00
Iain Sandoe
3e4c98438a re PR testsuite/50076 (FAIL: c-c++-common/cxxbitfields-3.c scan-assembler movl.*, var on x86_64-apple-darwin10)
gcc/testsuite:

	PR testsuite/50076
	* c-c++-common/cxxbitfields-3.c: Adjust scan assembler for nonpic
	cases.

From-SVN: r184140
2012-02-12 15:20:46 +00:00
Mikael Morin
58b29fa342 trans-array.c (gfc_get_proc_ifc_for_expr): New function.
* trans-array.c (gfc_get_proc_ifc_for_expr): New function.
	(gfc_walk_elemental_function_args): Move code to
	gfc_get_proc_ifc_for_expr and call it.

From-SVN: r184139
2012-02-12 15:12:21 +00:00
Ian Lance Taylor
12e3c39614 re PR go/52084 (go tests fail to link on powerpc-linux-gnu (undefined reference to __sync_add_and_fetch_8))
PR go/52084
libgo: Provide more __sync functions if required.

From-SVN: r184138
2012-02-12 06:23:08 +00:00
Ian Lance Taylor
22d8782978 re PR go/51874 (Many libgo testsuite failures on IRIX)
PR go/51874
	* go.test/go-test.exp (go-gc-tests): Don't run nilptr test on
	SPARC Solaris.  Don't run the test at all on systems where it may
	not work, rather than xfailing it.

From-SVN: r184137
2012-02-12 06:00:34 +00:00
Ian Lance Taylor
14e50d352e sync/atomic: Disable tests which can't run based on pointer size.
From-SVN: r184136
2012-02-12 05:57:02 +00:00
Robert Millan
56c534c50d stddef.h [...] (__size_t): Do not define.
* ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
	Tweak comment.

Co-Authored-By: Gerald Pfeifer <gerald@pfeifer.com>

From-SVN: r184135
2012-02-12 01:06:04 +00:00