Richard Sandiford [Wed, 14 May 2014 15:53:11 +0000 (15:53 +0000)]
re PR debug/61188 (Many -fcompare-debug failures)
gcc/
PR debug/61188
* print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
From-SVN: r210429
Richard Sandiford [Wed, 14 May 2014 15:42:52 +0000 (15:42 +0000)]
re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
gcc/
PR target/61084
* config/sparc/sparc.md: Fix types of low and high in DI constant
splitter. Use gen_int_mode in some other splitters.
From-SVN: r210428
Richard Sandiford [Wed, 14 May 2014 15:42:25 +0000 (15:42 +0000)]
decl.c (gnat_to_gnu_entity): Convert integer_one_node to the appropriate type.
gcc/ada/
* gcc-interface/decl.c (gnat_to_gnu_entity): Convert
integer_one_node to the appropriate type.
* gcc-interface/trans.c (gnat_to_gnu): Likewise.
(pos_to_constructor): Likewise.
From-SVN: r210427
Martin Jambor [Wed, 14 May 2014 15:32:31 +0000 (17:32 +0200)]
re PR gcov-profile/60897 (Mangled function name in warning during -fprofile-use phase of Firefox build)
2014-05-14 Martin Jambor <mjambor@suse.cz>
PR ipa/60897
* ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
From-SVN: r210426
Andrew Burgess [Wed, 14 May 2014 14:18:49 +0000 (14:18 +0000)]
cplus-dmem.c (internal_cplus_demangle): Free any resources allocated by possible previous call to gnu_special.
libiberty/
2014-05-14 Andrew Burgess <aburgess@broadcom.com>
* cplus-dmem.c (internal_cplus_demangle): Free any resources
allocated by possible previous call to gnu_special.
(squangle_mop_up): Reset pointers to NULL after calling free.
* testsuite/demangle-expected: New test case.
From-SVN: r210425
Christian Bruel [Wed, 14 May 2014 14:00:30 +0000 (16:00 +0200)]
cleanup bogus entry
From-SVN: r210424
James Norris [Wed, 14 May 2014 13:38:57 +0000 (13:38 +0000)]
omp-low.c (expand_parallel_call): Remove shadow variable.
* omp-low.c (expand_parallel_call): Remove shadow variable.
(expand_omp_taskreg): Likewise.
From-SVN: r210423
Alan Lawrence [Wed, 14 May 2014 13:23:29 +0000 (13:23 +0000)]
Add execution tests of ARM TRN Intrinsics.
* gcc.target/arm/simd/vtrnqf32_1.c: New file.
* gcc.target/arm/simd/vtrnqp16_1.c: New file.
* gcc.target/arm/simd/vtrnqp8_1.c: New file.
* gcc.target/arm/simd/vtrnqs16_1.c: New file.
* gcc.target/arm/simd/vtrnqs32_1.c: New file.
* gcc.target/arm/simd/vtrnqs8_1.c: New file.
* gcc.target/arm/simd/vtrnqu16_1.c: New file.
* gcc.target/arm/simd/vtrnqu32_1.c: New file.
* gcc.target/arm/simd/vtrnqu8_1.c: New file.
* gcc.target/arm/simd/vtrnf32_1.c: New file.
* gcc.target/arm/simd/vtrnp16_1.c: New file.
* gcc.target/arm/simd/vtrnp8_1.c: New file.
* gcc.target/arm/simd/vtrns16_1.c: New file.
* gcc.target/arm/simd/vtrns32_1.c: New file.
* gcc.target/arm/simd/vtrns8_1.c: New file.
* gcc.target/arm/simd/vtrnu16_1.c: New file.
* gcc.target/arm/simd/vtrnu32_1.c: New file.
* gcc.target/arm/simd/vtrnu8_1.c: New file.
From-SVN: r210422
Ilya Tocar [Wed, 14 May 2014 12:41:42 +0000 (12:41 +0000)]
gcc/
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
(OPTION_MASK_ISA_XSAVES_SET): Ditto.
(OPTION_MASK_ISA_XSAVEC_SET): Ditto.
(OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
(OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
(OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
(ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves,
OPT_mclflushopt.
* config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
xsavecintrin.h, xsavesintrin.h.
(x86_64-*-*): Ditto.
* config/i386/clflushoptintrin.h: New.
* config/i386/xsavecintrin.h: Ditto.
* config/i386/xsavesintrin.h: Ditto.
* config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
(bit_XSAVES): Ditto.
(bit_XSAVES): Ditto.
* config/i386/driver-i386.c (host_detect_local_cpu): Handle
-mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
-mno-clflushopt.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
OPTION_MASK_ISA_XSAVES.
* config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
-mxsavec, -mxsaves.
(PTA_CLFLUSHOPT) Define.
(PTA_XSAVEC): Ditto.
(PTA_XSAVES): Ditto.
(ix86_option_override_internal): Handle new options.
(ix86_valid_target_attribute_inner_p): Ditto.
(ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
(bdesc_special_args): Add __builtin_ia32_xsaves, __builtin_ia32_xrstors,
__builtin_ia32_xsavec, __builtin_ia32_xsaves64, __builtin_ia32_xrstors64,
__builtin_ia32_xsavec64.
(ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
(ix86_expand_builtin): Handle new builtins.
* config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
(TARGET_CLFLUSHOPT_P): Ditto.
(TARGET_XSAVEC): Ditto.
(TARGET_XSAVEC_P): Ditto.
(TARGET_XSAVES): Ditto.
(TARGET_XSAVES_P): Ditto.
* config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
(ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
(attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
(ANY_XRSTOR): New.
(ANY_XRSTOR64): Ditto.
(xrstor): Ditto.
(xrstor): Change into <xrstor>.
(xrstor_rex64): Change into <xrstor>_rex64.
(xrstor64): Change into <xrstor>64
(clflushopt): New.
* config/i386/i386.opt (mclflushopt): New.
(mxsavec): Ditto.
(mxsaves): Ditto.
* config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
xsavecintrin.h.
* doc/invoke.texi: Document new options.
gcc/testsuite/
* gcc.target/i386/clflushopt-1.c: New.
* gcc.target/i386/xsavec-1.c: Ditto.
* gcc.target/i386/xsavec64-1.c: Ditto.
* gcc.target/i386/xsaves-1.c: Ditto.
* gcc.target/i386/xsaves64-1.c: Ditto.
* gcc.target/i386/sse-12.c: Test new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
From-SVN: r210421
Andrey Belevantsev [Wed, 14 May 2014 12:09:02 +0000 (16:09 +0400)]
re PR rtl-optimization/60866 (ICE: in get_seqno_for_a_jump, at sel-sched-ir.c:4068 with -fselective-scheduling -fno-if-conversion)
PR rtl-optimization/60866
* sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
Default it to -1. Pass it down to init_simplejump_data.
(init_simplejump_data): New parameter old_seqno. Pass it down
to get_seqno_for_a_jump.
(get_seqno_for_a_jump): New parameter old_seqno. Use it for
initializing new jump seqno as a last resort. Add comment.
(sel_redirect_edge_and_branch): Save old seqno of the conditional
jump and pass it down to sel_init_new_insn.
(sel_redirect_edge_and_branch_force): Likewise.
* gcc.dg/pr60866.c: New test.
From-SVN: r210420
Georg-Johann Lay [Wed, 14 May 2014 11:05:40 +0000 (11:05 +0000)]
avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for shifted values to avoid build warning.
* config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
shifted values to avoid build warning.
From-SVN: r210418
Eric Botcazou [Wed, 14 May 2014 10:36:23 +0000 (10:36 +0000)]
cfgcleanup.c (try_forward_edges): Use location_t for locations.
* cfgcleanup.c (try_forward_edges): Use location_t for locations.
* cfgrtl.c (rtl_merge_blocks): Fix comment.
(cfg_layout_merge_blocks): Likewise.
* except.c (emit_to_new_bb_before): Remove prev_bb local variable.
From-SVN: r210416
Andrey Belevantsev [Wed, 14 May 2014 09:46:26 +0000 (13:46 +0400)]
re PR rtl-optimization/60901 (ICE: SIGSEGV in add_to_deps_list with -fsel-sched-pipelining-outer-loops)
PR rtl-optimization/60901
* config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
bb predecessor belongs to the same scheduling region. Adjust comment.
* gcc.target/i386/pr60901.c: New test.
From-SVN: r210414
Yury Gribov [Wed, 14 May 2014 08:33:45 +0000 (08:33 +0000)]
re PR sanitizer/61100 (asan/tsan should have the sanitizer includes)
2014-05-14 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/61100
* Makefile.am (nodist_saninclude_HEADERS): Install
public headers.
* Makefile.in: Regenerate.
* c-c++-common/asan/asan-interface-1.c: New test.
* lib/asan-dg.exp (asan_include_flags): New function.
(asan_init): Call asan_include_flags to obtain path
to sanitizer headers.
From-SVN: r210413
GCC Administrator [Wed, 14 May 2014 00:17:12 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210410
Peter Bergner [Tue, 13 May 2014 23:44:42 +0000 (18:44 -0500)]
sourcebuild.texi: (dfp_hw): Document.
gcc/
* doc/sourcebuild.texi: (dfp_hw): Document.
(p8vector_hw): Likewise.
(powerpc_eabi_ok): Likewise.
(powerpc_elfv2): Likewise.
(powerpc_htm_ok): Likewise.
(ppc_recip_hw): Likewise.
(vsx_hw): Likewise.
gcc/testsuite/
* lib/target-support.exp (check_dfp_hw_available): New function.
(is-effective-target): Check $arg for dfp_hw.
(is-effective-target-keyword): Likewise.
* gcc.target/powerpc/pack03.c: (dg-require-effective-target):
Change target to dfp_hw.
From-SVN: r210404
Eric Botcazou [Tue, 13 May 2014 21:17:07 +0000 (21:17 +0000)]
* gcc-interface/decl.c (annotate_value): Fix thinko in latest change.
From-SVN: r210403
Jason Merrill [Tue, 13 May 2014 21:10:03 +0000 (17:10 -0400)]
call.c (print_error_for_call_failure): Say "no match" rather than "ambiguous" if there were no strict matches.
* call.c (print_error_for_call_failure): Say "no match" rather
than "ambiguous" if there were no strict matches.
(build_new_method_call_1): Likewise.
From-SVN: r210402
Cary Coutant [Tue, 13 May 2014 17:55:30 +0000 (17:55 +0000)]
Force the use of -ggnu-pubnames when using -gsplit-dwarf.
gcc/
* opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
From-SVN: r210395
Jason Merrill [Tue, 13 May 2014 17:54:00 +0000 (13:54 -0400)]
re PR c++/61151 (ICE with lambda)
PR c++/61151
* semantics.c (is_this_parameter): Allow capture proxies too.
From-SVN: r210394
Marek Polacek [Tue, 13 May 2014 17:41:12 +0000 (17:41 +0000)]
re PR c/61162 (possibly bad error location with -Wc++-compat)
PR c/61162
* c-typeck.c (convert_for_assignment): Pass location to
WARN_FOR_ASSIGNMENT instead of input_location.
* gcc.dg/pr61162.c: New test.
From-SVN: r210393
Marek Polacek [Tue, 13 May 2014 17:37:40 +0000 (17:37 +0000)]
pr50459.c: Move cdtor tests to a separate testcase.
* c-c++-common/pr50459.c: Move cdtor tests to a separate testcase.
* c-c++-common/pr50459-2.c: New test.
From-SVN: r210390
Jonathan Wakely [Tue, 13 May 2014 17:22:08 +0000 (18:22 +0100)]
re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
* include/debug/array (get): Qualify call to other get overload.
* include/profile/array (get): Likewise.
* include/std/array (get): Likewise.
* include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
* include/std/mutex (unique_lock, call_once): Use __addressof.
(__unlock_impl): Remove unused template.
(__try_to_lock): Declare inline.
(__try_lock_impl::__do_try_lock): Qualify function calls.
(lock): Avoid narrowing conversion.
* testsuite/20_util/bind/60497.cc: New.
* testsuite/23_containers/array/element_access/60497.cc: New.
* testsuite/30_threads/call_once/60497.cc: New.
* testsuite/30_threads/unique_lock/cons/60497.cc: New.
From-SVN: r210388
Bernd Edlinger [Tue, 13 May 2014 16:23:11 +0000 (16:23 +0000)]
Enable Java on Cygwin-64
Currently it is not possible to build GCC's libjava support on Cygwin-64.
This patch fixes the current build-problems on Cygwin-64 and the most
fundamental bugs on that platform.
Note you must still add --enable-threads=posix to successfully build the
java language support.
boehm-gc/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* include/gc_config_macros.h (GC_PTHREADS): Use __CYGWIN__ instead
of __CYGWIN32__ here.
* win32_threads.c (GC_push_all_stacks): Push all X86_64 registers.
(GC_get_thread_stack_base): Get the stack base for X86_64.
libffi/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API).
* src/x86/ffi.c: Add if defined(__CYGWIN__).
* src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added
handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT.
Added SEH information. Fixed formatting.
libgcc/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
* unwind-seh.c (_Unwind_Backtrace): Uncommented, finished
implementation.
libjava/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* configure.host: Added handling for x86_64-*-cygwin/mingw.
* boehm.cc (_Jv_GCAttachThread, _Jv_GCDetachThread): Don't compile if
GC_WIN32_THREADS is defined.
* java/lang/natClass.cc (_Jv_InterfaceAssignableFrom): Rename interface
to source_interface.
libjava/classpath/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* native/fdlibm/mprec.c (_REENT_CHECK_MP, _REENT_MP_FREELIST,
_REENT_MP_P5S, __ULong, __Long): Undefine previous definitions.
From-SVN: r210386
Paolo Carlini [Tue, 13 May 2014 16:14:19 +0000 (16:14 +0000)]
re PR c++/54310 (Order of operations during overload resolution)
2014-05-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54310
* g++.dg/template/pr54310.C: New.
From-SVN: r210385
David Malcolm [Tue, 13 May 2014 15:17:34 +0000 (15:17 +0000)]
gengtype: Support explicit pointers in template arguments
gcc/
2014-05-13 David Malcolm <dmalcolm@redhat.com>
* gengtype-parse.c (require3): Eliminate in favor of...
(require4): New.
(require_template_declaration): Update to support optional single *
on a type.
* gengtype.c (get_ultimate_base_class): Add a non-const overload.
(create_user_defined_type): Handle a single level of explicit
pointerness within template arguments.
(struct write_types_data): Add field "kind".
(filter_type_name): Handle "*" character.
(write_user_func_for_structure_ptr): Require a write_types_data
rather than just a prefix string, so that we can look up the kind
of the wtd and use it as an index into wrote_user_func_for_ptr,
ensuring that such functions are written at most once. Support
subclasses by invoking the marking function of the ultimate base
class.
(write_user_func_for_structure_body): Require a write_types_data
rather than just a prefix string, so that we can pass this to
write_user_func_for_structure_ptr.
(write_func_for_structure): Likewise.
(ggc_wtd): Add initializer of new "kind" field.
(pch_wtd): Likewise.
* gengtype.h (enum write_types_kinds): New.
(struct type): Add field wrote_user_func_for_ptr to the "s"
union member.
From-SVN: r210379
Richard Sandiford [Tue, 13 May 2014 13:51:32 +0000 (13:51 +0000)]
fold-const.c (optimize_bit_field_compare): Use wi:: operations instead of const_binop.
gcc/
* fold-const.c (optimize_bit_field_compare): Use wi:: operations
instead of const_binop.
(fold_binary_loc): Likewise.
From-SVN: r210378
Richard Sandiford [Tue, 13 May 2014 13:51:20 +0000 (13:51 +0000)]
tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index calculation to match get_ref_base_and_extent.
gcc/
* tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
calculation to match get_ref_base_and_extent.
From-SVN: r210377
Catherine Moore [Tue, 13 May 2014 13:36:56 +0000 (09:36 -0400)]
configure.ac: Fix assembly for explicit JALR relocation check.
2014-05-13 Catherine Moore <clm@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* configure.ac: Fix assembly for explicit JALR relocation check.
* configure: Regenerate.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r210375
Nathan Sidwell [Tue, 13 May 2014 13:35:20 +0000 (13:35 +0000)]
loongson-simd.c: Disable micromips too.
2014-05-13 Nathan Sidwell <nathan@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* gcc.target/mips/loongson-simd.c: Disable micromips too.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r210374
Kyrylo Tkachov [Tue, 13 May 2014 13:02:33 +0000 (13:02 +0000)]
[ARM] Remove builtins for vzup, vuzp, vtrn and cleanup.
* config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
(arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
Remove associated type declarations and initialisations.
(arm_expand_neon_builtin): Likewise.
(neon_emit_pair_result_insn): Delete.
* config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
* config/arm/neon.md (neon_vtrn<mode>): Delete.
(neon_vzip<mode>): Likewise.
(neon_vuzp<mode>): Likewise.
From-SVN: r210369
Catherine Moore [Tue, 13 May 2014 12:51:39 +0000 (12:51 +0000)]
near-far-1.c: Adjust expected output to allow the JALS instruction.
2014-05-13 Catherine Moore <clm@cm00re.com>
* gcc.target/mips/near-far-1.c: Adjust expected output
to allow the JALS instruction.
* gcc.target/mips/near-far-2.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
From-SVN: r210368
Jonathan Wakely [Tue, 13 May 2014 11:18:01 +0000 (12:18 +0100)]
re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
* include/std/tuple (get, __tuple_compare): Qualify more calls to
prevent ADL. Cast comparison results to bool.
* testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
* testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
From-SVN: r210366
Richard Biener [Tue, 13 May 2014 11:04:44 +0000 (11:04 +0000)]
re PR ipa/60973 (Invalid propagation of a tail call in devirt pass)
2014-05-13 Richard Biener <rguenther@suse.de>
PR ipa/60973
* tree-inline.c (remap_gimple_stmt): Clear tail call flag,
it needs revisiting whether the call still may be tail-called.
From-SVN: r210364
Richard Sandiford [Tue, 13 May 2014 10:39:16 +0000 (10:39 +0000)]
rtl.def (SYMBOL_REF): Remove middle "0" field.
gcc/
* rtl.def (SYMBOL_REF): Remove middle "0" field.
* rtl.h (block_symbol): Reduce number of fields to 2.
(rtx_def): Add u2.symbol_ref_flags.
(SYMBOL_REF_FLAGS): Use it.
(SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
(SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
* gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
Lower index of SYMBOL_REF_DATA.
* print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
Print SYMBOL_REF_FLAGS at the same time.
* genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
From-SVN: r210363
Richard Sandiford [Tue, 13 May 2014 10:39:08 +0000 (10:39 +0000)]
rtl.def (VAR_LOCATION): Remove "i" field.
gcc/
* rtl.def (VAR_LOCATION): Remove "i" field.
* rtl.h (rtx_def): Add u2.var_location_status.
(PAT_VAR_LOCATION_STATUS): Use it.
(gen_rtx_VAR_LOCATION): Declare.
* gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
* emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
* var-tracking.c (emit_note_insn_var_location): Remove casts.
From-SVN: r210362
Richard Sandiford [Tue, 13 May 2014 10:38:57 +0000 (10:38 +0000)]
rtl.def (scratch): Fix outdated comment and remove "0" field.
gcc/
* rtl.def (scratch): Fix outdated comment and remove "0" field.
* gengtype.c (adjust_field_rtx_def): Update accordingly.
From-SVN: r210361
Richard Sandiford [Tue, 13 May 2014 10:38:50 +0000 (10:38 +0000)]
gcc/
* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
(BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
* rtl.h (rtx_def): Add insn_uid to u2 field.
(RTX_FLAG_CHECK8): Delete in favor of...
(RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
(INSN_DELETED_P): Update accordingly.
(INSN_UID): Use u2.insn_uid.
(INSN_CHAIN_CODE_P): Define.
(PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
(INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
(NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
(NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
(NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
indices accordingly.
* print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
Update indices for insn-chain rtxes.
* gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
(adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
* emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
* caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
* combine.c (try_combine): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
From-SVN: r210360
Richard Sandiford [Tue, 13 May 2014 10:38:38 +0000 (10:38 +0000)]
rtl.def (REG): Remove middle field.
gcc/
* rtl.def (REG): Remove middle field.
* rtl.h (rtx_def): Add orignal_regno to u2.
(ORIGINAL_REGNO): Use it instead of field 1.
(REG_ATTRS): Lower field index accordingly.
* gengtype.c (adjust_field_rtx_def): Remove handling of
ORIGINAL_REGNO. Move REG_ATTRS index down.
* print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
code that prints the REGNO.
From-SVN: r210359
Richard Sandiford [Tue, 13 May 2014 10:38:27 +0000 (10:38 +0000)]
print-rtl.c (print_rtx): Guard whole '0' block with ifndef GENERATOR_FILE.
gcc/
* print-rtl.c (print_rtx): Guard whole '0' block with ifndef
GENERATOR_FILE.
From-SVN: r210358
Richard Sandiford [Tue, 13 May 2014 10:38:17 +0000 (10:38 +0000)]
rtl.h (rtx_def): Mark u2 as GTY ((skip)).
gcc/
* rtl.h (rtx_def): Mark u2 as GTY ((skip)).
From-SVN: r210357
Bin Cheng [Tue, 13 May 2014 10:09:54 +0000 (10:09 +0000)]
tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
* tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
(alloc_iv): Lower base expressions containing ADDR_EXPR.
* gcc.dg/tree-ssa/ivopts-lower_base.c: New test.
From-SVN: r210356
Ian Bolton [Tue, 13 May 2014 09:28:35 +0000 (09:28 +0000)]
Implement HARD_REGNO_CALLER_SAVE_MODE for AArch64
* config/aarch64/aarch64-protos.h
(aarch64_hard_regno_caller_save_mode): New prototype.
* config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
New function.
* config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
From-SVN: r210355
Christian Bruel [Tue, 13 May 2014 08:50:51 +0000 (10:50 +0200)]
target.def (mode_switching): New hook vector.
2014-05-13 Christian Bruel <christian.bruel@st.com>
* target.def (mode_switching): New hook vector.
(mode_emit, mode_needed, mode_after, mode_entry): New hooks.
(mode_exit, modepriority_to_mode): Likewise.
* mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
(default_priority_to_mode): Define.
* targhooks.h (default_priority_to_mode): Declare.
* target.h: Include tm.h and hard-reg-set.h.
* doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
(MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
* doc/tm.texi Regenerate.
* config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
* config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
(sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
* config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
* config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
(ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
* config/i386/i386.c (ix86_mode_needed, ix86_mode_after, ix86_mode_exit,
(ix86_mode_entry, ix86_mode_priority, ix86_emit_mode_set): Hookify.
* config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
Delete
(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
* config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
(MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
* config/sh/sh.c (sh4_emit_mode_set, sh4_mode_needed): Hookify.
(sh4_mode_after, sh4_mode_entry, sh4_mode_exit): Likewise.
* config/epiphany/epiphany-protos.h (epiphany_mode_needed)
(emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
(epiphany_mode_priority_to_mode): Remove declaration.
* config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
(epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
(epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
Likewise.
(epiphany_mode_priority_to_mode): Change priority type. Hookify.
(epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
(epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
From-SVN: r210354
Jakub Jelinek [Tue, 13 May 2014 08:28:53 +0000 (10:28 +0200)]
re PR target/61060 (ICE: in int_mode_for_mode, at stor-layout.c:400 with -free-ter)
PR target/61060
* config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
is const0_rtx, return immediately. Don't test count == 0 when
it is always true.
* gcc.dg/pr61060.c: New test.
From-SVN: r210352
Zhenqiang Chen [Tue, 13 May 2014 07:05:46 +0000 (07:05 +0000)]
Makefile.in: add shrink-wrap.o.
2014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* Makefile.in: add shrink-wrap.o.
* config/i386/i386.c: include "shrink-wrap.h"
* function.c: Likewise.
(requires_stack_frame_p, next_block_for_reg,
move_insn_for_shrink_wrap, prepare_shrink_wrap,
dup_block_and_redirect): Move to shrink-wrap.c
(thread_prologue_and_epilogue_insns): Extract three code segments
as functions in shrink-wrap.c
* function.h: Move #ifdef HAVE_simple_return ... #endif block to
shrink-wrap.h
* shrink-wrap.c: New file.
* shrink-wrap.h: New file.
From-SVN: r210351
Jason Merrill [Tue, 13 May 2014 03:21:18 +0000 (23:21 -0400)]
call.c (maybe_print_user_conv_context): New.
* call.c (maybe_print_user_conv_context): New.
(convert_like_real): Use it. Print call context for bad
user-defined conversion.
(build_over_call): Print call context for bad 'this' conversion.
From-SVN: r210350
GCC Administrator [Tue, 13 May 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210349
David Wohlferd [Mon, 12 May 2014 22:37:23 +0000 (22:37 +0000)]
extend.texi: Reflect current numbers of pragmas.
* doc/extend.texi: Reflect current numbers of pragmas. Remove
reference to Solaris.
From-SVN: r210343
DJ Delorie [Mon, 12 May 2014 22:12:31 +0000 (18:12 -0400)]
sibcall-3.c: MSP430 doesn't have sibcall.
* gcc.dg/sibcall-3.c: MSP430 doesn't have sibcall.
* gcc.dg/sibcall-4.c: Likewise.
From-SVN: r210341
Mike Stump [Mon, 12 May 2014 21:22:20 +0000 (21:22 +0000)]
re PR other/31778 (genattrtab.c doesn't record filename)
PR other/31778
* genattrtab.c (filename): Add.
(convert_set_attr_alternative): Improve error message.
(check_defs): Restore read_md_filename for error messages.
(gen_insn): Save filename.
From-SVN: r210340
Dimitris Papavasiliou [Mon, 12 May 2014 20:55:54 +0000 (20:55 +0000)]
invoke.texi: Document new switches -Wno-shadow-ivar, -fno-local-ivars and -fivar-visibility.
2014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
* doc/invoke.texi: Document new switches -Wno-shadow-ivar,
-fno-local-ivars and -fivar-visibility.
* c-family/c.opt: Make -Wshadow also implicitly enable
-Wshadow-ivar.
testsuite:
* objc.dg/shadow-1.m: New test.
* objc.dg/shadow-2.m: New test.
* objc.dg/ivar-scope-1.m: New test.
* objc.dg/ivar-scope-2.m: New test.
* objc.dg/ivar-scope-3.m: New test.
* objc.dg/ivar-scope-4.m: New test.
* objc.dg/ivar-visibility-1.m: New test.
* objc.dg/ivar-visibility-2.m: New test.
* objc.dg/ivar-visibility-3.m: New test.
* objc.dg/ivar-visibility-4.m: New test.
Now, actuatally add the files....
From-SVN: r210339
Janne Blomqvist [Mon, 12 May 2014 19:23:11 +0000 (22:23 +0300)]
Fix stack overflow crash in getcwd intrinsic.
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61035
* intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
stack allocation, avoid extra copying in the common case.
From-SVN: r210335
Janne Blomqvist [Mon, 12 May 2014 19:20:50 +0000 (22:20 +0300)]
Use -std=gnu11 instead of -std=gnu99 for libgfortran C code.
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac (AM_CFLAGS): Use -std=gnu11.
(CFLAGS): Likewise.
* configure: Regenerated.
From-SVN: r210334
Dimitris Papavasiliou [Mon, 12 May 2014 19:12:27 +0000 (19:12 +0000)]
invoke.texi: Document new switches -Wno-shadow-ivar, -fno-local-ivars and -fivar-visibility.
2014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
* doc/invoke.texi: Document new switches -Wno-shadow-ivar,
-fno-local-ivars and -fivar-visibility.
* c-family/c.opt: Make -Wshadow also implicitly enable
-Wshadow-ivar.
testsuite:
* objc.dg/shadow-1.m: New test.
* objc.dg/shadow-2.m: New test.
* objc.dg/ivar-scope-1.m: New test.
* objc.dg/ivar-scope-2.m: New test.
* objc.dg/ivar-scope-3.m: New test.
* objc.dg/ivar-scope-4.m: New test.
* objc.dg/ivar-visibility-1.m: New test.
* objc.dg/ivar-visibility-2.m: New test.
* objc.dg/ivar-visibility-3.m: New test.
* objc.dg/ivar-visibility-4.m: New test.
From-SVN: r210333
Jason Merrill [Mon, 12 May 2014 19:07:55 +0000 (15:07 -0400)]
call.c (convert_like_real): Use inform for identifying the declaration point.
* call.c (convert_like_real): Use inform for identifying the
declaration point.
From-SVN: r210332
Tobias Burnus [Mon, 12 May 2014 19:00:08 +0000 (21:00 +0200)]
re PR fortran/60127 (ICE with OpenMP and DO CONCURRENT)
2014-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/60127
* openmp.c (resolve_omp_do): Reject do concurrent loops.
2014-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/60127
* gfortran.dg/gomp/omp_do_concurrent.f90: New.
From-SVN: r210331
David Wohlferd [Mon, 12 May 2014 16:22:15 +0000 (16:22 +0000)]
tm.texi: Remove reference to deleted macro.
2014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
* doc/tm.texi: Remove reference to deleted macro.
* doc/tm.texi.in: Likewise.
From-SVN: r210330
Thomas Koenig [Mon, 12 May 2014 16:17:09 +0000 (16:17 +0000)]
re PR fortran/60834 ([OOP] ICE with ASSOCIATE construct (gimplify_var_or_parm_decl, at gimplify.c:1721))
2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60834
* frontend-passes.c (in_assoc_list): New variable.
(optimize_namespace): Initialize in_assoc_list
(combine_array_constructor): Don't try to combine
assoc lists.
(gfc_code_walker): Keep track of in_assoc_list.
2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60834
* gfortran.dg/associate_16.f90: New test.
From-SVN: r210329
Paolo Carlini [Mon, 12 May 2014 15:33:35 +0000 (15:33 +0000)]
cvt.c (cp_convert_to_pointer): Don't call error_at if complain & tf_error is false.
2014-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* cvt.c (cp_convert_to_pointer): Don't call error_at if
complain & tf_error is false.
* decl.c (make_unbound_class_template): Prefer inform for
"declared here"-type message.
From-SVN: r210326
Senthil Kumar Selvaraj [Mon, 12 May 2014 15:33:00 +0000 (15:33 +0000)]
re PR target/60991 ([avr] Stack corruption when using 24-bit integers __int24 or __memx pointers in large stack frame)
gcc/ChangeLog
PR target/60991
* config/avr/avr.c (avr_out_store_psi): Use correct constant
to restore Y.
gcc/testsuite/ChangeLog
PR target/60991
* gcc.target/avr/pr60991.c: New testcase.
From-SVN: r210325
Paolo Carlini [Mon, 12 May 2014 09:17:46 +0000 (09:17 +0000)]
re PR c++/60054 ([c++1y] ICE with auto* cast)
2014-05-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60054
* g++.dg/cpp1y/pr60054.C: New.
From-SVN: r210323
Georg-Johann Lay [Mon, 12 May 2014 09:02:36 +0000 (09:02 +0000)]
arm.h (License): Add GCC Runtime Library Exception.
gcc/
* config/arm/arm.h (License): Add GCC Runtime Library Exception.
* config/arm/aout.h (License): Same.
* config/arm/bpabi.h (License): Same.
* config/arm/elf.h (License): Same.
* config/arm/linux-elf.h (License): Same.
* config/arm/linux-gas.h (License): Same.
* config/arm/netbsd-elf.h (License): Same.
* config/arm/uclinux-eabi.h (License): Same.
* config/arm/uclinux-elf.h (License): Same.
* config/arm/vxworks.h (License): Same.
libgcc/
* config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception.
From-SVN: r210322
Paolo Carlini [Mon, 12 May 2014 08:42:41 +0000 (08:42 +0000)]
re PR c++/51199 ([C++11][DR 547] gcc forms impossible types derived from function types with cv-qualifier-seq)
2014-05-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51199
* g++.dg/template/pr51199.C: New.
From-SVN: r210321
GCC Administrator [Mon, 12 May 2014 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210319
Hans-Peter Nilsson [Sun, 11 May 2014 20:48:31 +0000 (20:48 +0000)]
* gcc.c-torture/execute/
20101011-1.c [__MMIX__] (DO_TEST): Define as 0.
From-SVN: r210315
Jakub Jelinek [Sun, 11 May 2014 20:26:36 +0000 (22:26 +0200)]
tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
* tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
* tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
number of operands to 3.
(walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
* gimplify.c (gimplify_scan_omp_clauses): Handle
OMP_CLAUSE_LINEAR_STMT.
* omp-low.c (lower_rec_input_clauses): Fix typo.
(maybe_add_implicit_barrier_cancel, lower_omp_1): Add
cast between Fortran boolean_type_node and C _Bool if
needed.
gcc/fortran/
* gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
ST_OMP_DECLARE_SIMD.
(gfc_omp_namelist): New typedef.
(gfc_get_omp_namelist): Define.
(OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
(gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
(gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
simdlen_expr fields.
(gfc_omp_declare_simd): New typedef.
(gfc_get_omp_declare_simd): Define.
(gfc_namespace): Add omp_declare_simd field.
(gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
EXEC_OMP_PARALLEL_DO_SIMD.
(gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
and GFC_OMP_ATOMIC_SWAP.
(gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
(gfc_free_omp_namelist, gfc_free_omp_declare_simd,
gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
prototypes.
* trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
* symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
* openmp.c (gfc_free_omp_clauses): Free safelen_expr and
simdlen_expr. Use gfc_free_omp_namelist instead of
gfc_free_namelist.
(gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
functions.
(gfc_match_omp_variable_list): Add end_colon, headp and
allow_sections arguments. Handle parsing of array sections.
Use *omp_namelist* instead of *namelist* data structure and
functions/macros. Allow termination at : character.
(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
(gfc_match_omp_clauses): Change first and needs_space variables
into arguments with default values. Parse inbranch, notinbranch,
proc_bind, safelen, simdlen, uniform, linear, aligned and
depend clauses.
(OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
(OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
(OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
(gfc_match_omp_do_simd): New function.
(gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
data structure and functions/macros.
(gfc_match_omp_simd, gfc_match_omp_declare_simd,
gfc_match_omp_parallel_do_simd): New functions.
(gfc_match_omp_atomic): Handle seq_cst clause. Handle atomic swap.
(gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
functions.
(resolve_omp_clauses): Add where, omp_clauses and ns arguments.
Use *omp_namelist* instead of *namelist* data structure and
functions/macros. Resolve uniform, aligned, linear, depend,
safelen and simdlen clauses.
(resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
addition, recognize atomic swap.
(gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
of gfc_namelist. Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
EXEC_OMP_PARALLEL_DO.
(gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
data structure and functions/macros.
(resolve_omp_do): Likewise. Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD.
(gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL. Adjust
resolve_omp_clauses caller.
(gfc_resolve_omp_declare_simd): New function.
* parse.c (decode_omp_directive): Parse cancellation point, cancel,
declare simd, end do simd, end simd, end parallel do simd,
end taskgroup, parallel do simd, simd and taskgroup directives.
(case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
(case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
(case_decl): Add ST_OMP_DECLARE_SIMD.
(gfc_ascii_statement): Handle ST_OMP_CANCEL,
ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
ST_OMP_DECLARE_SIMD.
(parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
ST_OMP_PARALLEL_DO_SIMD.
(parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
(parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
ST_OMP_PARALLEL_DO_SIMD.
(parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
* trans-decl.c (gfc_get_extern_function_decl,
gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
needed.
* frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD. Walk
safelen_expr and simdlen_expr. Walk expressions in gfc_omp_namelist
of depend, aligned and linear clauses.
* match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
and EXEC_OMP_PARALLEL_DO_SIMD.
(gfc_free_omp_namelist): New function.
* dump-parse-tree.c (show_namelist): Removed.
(show_omp_namelist): New function.
(show_omp_node): Handle OpenMP 4.0 additions.
(show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
EXEC_OMP_TASKGROUP.
* match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
gfc_match_omp_taskgroup): New prototypes.
* trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
argument, handle it. Allow current_function_decl to be NULL.
(gfc_trans_omp_variable_list): Add declare_simd argument, pass
it through to gfc_trans_omp_variable and disregard whether
sym is referenced if declare_simd is true. Work on gfc_omp_namelist
instead of gfc_namelist.
(gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
gfc_namelist. Adjust gfc_trans_omp_variable caller.
(gfc_trans_omp_clauses): Add declare_simd argument, pass it through
to gfc_trans_omp_variable{,_list} callers. Work on gfc_omp_namelist
instead of gfc_namelist. Handle inbranch, notinbranch, safelen,
simdlen, depend, uniform, linear, proc_bind and aligned clauses.
Handle cancel kind.
(gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
adjust for GFC_OMP_ATOMIC_* changes.
(gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
functions.
(gfc_trans_omp_do): Add op argument, handle simd translation into
generic.
(GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
GFC_OMP_MASK_PARALLEL): New.
(gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
(gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
(gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
functions.
(gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
Adjust gfc_trans_omp_do caller.
(gfc_trans_omp_declare_simd): New function.
* st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
gfc_free_namelist.
* module.c (omp_declare_simd_clauses): New variable.
(mio_omp_declare_simd): New function.
(mio_symbol): Call it.
* trans.c (trans_code): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
* resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
(resolve_code): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
(resolve_types): Call gfc_resolve_omp_declare_simd.
gcc/testsuite/
* gfortran.dg/gomp/affinity-1.f90: New test.
libgomp/
* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
* testsuite/libgomp.fortran/depend-1.f90: New test.
* testsuite/libgomp.fortran/depend-2.f90: New test.
* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
* testsuite/libgomp.fortran/simd1.f90: New test.
* testsuite/libgomp.fortran/simd2.f90: New test.
* testsuite/libgomp.fortran/simd3.f90: New test.
* testsuite/libgomp.fortran/simd4.f90: New test.
* testsuite/libgomp.fortran/taskgroup1.f90: New test.
From-SVN: r210313
Richard Sandiford [Sun, 11 May 2014 20:21:55 +0000 (20:21 +0000)]
re PR c/61136 (ice in tree_nop_conversion)
gcc/
PR tree-optimization/61136
* wide-int.h (multiple_of_p): Define a version that doesn't return
the quotient.
* fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
integer_zerop/const_binop pair.
(multiple_of_p): Likewise, converting both operands to widest_int
precision.
gcc/testsuite/
* gcc.dg/torture/pr61136.c: New test.
From-SVN: r210312
Tobias Burnus [Sun, 11 May 2014 18:25:55 +0000 (20:25 +0200)]
trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument to int.
2014-05-11 Tobias Burnus <burnus@net-b.de>
* trans-intrinsic.c (gfc_build_builtin_function_decls):
Change type of second argument to int.
2014-05-11 Tobias Burnus <burnus@net-b.de>
* caf/libcaf.h (_gfortran_caf_num_images): Change type of
second argument to int.
* caf/mpi.c (_gfortran_caf_num_images): Ditto.
* caf/single.c (_gfortran_caf_num_images): Ditto.
From-SVN: r210311
Paolo Carlini [Sun, 11 May 2014 10:23:34 +0000 (10:23 +0000)]
re PR c++/59705 (possible compiler bug regarding SFINAE (program compiles fine))
2014-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59705
* g++.dg/cpp0x/sfinae51.C: New.
PR c++/58353
* g++.dg/cpp0x/variadic157.C: New.
From-SVN: r210310
GCC Administrator [Sun, 11 May 2014 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210305
Oleg Endo [Sat, 10 May 2014 20:19:06 +0000 (20:19 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
gcc/testsuite/
PR target/51244
* gcc.target/sh/pr51244-14.c: Relax criteria for passing the test.
From-SVN: r210301
Marek Polacek [Sat, 10 May 2014 20:03:57 +0000 (20:03 +0000)]
c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to maybe_warn_string_init.
* c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
maybe_warn_string_init.
(c_parser_postfix_expression_after_paren_type): Pass type_loc to
maybe_warn_string_init.
* c-tree.h (maybe_warn_string_init): Update declaration.
* c-typeck.c (maybe_warn_string_init): Add location parameter.
Call pedwarn_init with loc instead of with input_location.
(digest_init): Pass init_loc to maybe_warn_string_init.
(pop_init_level): Call pedwarn_init with loc instead of with
input_location.
(set_init_index): Likewise.
(process_init_element): Likewise.
* gcc.dg/pedwarn-init.c: New test.
* gcc.dg/init-string-1.c: Adjust dg-error.
From-SVN: r210300
Hans-Peter Nilsson [Sat, 10 May 2014 11:58:57 +0000 (11:58 +0000)]
* lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add mmix-*-*
to the list.
From-SVN: r210299
GCC Administrator [Sat, 10 May 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210298
Momchil Velikov [Fri, 9 May 2014 20:07:45 +0000 (20:07 +0000)]
re PR c++/60463 (Lambda function can call a non-const member function with const this)
PR c++/60463
PR c++/60755
* lambda.c (lambda_expr_this_capture): Add new parameter
add_capture_p controlling whether the functions will try to
capture 'this' via the default capture.
(maybe_resolve_dummy): Likewise.
* cp-tree.h: Adjust prototypes.
* call.c, semantics.c: Change callers of these functions.
* call.c (build_new_method_call_1): Use the actual 'this' that
would be potentially captured for the overload resolution, instead
of the dummy object.
From-SVN: r210292
Jonathan Wakely [Fri, 9 May 2014 19:39:20 +0000 (20:39 +0100)]
Fix typo in ChangeLog-2013
From-SVN: r210291
Jonathan Wakely [Fri, 9 May 2014 19:39:14 +0000 (20:39 +0100)]
gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
(GLIBCXX_3.4.21): Export base object constructor for regex_error.
* acinclude.m4 (libtool_VERSION): Bump.
* configure: Regenerate.
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
* testsuite/28_regex/regex_error/base.cc: New.
From-SVN: r210290
Paolo Carlini [Fri, 9 May 2014 19:30:03 +0000 (19:30 +0000)]
pt.c (convert_nontype_argument_function): Add tsubst_flags_t parameter.
2014-05-09 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (convert_nontype_argument_function): Add tsubst_flags_t
parameter.
(convert_nontype_argument): Adjust calls.
(coerce_template_parameter_pack): Add missing complain & tf_error
check.
From-SVN: r210289
Teresa Johnson [Fri, 9 May 2014 18:31:57 +0000 (18:31 +0000)]
cgraphunit.c (analyze_functions): Use correct dump file.
2014-05-09 Teresa Johnson <tejohnson@google.com>
* cgraphunit.c (analyze_functions): Use correct dump file.
From-SVN: r210286
Jason Merrill [Fri, 9 May 2014 18:16:18 +0000 (14:16 -0400)]
DR 587 PR c++/51317
DR 587
PR c++/51317
* call.c (build_conditional_expr_1, conditional_conversion): Handle
non-class lvalues and xvalues that differ only in cv-qualifiers.
From-SVN: r210285
Jason Merrill [Fri, 9 May 2014 18:16:11 +0000 (14:16 -0400)]
DR 5 PR c++/60019
DR 5
PR c++/60019
* call.c (build_user_type_conversion_1): The copy-init temporary
is cv-unqualified.
From-SVN: r210284
Jason Merrill [Fri, 9 May 2014 18:16:05 +0000 (14:16 -0400)]
re PR c++/58714 (Bogus overload resolution for the assignment operator in assignment to a conditional)
PR c++/58714
* tree.c (stabilize_expr): A stabilized prvalue is an xvalue.
From-SVN: r210283
Jason Merrill [Fri, 9 May 2014 18:15:57 +0000 (14:15 -0400)]
re PR c++/32019 (Conditional operator ?: and ambiguous convertions)
PR c++/32019
* call.c (build_conditional_expr_1): Improve ambiguity diagnostic.
PR c++/54348
* call.c (build_conditional_expr_1): If overload resolution finds
no match, just say "different types".
From-SVN: r210282
Jason Merrill [Fri, 9 May 2014 18:15:46 +0000 (14:15 -0400)]
re PR c++/22434 (ICE in simplify_{,gen_}subreg)
PR c++/22434
* call.c (build_conditional_expr_1): Don't try to pool cv-quals
if we didn't find a conversion.
Don't accept a bad conversion too early.
From-SVN: r210281
Marek Polacek [Fri, 9 May 2014 17:50:25 +0000 (17:50 +0000)]
re PR c/61096 (error_init lacks a location)
PR c/61096
* c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
(c_parser_initelt): Pass location to set_init_label. Pass array index
location to set_init_index.
* c-tree.h (push_init_level): Update declaration.
(pop_init_level): Likewise.
(set_init_index): Likewise.
(set_init_label): Likewise.
* c-typeck.c (error_init): Add location parameter. Call error_at
instead of error.
(digest_init): Pass init_loc to error_init.
(really_start_incremental_init):
(push_init_level): Add location parameter. Pass loc to pop_init_level
and error_init.
(pop_init_level): Likewise.
(set_designator): Add location parameter. Pass loc to pop_init_level,
push_init_level, and error_init.
(set_init_index): Add location parameter. Pass loc to error_init and
set_designator.
(set_init_label): Likewise.
(output_init_element): Pass loc to error_init.
(process_init_element): Pass loc to error_init, pop_init_level,
pedwarn_init, and push_init_level.
* gcc.dg/pr61096-1.c: New test.
* gcc.dg/pr61096-2.c: New test.
From-SVN: r210280
Mike Stump [Fri, 9 May 2014 14:06:15 +0000 (14:06 +0000)]
re PR fortran/61109 (ICE in fortran/trans-array.c on dimension 0 arrays)
PR fortran/61109
* trans-array.c (gfc_conv_array_initializer): Fix wide-int
conversion bug.
From-SVN: r210277
Kenneth Zadeck [Fri, 9 May 2014 12:28:05 +0000 (12:28 +0000)]
fixed date of changelog entry
From-SVN: r210276
Florian Weimer [Fri, 9 May 2014 12:23:46 +0000 (14:23 +0200)]
-fstack-protector-strong: Instrumentation for return slots
This patch fixes a loophole in the -fstack-protector-strong protection.
If a function call uses a return slot, the caller needs stack protector
instrumentation because the return slot is addressable.
gcc/
2014-05-09 Florian Weimer <fweimer@redhat.com>
* cfgexpand.c (stack_protect_decl_p): New function, extracted from
expand_used_vars.
(stack_protect_return_slot_p): New function.
(expand_used_vars): Call stack_protect_decl_p and
stack_protect_return_slot_p for -fstack-protector-strong.
gcc/testsuite/
2014-05-09 Florian Weimer <fweimer@redhat.com>
* gcc.dg/fstack-protector-strong.c: Add coverage for return slots.
* g++.dg/fstack-protector-strong.C: Likewise.
* gcc.target/i386/ssp-strong-reg.c: New file.
From-SVN: r210275
Kenneth Zadeck [Fri, 9 May 2014 12:21:23 +0000 (12:21 +0000)]
re PR middle-end/61111 (Infinite recursion between fold_build2_stat_loc and fold_binary_loc)
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/61111
* fold-const.c (fold_binary_loc): Changed width of mask.
From-SVN: r210274
David Wohlferd [Fri, 9 May 2014 12:15:41 +0000 (12:15 +0000)]
014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com> Andrew Haley...
014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
Andrew Haley <aph@redhat.com>
Richard Sandiford <rdsandiford@googlemail.com>
* doc/extend.texi: Rewrite inline asm page / re-org asm-related
pages.
From-SVN: r210273
Georg-Johann Lay [Fri, 9 May 2014 12:11:30 +0000 (12:11 +0000)]
avr-fixed.md (round<mode>3): Use -1U instead of -1 in unsigned int initializers for regno_in, regno_out.
* config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
unsigned int initializers for regno_in, regno_out.
From-SVN: r210272
Georg-Johann Lay [Fri, 9 May 2014 11:20:43 +0000 (11:20 +0000)]
re PR target/61055 ([avr] wrong test instruction after increment with -O1)
gcc/config/avr
PR target/61055
* config/avr/avr.md (cc): Add new attribute set_vzn.
(addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
Set cc insn attribute to set_vzn instead of set_zn for alternatives
with INC, DEC or NEG.
* config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
(avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
gcc/testsuite/
PR target/61055
* gcc.target/avr/torture/pr61055.c: New test.
From-SVN: r210267
Joey Ye [Fri, 9 May 2014 08:50:22 +0000 (08:50 +0000)]
files.c (find_file_in_dir): Always try to shorten for DOS non-system headers.
2014-05-09 Joey Ye <joey.ye@arm.com>
* files.c (find_file_in_dir): Always try to shorten for DOS
non-system headers.
* init.c (ENABLE_CANONICAL_SYSTEM_HEADERS): Default enabled for DOS.
From-SVN: r210264
Ramana Radhakrishnan [Fri, 9 May 2014 08:32:37 +0000 (08:32 +0000)]
Revert wide-int change.
2014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Revert:
2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* wide-int.cc (UTItype): Define.
(UDWtype): Define for appropriate W_TYPE_SIZE.
From-SVN: r210263
Marek Polacek [Fri, 9 May 2014 08:24:37 +0000 (08:24 +0000)]
re PR c/50459 (alignof doesn't work on plain old constant, works with expressions containing it)
PR c/50459
c-family/
* c-common.c (check_user_alignment): Return -1 if alignment is error
node.
(handle_aligned_attribute): Don't call default_conversion on
FUNCTION_DECLs.
(handle_vector_size_attribute): Likewise.
(handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
(handle_sentinel_attribute): Call default_conversion and allow even
integral types as an argument.
c/
* c-parser.c (c_parser_attributes): Parse the arguments as an
expression-list if the attribute takes identifier.
testsuite/
* c-c++-common/attributes-1.c: Move test line to a new test.
* c-c++-common/attributes-2.c: New test.
* c-c++-common/pr50459.c: New test.
* c-c++-common/pr59280.c: Add "undeclared" to dg-error.
* gcc.dg/nonnull-2.c: Likewise.
* gcc.dg/pr55570.c: Modify dg-error.
* gcc.dg/tm/wrap-2.c: Likewise.
From-SVN: r210262
Richard Biener [Fri, 9 May 2014 07:49:18 +0000 (07:49 +0000)]
Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
2014-05-09 Richard Biener <rguenther@suse.de>
* Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
* tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
(interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
(add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
ssa_propagate): Adjust.
From-SVN: r210261
Jan-Benedict Glaw [Fri, 9 May 2014 07:25:21 +0000 (07:25 +0000)]
config-list.mk (show): New target.
2014-05-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config-list.mk (show): New target.
From-SVN: r210260
Ian Lance Taylor [Fri, 9 May 2014 05:01:08 +0000 (05:01 +0000)]
mmap.c (backtrace_free): If freeing a large aligned block of memory, call munmap rather than holding onto it.
* mmap.c (backtrace_free): If freeing a large aligned block of
memory, call munmap rather than holding onto it.
(backtrace_vector_grow): When growing a vector, double the number
of pages requested. When releasing the old version of a grown
vector, pass the correct size to backtrace_free.
From-SVN: r210256
Jeff Law [Fri, 9 May 2014 04:54:00 +0000 (22:54 -0600)]
re PR tree-optimization/61009 (Incorrect jump threading in dom)
2014-05-08 Jeff Law <law@redhat.com>
PR tree-optimization/61009
* tree-ssa-threadedge.c (thread_through_normal_block): Return a
tri-state rather than a boolean. When a block is too big to
thread through, inform caller via negative return value.
(thread_across_edge): If a block was too big for normal threading,
then it's too big for a joiner too, so remove temporary equivalences
and return immediately.
PR tree-optimization/61009
* g++.dg/tree-ssa/pr61009.C: New test.
From-SVN: r210254