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