Commit Graph

122227 Commits

Author SHA1 Message Date
Edgar E. Iglesias 8cc9a5a584 Add support for TLS in MicroBlaze
* configure.ac: Add MicroBlaze TLS support detection.
 * configure: Regenerate.
 * config/microblaze/microblaze-protos.h: (microblaze_cannot_force_const_mem,
   microblaze_tls_referenced_p, symbol_mentioned_p,
   label_mentioned_p): Add prototypes.
 * config/microblaze/microblaze.c (microblaze_address_type): Add ADDRESS_TLS
   and tls_reloc address types.
   (microblaze_address_info): Add tls_reloc.
   (TARGET_HAVE_TLS): Define.
   (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
    microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
    symbol_mentioned_p, label_mentioned_p, tls_mentioned_p, load_tls_operand,
    microblaze_call_tls_get_addr, microblaze_legitimize_tls_address): New functions.
   (microblaze_classify_unspec): Handle UNSPEC_TLS.
   (get_base_reg): Use microblaze_tls_symbol_p.
   (microblaze_classify_address): Handle TLS.
   (microblaze_legitimate_pic_operand): Use symbol_mentioned_p, label_mentioned_p
    and microblaze_tls_referenced_p.
   (microblaze_legitimize_address): Handle TLS.
   (microblaze_address_insns): Handle ADDRESS_TLS.
   (pic_address_needs_scratch): Handle TLS.
   (print_operand_address): Handle TLS.
   (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
   (microblaze_expand_move): Handle TLS.
   (microblaze_legitimate_constant_p): Check microblaze_cannot_force_const_mem
    and microblaze_tls_symbol_p.
   (TARGET_CANNOT_FORCE_CONST_MEM): Define.
 * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
   (PIC_OFFSET_TABLE_REGNUM): Set.
 * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
 * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
   (addsi3, movsi_internal2, movdf_internal): Update constraints
 * config/microblaze/predicates.md (arith_plus_operand): Define
   (move_operand): Redefine as move_src_operand, check microblaze_tls_referenced_p.



Co-Authored-By: David Holsgrove <david.holsgrove@xilinx.com>

From-SVN: r196659
2013-03-14 15:43:23 +00:00
Jason Merrill a7137ee176 re PR c++/56614 (error: default argument 'std::vector<E>(std::initializer_list<E>{((const E*)(& ._0)), 1u}, (*(const std::allocator<E>*)(& std::allocator<E>())))' uses local variable '._0')
PR c++/56614
	* decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.

From-SVN: r196658
2013-03-14 09:09:11 -04:00
Jason Merrill e9d5a271e5 re PR c++/56346 (FAIL: g++.dg/tls/thread_local3.C -std=gnu++11 (test for excess errors))
PR c++/56346
	* decl.c (register_dtor_fn): Pass null to __cxa_thread_atexit
	dso_handle parm on targets without __cxa_atexit.

From-SVN: r196657
2013-03-14 09:08:36 -04:00
Ian Bolton d803a4912e AArch64 should return CC_NZ for AND operation (part 2)
From-SVN: r196656
2013-03-14 12:04:26 +00:00
Jakub Jelinek 430b9e22a7 re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count)
PR tree-optimization/53265
	* gcc.dg/graphite/scop-3.c (toto): Increase array size to avoid
	undefined behavior.
	* gcc.dg/graphite/id-6.c (test): Likewise.
	* gcc.dg/graphite/pr35356-2.c: Adjust regexp patterns to only look for
	MIN_EXPR and MAX_EXPR in GIMPLE stmts.

From-SVN: r196655
2013-03-14 11:54:38 +01:00
Ian Bolton a8504f223d AArch64 should return CC_NZ for AND operation.
From-SVN: r196654
2013-03-14 10:48:51 +00:00
Jakub Jelinek fbd28bc3b2 re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count)
PR tree-optimization/53265
	* common.opt (Waggressive-loop-optimizations): New option.
	* tree-ssa-loop-niter.c: Include tree-pass.h.
	(do_warn_aggressive_loop_optimizations): New function.
	(record_estimate): Call it.  Don't add !is_exit bounds to loop->bounds
	if number_of_latch_executions returned constant.
	(estimate_numbers_of_iterations_loop): Call number_of_latch_executions
	early.  If number_of_latch_executions returned constant, set
	nb_iterations_upper_bound back to it.
	* cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
	field.
	* Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
	* doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.

	* gcc.dg/pr53265.c: New test.
	* gcc.dg/torture/pr49518.c: Add -Wno-aggressive-loop-optimizations
	to dg-options.
	* g++.dg/opt/longbranch2.C (EBCOTLut): Double sizes of a2 and a3
	arrays.
	* gcc.dg/tree-ssa/cunroll-10.c (main): Rename to foo.  Add argument
	n, use it as high bound instead of 4.

	* unwind-dw2.c (execute_cfa_program): Avoid
	-Waggressive-array-optimizations warnings for DW_CFA_GNU_window_save
	on targets with DWARF_FRAME_REGISTERS < 32.

	* testsuite/libmudflap.c/fail37-frag.c: Add optimization barrier.

From-SVN: r196650
2013-03-14 10:13:36 +01:00
Jakub Jelinek df2dfaea4e t-aarch64-linux (MULTARCH_DIRNAME): Remove.
* config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
	(MULTILIB_OSDIRNAMES): Set.
	* genmultilib: If defaultosdirname doesn't start with :: , set
	defaultosdirname2 instead, clear it and emit two . multilib_raw
	entries instead of just one.

From-SVN: r196649
2013-03-14 09:52:13 +01:00
Benjamin Kosnik 10ace8a0cf *: Regenerate.
2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r196647
2013-03-14 03:13:14 +00:00
Kaz Kojima ee0d2b6893 linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
* config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
	(SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
	* config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
	(SUBTARGET_OVERRIDE_OPTIONS): New.

From-SVN: r196646
2013-03-14 03:01:53 +00:00
GCC Administrator 2d9aba16b3 Daily bump.
From-SVN: r196645
2013-03-14 00:17:54 +00:00
Andrew John Hughes cf7583edf2 Use pthread_equal rather than != to compare thread IDs.
2013-03-12  Andrew John Hughes  <gnu.andrew@redhat.com>

	* include/posix-threads.h:
	(_Jv_MutexCheckMonitor(_Jv_Mutex_t)): Use
	pthread_equal rather than !=.

From-SVN: r196639
2013-03-13 21:21:27 +00:00
Oleg Endo decc676eb5 re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
PR target/49880
	* config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
	(musermode): Convert to Var(TARGET_USERMODE).
	* config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
	MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
	* config/sh/sh.c (sh_option_override): Use
	TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
	* config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
	condition.
	(udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
	TARGET_SH4.
	(udivsi3_i4_single, divsi3_i4_single): Use
	TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.

	PR target/49880
	* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A.
	(sdivsi3, udivsi3): Remove SH4 check and always compile these functions.

	PR target/49880
	* gcc.target/sh/pr49880-1.c: New.
	* gcc.target/sh/pr49880-2.c: New.
	* gcc.target/sh/pr49880-3.c: New.
	* gcc.target/sh/pr49880-4.c: New.
	* gcc.target/sh/pr49880-5.c: New.

From-SVN: r196636
2013-03-13 18:09:10 +00:00
Dave Korn f4b719c718 cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the default setting.
* config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
	default setting.

From-SVN: r196634
2013-03-13 15:17:54 +00:00
Paolo Carlini c79c6ca64a alias-decl-32.C: Remove redundant bits.
2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/alias-decl-32.C: Remove redundant bits.

From-SVN: r196633
2013-03-13 12:26:39 +00:00
Richard Biener c40eced02b re PR tree-optimization/56608 (SLP seems to produce incorrect value with -ffast-math)
2013-03-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56608
	* tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
	calls when vectorizing basic-blocks.

	* gcc.dg/vect/fast-math-bb-slp-call-3.c: New testcase.

From-SVN: r196632
2013-03-13 12:15:06 +00:00
Paolo Carlini 15ff4345c4 re PR c++/56611 ([C++11] Template instantiation failure with variadic arguments and template aliases)
2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56611
	* g++.dg/cpp0x/alias-decl-32.C: New.

From-SVN: r196631
2013-03-13 11:44:32 +00:00
Paolo Carlini 8a38ebb653 re PR libstdc++/56609 ([C++11] Several type traits give incorrect results for std::nullptr_t)
2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56609
	* include/std/type_traits (is_fundamental): Add std::nullptr_t.
	* testsuite/20_util/is_fundamental/value.cc: Extend.
	* testsuite/20_util/is_compound/value.cc: Likewise.

From-SVN: r196630
2013-03-13 11:15:45 +00:00
Jakub Jelinek 1bfa59736a re PR plugins/45078 (config/vxworks-dummy.h not installed as a plugin header on some archs)
PR plugins/45078
	* config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
	tm_file.

From-SVN: r196629
2013-03-13 10:47:41 +01:00
GCC Administrator 3bc2ed447f Daily bump.
From-SVN: r196625
2013-03-13 00:19:53 +00:00
Jakub Jelinek 6fcf5434dd * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
From-SVN: r196614
2013-03-12 14:25:01 +01:00
Jan Hubicka 4f38fa8ce5 re PR libstdc++/56557 (Link error about `std::fstream' or `std::stringstream' with `-flto' and `-rdynamic' options)
PR lto/56557
	* lto-streamer-out.c (output_symbol_p): Skip references from
	constructors of external variables.

From-SVN: r196613
2013-03-12 12:38:47 +00:00
Jan Hubicka c5c5ba89ac re PR rtl-optimization/56571 (ICE in copyprop_hardreg_forward_1, at regcprop.c (insn does not satisfy its constraints !))
PR middle-end/56571
	* valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
	from pseudos.
	* emit-rtl.c (verify_rtx_sharing): Likewise.
	(copy_insn_1): Likewise.
	* rtl.c (copy_rtx): Likewise.
	PR middle-end/56571
	* gcc.c-torture/compile/pr56571.c: New testcase.

From-SVN: r196612
2013-03-12 12:13:33 +00:00
Georg-Johann Lay f22e3c85d7 re PR target/56263 ([avr] Provide strict address-space checking)
PR target/56263
	* config/avr/avr.c (TARGET_CONVERT_TO_TYPE): Define to...
	(avr_convert_to_type): ...this new static function.
	* config/avr/avr.opt (-Waddr-space-convert): New C option.
	* doc/invoke.texi (AVR Options): Document it.

From-SVN: r196611
2013-03-12 11:42:26 +00:00
John David Anglin dedd8ef17d vector-4.c: Add comment regarding xfail.
* gcc.dg/tree-ssa/vector-4.c: Add comment regarding xfail.
	* gcc.dg/tree-ssa/pr55579.c: Likewise.

From-SVN: r196608
2013-03-12 01:21:33 +00:00
GCC Administrator 16dbb4dcb8 Daily bump.
From-SVN: r196607
2013-03-12 00:19:05 +00:00
Georg-Johann Lay c2a939b1c8 re PR target/56591 (Missing space)
PR target/56591
	* config/avr/avr.c (avr_print_operand): Add space after '%c' in
	output_operand_lossage message.

From-SVN: r196604
2013-03-11 18:57:27 +00:00
Tobias Burnus 43b594b4c2 transfer.c (read_block_direct): Correct condition.
2013-03-11  Tobias Burnus  <burnus@net-b.de>

        * io/transfer.c (read_block_direct): Correct condition.
        * intrinsics/execute_command_line.c (execute_command_line):
        Remove dead code for the HAVE_FORK case.

From-SVN: r196603
2013-03-11 19:55:18 +01:00
Tobias Burnus 87f56a65e8 gfortran.texi (STRUCTURE and RECORD): State more clearly how to convert them into derived types.
2013-03-11  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (STRUCTURE and RECORD): State more clearly how
        to convert them into derived types.

From-SVN: r196602
2013-03-11 19:37:30 +01:00
Jason Merrill 2aa953d015 re PR c++/56567 (ICE with lambda return type deduction and braced-init-list)
PR c++/56567
	* typeck.c (check_return_expr): Disallow returning init list here.
	* semantics.c (apply_deduced_return_type): Not here.

From-SVN: r196600
2013-03-11 12:22:16 -04:00
Joseph Myers a036a589fa * de.po, sv.po: Update.
From-SVN: r196598
2013-03-11 15:24:43 +00:00
Dominique d'Humieres 69e6205f27 Remove dg-excess-errors in gcc.dg/inline_[34].c and unroll_[234].c
2013-02-26  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* gcc.dg/inline_3.c: Remove target and dg-excess-errors.
	* gcc.dg/inline_4.c: Likewise.
	* gcc.dg/unroll_2.c: Likewise.
	* gcc.dg/unroll_3.c: Likewise.
	* gcc.dg/unroll_4.c: Likewise.

From-SVN: r196597
2013-03-11 15:08:13 +00:00
Richard Earnshaw 3c3279fb58 re PR target/56470 (ICE output_operand: invalid shift operand)
PR target/56470
	* arm.c (shift_op): Validate RTL pattern on the fly.
	(arm_print_operand, case 'S'): Don't use shift_operator to validate
	the RTL.

From-SVN: r196595
2013-03-11 11:48:34 +00:00
John David Anglin 6be8b5f77c re PR testsuite/54119 (FAIL: gcc.dg/tree-ssa/vector-4.c scan-tree-dump-times gimple "VEC_PERM_EXPR <a, b, { 0, 4, 1, 5 }>;" 1)
PR testsuite/54119
	* gcc.dg/tree-ssa/vector-4.c: xfail on 32-bit hppa*-*-*.

From-SVN: r196592
2013-03-11 01:18:18 +00:00
John David Anglin 7830a0c4f5 re PR debug/56307 (FAIL: gcc.dg/tree-ssa/pr55579.c scan-tree-dump esra "Created a debug-only replacement for s")
PR debug/56307
	* gcc.dg/tree-ssa/pr55579.c: xfail 32-bit hppa*-*-hpux*.

From-SVN: r196591
2013-03-11 01:10:38 +00:00
Oleg Endo 63d5e4a037 re PR target/40797 (ICE in df_refs_verify, at df-scan.c:4361)
PR target/40797
	* gcc.c-torture/compile/pr40797.c: New.

From-SVN: r196590
2013-03-11 01:04:13 +00:00
John David Anglin 5bd68253c3 pr44194-1.c: Skip compilation on hppa*64*-*-*.
* gcc.dg/pr44194-1.c: Skip compilation on hppa*64*-*-*.

From-SVN: r196589
2013-03-11 00:56:45 +00:00
John David Anglin aef5ef9d11 re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution test)
PR target/56347
	* config/pa/pa.md (call_value): Check for calls to powf and direct to
	new call patterns that clobber %fr12.
	(call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
	split and postreload patterns.
	* config/pa/pa.c (pa_conditional_register_usage): Revert marking
	registers %fr12 and %fr12R as call used.

From-SVN: r196588
2013-03-11 00:44:28 +00:00
GCC Administrator 115211e9d4 Daily bump.
From-SVN: r196587
2013-03-11 00:18:29 +00:00
Joseph Myers 4fe5758621 * de.po: Update.
From-SVN: r196581
2013-03-10 15:21:47 +00:00
Paul Thomas 8ec4321faf re PR fortran/56575 (An invalid OO code causes ICE)
2013-03-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/56575
	* expr.c (gfc_default_initializer): Check that a class declared
	type has any components.
	* resolve.c (resolve_fl_derived0): On failing the test for C437
	set the type to BT_UNKNOWN to prevent repeat error messages.
2013-03-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/56575
	* gfortran.dg/class_56.f90: New test.

From-SVN: r196580
2013-03-10 13:23:58 +00:00
GCC Administrator d16d44d338 Daily bump.
From-SVN: r196579
2013-03-10 00:19:02 +00:00
Steven Bosscher 456610d31a dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
* dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
	(canon_address, record_store, replace_read, check_mem_read_rtx,
	scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
	dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
	rest_of_handle_dse): Likewise.

From-SVN: r196576
2013-03-09 22:04:15 +00:00
Joseph Myers a42f62a002 * de.po: Update.
From-SVN: r196575
2013-03-09 21:46:26 +00:00
Paolo Carlini 03a42414ab 55463.cc: Avoid -Wunused warnings.
2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
	-Wunused warnings.

From-SVN: r196572
2013-03-09 11:45:48 +00:00
Richard Sandiford 4b1baac81f re PR middle-end/56524 (Compiler ICE when compiling with -mips16)
gcc/
	PR middle-end/56524
	* tree.h (tree_optimization_option): Rename target_optabs to optabs.
	Add base_optabs.
	(TREE_OPTIMIZATION_OPTABS): Update after previous field change.
	(TREE_OPTIMIZATION_BASE_OPTABS): New macro.
	(save_optabs_if_changed): Replace with...
	(init_tree_optimization_optabs): ...this.
	* optabs.c (save_optabs_if_changed): Rename to...
	(init_tree_optimization_optabs): ...this.  Take the optimization node
	as argument.  Do nothing if the base optabs are already correct.
	Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
	to recompute optabs.
	* function.h (function): Remove optabs field.
	* function.c (invoke_set_current_function_hook): Call
	init_tree_optimization_optabs.  Use the result to initialize
	this_fn_optabs.

gcc/c-family/
	PR middle-end/56524
	* c-common.c (handle_optimize_attribute): Don't call
	save_optabs_if_changed.

gcc/testsuite/
	PR middle-end/56524
	* gcc.target/mips/pr56524.c: New test.

From-SVN: r196570
2013-03-09 07:54:02 +00:00
GCC Administrator cc107acf8d Daily bump.
From-SVN: r196567
2013-03-09 00:19:09 +00:00
Paolo Carlini cf2435d3d3 re PR c++/56565 (lambda function in NSMI fails to capture non-static data member.)
2013-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56565
	* g++.dg/cpp0x/lambda/lambda-nsdmi2.C: New.

From-SVN: r196564
2013-03-08 22:52:36 +00:00
Paolo Carlini f030a1dc03 re PR c++/51412 ([c++0x] Broken diagnostic with invalid lambda expressions)
/cp
2013-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51412
	* cxx-pretty-print.c (pp_cxx_expression): Handle LAMBDA_EXPR.
	* error.c (dump_expr): Likewise.

/testsuite
2013-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51412
	* g++.dg/cpp0x/lambda/lambda-err3.C: New.

From-SVN: r196563
2013-03-08 22:37:04 +00:00
Aldy Hernandez b7a786830f trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE if GTMA_HAS_NO_INSTRUMENTATION.
* trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
	if GTMA_HAS_NO_INSTRUMENTATION.
	(generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
	(ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
	* gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
	* gimple-pretty-print.c (dump_gimple_transaction): Handle
	GTMA_HAS_NO_INSTRUMENTATION.

From-SVN: r196562
2013-03-08 22:26:37 +00:00