- 13 Nov, 2016 7 commits
-
-
PR target/78336 * config/rs6000/rs6000.c (rs6000_asm_weaken_decl): Protect ASM_OUTPUT_DEF. From-SVN: r242353
David Edelsohn committed -
2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/60952 * decl.c (match_procedure_in_type): Apply the FL_PROCEDURE attribute to the target procedure. 2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/60952 * gfortran.dg/typebound_proc_34.f90: New test. From-SVN: r242352
Janus Weil committed -
2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/66366 * resolve.c (resolve_component): Move check for C437 to ... * decl.c (build_struct): ... here. Fix indentation. 2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/66366 * gfortran.dg/class_57.f90: Changed error message. * gfortran.dg/class_60.f90: New test. From-SVN: r242351
Janus Weil committed -
* typeck.c (convert_arguments): Handle default arg followed by none. From-SVN: r242350
Jason Merrill committed -
* constexpr.c (potential_constant_expression_1): REALPART_EXPR and IMAGPART_EXPR can be lvalues. From-SVN: r242349
Jason Merrill committed -
PR c++/56840 * pt.c (check_specialization_namespace): Allow any enclosing namespace. (check_unqualified_spec_or_inst): New. (check_explicit_specialization): Call it. * parser.c (cp_parser_elaborated_type_specifier) (cp_parser_class_head): Call it. From-SVN: r242348
Jason Merrill committed -
From-SVN: r242345
GCC Administrator committed
-
- 12 Nov, 2016 9 commits
-
-
From-SVN: r242342
David Edelsohn committed -
From-SVN: r242341
Jonathan Wakely committed -
From-SVN: r242340
Jonathan Wakely committed -
From-SVN: r242338
Joseph Myers committed -
The code generating traceback tables mistakenly does an early return if !optional_tbtab, which causes it to miss the code generating the TOC section. This only matters if the TOC will be empty since otherwise the section is created elsewhere. This patch fixes it. PR target/77957 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't return early if !optional_tbtab. From-SVN: r242336
Segher Boessenkool committed -
2016-11-12 Janus Weil <janus@gcc.gnu.org> PR fortran/77501 * class.c (gfc_find_typebound_intrinsic_op): Remove an unnecessary assert and nullification. * decl.c (gfc_match_decl_type_spec): Use gfc_get_tbp_symtree, fix indentation. (gfc_match_generic): Remove an unnecessary assert. Use gfc_get_tbp_symtree to avoid ICE. 2016-11-12 Janus Weil <janus@gcc.gnu.org> PR fortran/77501 * gfortran.dg/typebound_generic_16.f90: New test. From-SVN: r242335
Janus Weil committed -
* include/std/future (future_error): Make existing constructor private and add constructor from future_errc. From-SVN: r242334
Jonathan Wakely committed -
* include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type. * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise. From-SVN: r242333
Jonathan Wakely committed -
From-SVN: r242331
GCC Administrator committed
-
- 11 Nov, 2016 14 commits
-
-
PR c++/71225 * g++.dg/cpp0x/pr71225.C: New test. From-SVN: r242328
Jakub Jelinek committed -
PR rtl-optimization/59461 * doc/rtl.texi (paradoxical subregs): Add missing word. * combine.c (reg_nonzero_bits_for_combine): Do not discard results in modes with precision larger than that of last_set_mode. * rtlanal.c (nonzero_bits1) <SUBREG>: If WORD_REGISTER_OPERATIONS is set and LOAD_EXTEND_OP is appropriate, propagate results from inner REGs to paradoxical SUBREGs. (num_sign_bit_copies1) <SUBREG>: Likewise. Check that the mode is not larger than a word before invoking LOAD_EXTEND_OP on it. From-SVN: r242326
Eric Botcazou committed -
From-SVN: r242324
Joseph Myers committed -
* config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark operand 0 as earlyclobber. (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives. From-SVN: r242318
Uros Bizjak committed -
2016-11-11 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78243 * config/rs6000/vsx.md (vsx_extract_<mode>_p9): Correct the element order for little endian ordering. * config/rs6000/altivec.md (reduc_plus_scal_<mode>): Use VECTOR_ELT_ORDER_BIG and not BYTES_BIG_ENDIAN to adjust element number. From-SVN: r242317
Michael Meissner committed -
The __cpu_indicator_init and __cpu_model symbols are not safe to use from shared libgcc_s.so from ifunc resolvers, so since gcc-6, only the definitions from static libgcc.a are used, however the symbols are kept in libgcc_s as well for backward compatibility (with appropriate symbol version). On targets without such backward compatibility concern add cpuinfo to the static library only (this avoids running the ctor, reduces libgcc_s size and elf abi concerns about the versioned symbols). libgcc/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * config.host (i[3456]86-*-musl*, x86_64-*-musl*): Use i386/t-cpuinfo-static instead of i386/t-cpuinfo. * config/i386/t-cpuinfo-static: New. From-SVN: r242268
Szabolcs Nagy committed -
PR target/78310 * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow when calculating operand 2. (rotate to rotatex zext splitter): Ditto. testsuite/ChangeLog: PR target/78310 * gcc.target/i386/pr78310.c: New test. From-SVN: r242076
Uros Bizjak committed -
* gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New function. (stmt_uses_name_in_undefined_way): New function, extracted from find_implicit_erroneous_behavior and extended for div/mod case. (stmt_uses_0_or_null_in_undefined_way): New function, extracted from find_explicit_erroneous_behavior and extended for div/mod case. (find_implicit_erroneous_behavior): Use new helper function. (find_explicit_erroneous_behavior): Use new helper function. * gcc.dg/tree-ssa/isolate-6.c: New test. * gcc.dg/tree-ssa/isolate-7.c: New test. From-SVN: r242075
Jeff Law committed -
gcc/testsuite PR testsuite/78292 * gcc.dg/vect/vect-cond-2.c: Only drop xfail for targets supporting vect_max_reduc. From-SVN: r242073
Bin Cheng committed -
From Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/33130 From-SVN: r242072
Ian Lance Taylor committed -
re PR c++/72774 (ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-lookup.c:4721)) PR c++/72774 * g++.dg/parse/pr72774.C: New test. From-SVN: r242070
Jakub Jelinek committed -
re PR tree-optimization/71575 ([graphite] internal compiler error: in copy_cond_phi_nodes, at graphite-isl-ast-to-gimple.c:2500) 2016-11-11 Richard Biener <rguenther@suse.de> PR tree-optimization/71575 * graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove bogus assert. * gcc.dg/graphite/pr71575-1.c: New testcase. * gcc.dg/graphite/pr71575-2.c: Likewise. From-SVN: r242069
Richard Biener committed -
2016-11-11 Richard Biener <rguenther@suse.de> PR middle-end/78295 * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn about uninitialized destination arg of BIT_INSERT_EXPR. * gcc.dg/uninit-pr78295.c: New testcase. From-SVN: r242068
Richard Biener committed -
From-SVN: r242065
GCC Administrator committed
-
- 10 Nov, 2016 10 commits
-
-
2016-11-10 Sandra Loosemore <sandra@codesourcery.com> PR c/37998 gcc/ * doc/invoke.texi (Code Gen Options) [-fno-common]: Use correct terminology. Expand to remove ambiguity. From-SVN: r242062
Sandra Loosemore committed -
Add a little shell script to auto-generate runtime.sigtable from the known signal names. Force the main package to always import the runtime package. Otherwise some runtime package global variables may never be initialized. Set the syscallsp and syscallpc fields of g when entering a syscall, so that the runtime package knows when a g is executing a syscall. Fix runtime.funcPC to avoid dead store elimination of the interface value when the function is inlined. Reviewed-on: https://go-review.googlesource.com/33025 From-SVN: r242060
Ian Lance Taylor committed -
When combine splits a three-insn combination into two instructions it can reuse i2dest for the temporary result of the first new instruction. However all information it has in reg_stat about that register will be stale. This results in the simplify_gen_binary calls in change_zero_ext using out-of-date information, which makes it think one of the ANDs generated there always results in 0, and it doesn't get better from there. This can also happen if a splitter in the MD uses nonzero_bits (for example). I tried to make the splitting code in combine save and restore the i2dest reg_stat info, but that causes one of the acats tests to fail. This whole reg_stat thing needs an overhaul, and/or we shouldn't reuse i2dest for unrelated purposes when splitting. This patch changes change_zero_ext to do the expected simplifications itself and not call simplify_gen_*. PR rtl-optimization/78232 * combine.c (try_combine): Add a big comment about why reusing i2dest is undesirable. (change_zero_ext): Do not call simplify_gen_binary, do the simplifications manually. From-SVN: r242059
Segher Boessenkool committed -
PR fortran/78277 * gcc/fortran/decl.c (gfc_match_data_decl): Gracefully handle bad anonymous structure declarations. PR fortran/78277 * gcc/testsuite/gfortran.dg/dec_structure_17.f90: New test. From-SVN: r242058
Fritz O. Reese committed -
gcc/fortran/ * decl.c (get_struct_decl, gfc_match_map, gfc_match_union): Fix whitespace. * interface.c (gfc_compare_union_types): Likewise. From-SVN: r242057
Fritz O. Reese committed -
* pt.c (tsubst_friend_function): Don't set DECL_INITIAL. (instantiate_decl): It's OK to defer a constexpr function. * cp-tree.h (DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION): Check DECL_LANG_SPECIFIC. * decl2.c (decl_defined_p): Use it. No longer static. * decl.c (redeclaration_error_message): Use decl_defined_p. * constexpr.c (cxx_eval_call_expression): Set input_location around call to instantiate_decl. From-SVN: r242056
Jason Merrill committed -
2016-11-10 François Dumont <fdumont@gcc.gnu.org> * src/c++11/debug.cc (format_word): Delete. (print_literal): New. Replace call to print_word for literals. From-SVN: r242055
François Dumont committed -
[gcc] 2016-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If ISA 3.0, enable HImode and QImode to go in vector registers by default if the -mvsx-small-integer option is enabled. (rs6000_secondary_reload_simple_move): Likewise. (rs6000_preferred_reload_class): Don't force integer constants to be loaded into vector registers that we can easily make into memory (or being created in the GPRs and moved over with direct move). * config/rs6000/vsx.md (UNSPEC_P9_MEMORY): Delete, no longer used. (vsx_extract_<mode>): Rework V4SImode, V8HImode, and V16QImode vector extraction on ISA 3.0 when the scalar integer can be allocated in vector registers. Generate the VEC_SELECT directy, and don't use UNSPEC's to avoid having the scalar type in a vector register. Make the expander target registers, and let the combiner fold in results storing to memory, if the machine supports stores. (vsx_extract_<mode>_di): Likewise. (vsx_extract_<mode>_p9): Likewise. (vsx_extract_<mode>_di_p9): Likewise. (vsx_extract_<mode>_store_p9): Likewise. (vsx_extract_si): Likewise. (vsx_extract_<mode>_p8): Likewise. (p9_lxsi<wd>zx): Delete, no longer used. (p9_stxsi<wd>x): Likewise. * config/rs6000/rs6000.md (INT_ISA3): New mode iterator for integers in vector registers for ISA 3.0. (QHI): Update comment. (zero_extendqi<mode>2): Add support for ISA 3.0 scalar load or vector extract instructions in sign/zero extend. (zero_extendhi<mode>): Likewise. (extendqi<mode>): Likewise. (extendhi<mode>2): Likewise. (HImode splitter for load/sign extend in vector register): Likewise. (float<QHI:mode><FP_ISA3:mode>2): Eliminate old method of optimizing floating point conversions to/from small data types and rewrite it to support QImode/HImode being allowed in vector registers on ISA 3.0. (float<QHI:mode><FP_ISA3:mode>2_internal): Likewise. (floatuns<QHI:mode><FP_ISA3:mode>2): Likewise. (floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise. (fix_trunc<SFDF:mode><QHI:mode>2): Likewise. (fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise. (fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise. (fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise. VSPLITISW on ISA 2.07. (movhi_internal): Combine movhi_internal and movqi_internal into one mov<mode>_internal with an iterator. Add support for QImode and HImode being allowed in vector registers. Make large number of attributes and constraints easier to read. (movqi_internal): Likewise. (mov<mode>_internal): Likewise. (movdi_internal64): Fix constraint to allow loading -16..15 with VSPLITISW on ISA 2.07. (integer XXSPLTIB splitter): Add support for QI, HI, and SImode as well as DImode. [gcc/testsuite] 2016-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vsx-qimode.c: New test for QImode, HImode being allowed in vector registers. * gcc.target/powerpc/vsx-qimode2.c: Likewise. * gcc.target/powerpc/vsx-qimode3.c: Likewise. * gcc.target/powerpc/vsx-himode.c: Likewise. * gcc.target/powerpc/vsx-himode2.c: Likewise. * gcc.target/powerpc/vsx-himode3.c: Likewise. * gcc.target/powerpc/p9-extract-1.c: Change MFVSRD to just MFVSR, to allow matching MFVSRD or MFVSRW. From-SVN: r242048
Michael Meissner committed -
PR rtl-optimization/78241 * loop-unroll.c (unroll_loop_runtime_iterations): Don't adjust 'niter', but emit initial peel copy if niter expr is not reliable. * gcc.dg/pr78241.c: New test. From-SVN: r242047
Pat Haugen committed -
If maybe_record_trace_start fails because the CFI is inconsistent on two paths into a block it currently just ICEs. This changes it to also dump the CFI on those two paths in the dump file; debugging it without that information is hopeless. * dwarf2cfi.c (dump_cfi_row): Add forward declaration. (maybe_record_trace_start): If the CFI is different on the new and old paths, print out both to the dump file before ICEing. From-SVN: r242046
Segher Boessenkool committed
-