aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-09-22interface.c (check_dtio_interface1): Introduce errors for alternate returns ↵Paul Thomas5-4/+209
and incorrect numbers of arguments. 2016-09-22 Paul Thomas <pault@gcc.gnu.org> * interface.c (check_dtio_interface1): Introduce errors for alternate returns and incorrect numbers of arguments. (gfc_find_specific_dtio_proc): Return cleanly if the derived type either doesn't exist or has no namespace. 2016-09-22 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/dtio_11.f90: Correct for changed error messages. * gfortran.dg/dtio_13.f90: New test. From-SVN: r240342
2016-09-22re PR fortran/66107 (ICE on missing parameter value for initialisation ↵Louis Krupp4-1/+29
(segfault)) 2016-09-21 Louis Krupp <louis.krupp@zoho.com> PR fortran/66107 * gfortran.dg/pr66107.f90: New test. 2016-09-21 Louis Krupp <louis.krupp@zoho.com> PR fortran/66107 * decl.c (add_init_expr_to_sym): Catch variable character length in parameter array. From-SVN: r240341
2016-09-22Daily bump.GCC Administrator1-1/+1
From-SVN: r240339
2016-09-21re PR target/77670 (PowerPC64 Spec 2006 fails on 453.povray using ↵Michael Meissner1-0/+11
-mcpu=power9 -mpower9-minmax) 2016-09-21 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/77670 * config/rs6000/predicates.md (invert_fpmask_comparison_operator): New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP instructions when you want to invert the test. * config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the correct order for XXSEL. (mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test for using XSCMP{EQ,GT,GE}DP. From-SVN: r240336
2016-09-21re PR target/77670 (PowerPC64 Spec 2006 fails on 453.povray using ↵Michael Meissner2-1/+44
-mcpu=power9 -mpower9-minmax) 2016-09-21 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/77670 * config/rs6000/predicates.md (invert_fpmask_comparison_operator): New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP instructions when you want to invert the test. * config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the correct order for XXSEL. (mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test for using XSCMP{EQ,GT,GE}DP. From-SVN: r240335
2016-09-21compiler, runtime: replace hashmap code with Go 1.7 hashmapIan Lance Taylor15-754/+1055
This change removes the gccgo-specific hashmap code and replaces it with the hashmap code from the Go 1.7 runtime. The Go 1.7 hashmap code is more efficient, does a better job on details like when to update a key, and provides some support against denial-of-service attacks. The compiler is changed to call the new hashmap functions instead of the old ones. The compiler now tracks which types are reflexive and which require updating when used as a map key, and records the information in map type descriptors. Map_index_expression is simplified. The special case for a map index on the right hand side of a tuple expression has been unnecessary for some time, and is removed. The support for specially marking a map index as an lvalue is removed, in favor of lowering an assignment to a map index into a function call. The long-obsolete support for a map index of a pointer to a map is removed. The __go_new_map_big function (known to the compiler as Runtime::MAKEMAPBIG) is no longer needed, as the new runtime.makemap function takes an int64 hint argument. The old map descriptor type and supporting expression is removed. The compiler was still supporting the long-obsolete syntax `m[k] = 0, false` to delete a value from a map. That is now removed, requiring a change to one of the gccgo-specific tests. The builtin len function applied to a map or channel p is now compiled as `p == nil ? 0 : *(*int)(p)`. The __go_chan_len function (known to the compiler as Runtime::CHAN_LEN) is removed. Support for a shared zero value for maps to large value types is introduced, along the lines of the gc compiler. The zero value is handled as a common variable. The hash function is changed to take a seed argument, changing the runtime hash functions and the compiler-generated hash functions. Unlike the gc compiler, both the hash and equal functions continue to take the type length. Types that can not be compared now store nil for the hash and equal functions, rather than pointing to functions that throw. Interface hash and comparison functions now check explicitly for nil. This matches the gc compiler and permits a simple implementation for ismapkey. The compiler is changed to permit marking struct and array types as incomparable, meaning that they have no hash or equal function. We use this for thunk types, removing the existing special code to avoid generating hash/equal functions for them. The C runtime code adds memclr, memequal, and memmove functions. The hashmap code uses go:linkname comments to make the functions visible, as otherwise the compiler would discard them. The hashmap code comments out the unused reference to the address of the first parameter in the race code, as otherwise the compiler thinks that the parameter escapes and copies it onto the heap. This is probably not needed when we enable escape analysis. Several runtime map tests that ere previously skipped for gccgo are now run. The Go runtime picks up type kind information and stubs. The type kind information causes the generated runtime header file to define some constants, including `empty`, and the C code is adjusted accordingly. A Go-callable version of runtime.throw, that takes a Go string, is added to be called from the hashmap code. Reviewed-on: https://go-review.googlesource.com/29447 * go.go-torture/execute/map-1.go: Replace old map deletion syntax with call to builtin delete function. From-SVN: r240334
2016-09-21Introduce class rtx_readerDavid Malcolm10-137/+318
Bundle up various global variables within gensupport.c into a class rtx_reader, with a view towards making it easier to run the code more than once in-process. gcc/ChangeLog: * genconstants.c (main): Introduce noop_reader and convert call to read_md_files to a method call. * genenums.c (main): Likewise. * genmddeps.c (main): Likewise. * genpreds.c (write_tm_constrs_h): Replace use of "in_fname" with rtx_reader_ptr->get_top_level_filename (). (write_tm_preds_h): Likewise. (write_insn_preds_c): Likewise. * gensupport.c (class gen_reader): New subclass of rtx_reader. (rtx_handle_directive): Convert to... (gen_reader::handle_unknown_directive): ...this. (init_rtx_reader_args_cb): Convert return type from bool to rtx_reader *. Create a gen_reader instance, using it for the call to read_md_files. Return it if no errors occur. (init_rtx_reader_args): Convert return type from bool to rtx_reader *. * gensupport.h (init_rtx_reader_args_cb): Likewise. (init_rtx_reader_args_cb): Likewise. * read-md.c (struct file_name_list): Move to class rtx_reader. (read_md_file): Delete in favor of rtx_reader::m_read_md_file. (read_md_filename): Delete in favor of rtx_reader::m_read_md_filename. (read_md_lineno): Delete in favor of rtx_reader::m_read_md_lineno. (in_fname): Delete in favor of rtx_reader::m_toplevel_fname. (base_dir): Delete in favor of rtx_reader::m_base_dir. (first_dir_md_include): Delete in favor of rtx_reader::m_first_dir_md_include. (last_dir_md_include_ptr): Delete in favor of rtx_reader::m_last_dir_md_include_ptr. (max_include_len): Delete. (rtx_reader_ptr): New. (fatal_with_file_and_line): Use get_filename and get_lineno accessors of rtx_reader_ptr. (require_char_ws): Likewise. (rtx_reader::read_char): New method, based on ::read_char. (rtx_reader::unread_char): New method, based on ::unread_char. (read_escape): Use get_filename and get_lineno accessors of rtx_reader_ptr. (read_braced_string): Use get_lineno accessor of rtx_reader_ptr. (read_string): Use get_filename and get_lineno accessors of rtx_reader_ptr. (rtx_reader::rtx_reader): New ctor. (rtx_reader::~rtx_reader): New dtor. (handle_include): Convert from a function to... (rtx_reader::handle_include): ...this method, converting handle_directive from a callback to a virtual function. (handle_file): Likewise, converting to... (rtx_reader::handle_file): ...this method. (handle_toplevel_file): Likewise, converting to... (rtx_reader::handle_toplevel_file): ...this method. (rtx_reader::get_current_location): New method. (parse_include): Convert from a function to... (rtx_reader::add_include_path): ...this method, dropping redundant update to unused max_include_len. (read_md_files): Convert from a function to... (rtx_reader::read_md_files): ...this method, converting handle_directive from a callback to a virtual function. (noop_reader::handle_unknown_directive): New method. * read-md.h (directive_handler_t): Delete this typedef. (in_fname): Delete. (read_md_file): Delete. (read_md_lineno): Delete. (read_md_filename): Delete. (class rtx_reader): New class. (rtx_reader_ptr): New decl. (class noop_reader): New subclass of rtx_reader. (read_char): Reimplement in terms of rtx_reader::read_char. (unread_char): Reimplement in terms of rtx_reader::unread_char. (read_md_files): Delete. * read-rtl.c (read_rtx_code): Update for deletion of globals read_md_filename and read_md_lineno. From-SVN: r240333
2016-09-21Add PR target/71395 marker to 71395 fixMichael Meissner1-0/+1
From-SVN: r240332
2016-09-21c-common.c (c_common_truthvalue_conversion): Inhibit Wint-in-bool-context ↵Bernd Edlinger2-2/+10
warning with from_macro_definition_at. 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-common.c (c_common_truthvalue_conversion): Inhibit Wint-in-bool-context warning with from_macro_definition_at. Mention the expression will always evaluate to true. From-SVN: r240331
2016-09-21Add from_macro_definition_at predicate for locations.Jason Merrill2-0/+9
gcc/ * input.h (from_macro_definition_at): New. libcpp/ * line-map.c (linemap_location_from_macro_definition_p): New. * line-map.h: Declare it. From-SVN: r240330
2016-09-21Core 903Jason Merrill3-0/+9
Core 903 * call.c (null_ptr_cst_p): Check char_type_p. From-SVN: r240329
2016-09-21Add _FloatN, _FloatNx tests for __builtin_fpclassify.Joseph Myers9-0/+157
This patch adds tests for _FloatN and _FloatNx arguments to the __builtin_fpclassify type-generic built-in function, omitted from the original tests for type-generic functions on these types. Tested for x86_64-pc-linux-gnu; all the supported new tests pass. * gcc.dg/torture/float128-tg-3.c, gcc.dg/torture/float128x-tg-3.c, gcc.dg/torture/float16-tg-3.c, gcc.dg/torture/float32-tg-3.c, gcc.dg/torture/float32x-tg-3.c, gcc.dg/torture/float64-tg-3.c, gcc.dg/torture/float64x-tg-3.c, gcc.dg/torture/floatn-tg-3.h: New tests. From-SVN: r240328
2016-09-21Fix JUMP_LABEL documentationSegher Boessenkool2-2/+6
* doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values. From-SVN: r240325
2016-09-21PR bootstrap/77676 - powerpc64 and powerpc64le stage2 bootstrap failMartin Sebor2-1/+7
* c.opt (fprintf-return-value): Temporarily initialize to zero to unblock bootstrap failures. From-SVN: r240321
2016-09-21dump-noaddr.x: Remove debug statements.Uros Bizjak2-5/+5
* gcc.c-torture/unsorted/dump-noaddr.x: Remove debug statements. From-SVN: r240318
2016-09-21re PR c++/77651 (c++ -Wno-aligned-new ICEs)Jakub Jelinek9-21/+61
PR c++/77651 c-family/ * c.opt (Waligned-new=): Add RejectNegative. (faligned-new=): Likewise. Spelling fix - change aligned_new_threshhold to aligned_new_threshold. * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold to aligned_new_threshold. cp/ * init.c (build_new_1): Don't suggest to use -faligned-new if aligned_new_threshold is non-zero. (type_has_new_extended_alignment): Change aligned_new_threshhold to aligned_new_threshold. * call.c (second_parm_is_size_t, aligned_allocation_fn_p, aligned_deallocation_fn_p, build_op_delete_call): Likewise. * decl.c (cxx_init_decl_processing): Likewise. testsuite/ * g++.dg/cpp1z/aligned-new6.C: New test. From-SVN: r240317
2016-09-21[ARM] FP16 ARM Alternative format variants of AAPCS tests.Matthew Wahab7-0/+155
testsuite/ 2016-09-21 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/fp16-aapcs-3.c: New. * gcc.target/arm/fp16-aapcs-4.c: New. * gcc.target/arm/aapcs/aapcs/vfp22.c: New. * gcc.target/arm/aapcs/aapcs/vfp23.c: New. * gcc.target/arm/aapcs/aapcs/vfp24.c: New. * gcc.target/arm/aapcs/aapcs/vfp25.c: New. From-SVN: r240314
2016-09-21re PR tree-optimization/77550 (std::deque with -O3 has infinite std::distance)Bernd Edlinger4-29/+374
gcc: 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR tree-optimization/77550 * tree-vect-stmts.c (create_array_ref): Change parameters. (get_group_alias_ptr_type): New function. (vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type. testsuite: 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR tree-optimization/77550 * g++.dg/pr77550.C: New test. From-SVN: r240313
2016-09-21gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length): Add falls ↵Marek Polacek2-0/+6
through comment. * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length): Add falls through comment. From-SVN: r240311
2016-09-21dwarf2out.c (remove_child_with_prev): Clear child->die_sib.Richard Biener2-6/+22
2016-09-21 Richard Biener <rguenther@suse.de> * dwarf2out.c (remove_child_with_prev): Clear child->die_sib. (replace_child): Likewise. (remove_child_TAG): Adjust. (move_marked_base_types): Likewise. (prune_unused_types_prune): Clear die_sib of removed children. From-SVN: r240310
2016-09-21re PR target/77326 ([avr] Invalid optimization omits comparison)Georg-Johann Lay4-2/+75
gcc/ PR target/77326 * config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn touches some regs mentioned in cc_status, do CC_STATUS_INIT. gcc/testsuite/ PR target/77326 * gcc.target/avr/torture/pr77326.c: New test. From-SVN: r240306
2016-09-21pr68078.f90: Run on x86_64_*_linux* only.Louis Krupp2-2/+14
2016-09-21 Louis Krupp <louis.krupp@zoho.com> * gfortran.dg/pr68078.f90: Run on x86_64_*_linux* only. From-SVN: r240304
2016-09-21re PR tree-optimization/77648 (Setting conversion to a integer to double to ↵Richard Biener5-16/+107
0 3/4 through a loop) 2016-09-21 Richard Biener <rguenther@suse.de> PR tree-optimization/77648 * tree-ssa-structalias.c (process_constraint): Handle all DEREF with complex RHS. (make_transitive_closure_constraints): Adjust comment. (make_any_offset_constraints): New function. (handle_rhs_call): Make sure to first expand a pointer to all subfields before transitively closing it. (handle_const_call): Likewise. Properly expand returned pointers as well. (handle_pure_call): Likewise. * gcc.dg/torture/pr77648-1.c: New testcase. * gcc.dg/torture/pr77648-2.c: Likewise. From-SVN: r240303
2016-09-21re PR tree-optimization/77621 (Internal compiler error for mtune=atom + msse2)Richard Biener4-0/+31
2016-09-21 Richard Biener <rguenther@suse.de> Jakub Jelinek <jakub@redhat.com> PR tree-optimization/77621 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split group at non-vectorizable stmts. * gcc.dg/pr77621.c: New testcase. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r240302
2016-09-21re PR fortran/77657 (link error with implementation of user-defined derived ↵Paul Thomas4-4/+103
type input/output (UD-DTIO) in child extending abstract parent) 2016-09-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/77657 * interface.c (gfc_find_specific_dtio_proc): Borrow trick from resolve_typebound_generic_call to find dtio procedures that over-ride those in the declared type. 2016-09-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/77657 * gfortran.dg/dtio_12.f90: New test. From-SVN: r240301
2016-09-21Make integer size explicitSenthil Kumar Selvaraj2-2/+8
For the lower vrp bound to be 2/-2, unsigned ints must be 4 bytes wide. This breaks targets like avr. Explicitly using __UINT32_TYPE__ (behind a typedef) makes the testcase pass for all targets. gcc/testsuite/ChangeLog: 2016-09-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/tree-ssa/pr64130.c: Use __UINT32_TYPE__ instead of int. From-SVN: r240300
2016-09-21Incorrect arithmetic optimization involving bitfield argumentsKugan Vivekanandarajah4-8/+121
gcc/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> PR tree-optimization/72835 * tree-ssa-reassoc.c (make_new_ssa_for_def): New. (make_new_ssa_for_all_defs): Likewise. (zero_one_operation): Replace all SSA_NAMEs defined in the chain. gcc/testsuite/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> PR tree-optimization/72835 * gcc.dg/tree-ssa/pr72835.c: New test. From-SVN: r240299
2016-09-20PR middle-end/49905 - Better sanity checking on sprintf src & dest toMartin Sebor28-30/+5683
gcc/ChangeLog: PR middle-end/49905 * Makefile.in (OBJS): Add gimple-ssa-sprintf.o. * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Redefine. * config/linux.c (gnu_libc_printf_pointer_format): New function. * config/sol2.h (TARGET_PRINTF_POINTER_FORMAT): Same. * config/sol2.c (solaris_printf_pointer_format): New function. * doc/invoke.texi (-Wformat-length, -fprintf-return-value): New options. * doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Document. * doc/tm.texi: Regenerate. * gimple-fold.h (get_range_strlen): New function. (get_maxval_strlen): Declare existing function. * gimple-fold.c (get_range_strlen): Add arguments and compute both maximum and minimum. (get_range_strlen): Define overload. (get_maxval_strlen): Adjust. * gimple-ssa-sprintf.c: New file and pass. * passes.def (pass_sprintf_length): Add new pass. * targhooks.h (default_printf_pointer_format): Declare new function. (gnu_libc_printf_pointer_format): Same. (solaris_libc_printf_pointer_format): Same. * targhooks.c (default_printf_pointer_format): Define new function. * tree-pass.h (make_pass_sprintf_length): Declare new function. * print-tree.c: Increase buffer size. gcc/c-family/ChangeLog: PR middle-end/49905 * c.opt: Add -Wformat-length and -fprintf-return-value. gcc/testsuite/ChangeLog: PR middle-end/49905 * gcc.dg/builtin-stringop-chk-1.c: Adjust. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: New test. * gcc.dg/tree-ssa/builtin-sprintf.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-2.c: New test. From-SVN: r240298
2016-09-21Daily bump.GCC Administrator1-1/+1
From-SVN: r240297
2016-09-20Use ipa-vrp result in tree-vrpKugan Vivekanandarajah5-2/+25
gcc/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-vrp.c (get_value_range): Teach PARM_DECL to use ipa-vrp results. gcc/testsuite/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.dg/guality/pr54519-1.c: Add -fno-ipa-vrp. Else constant arguments/compare will be optimized away. * gcc.dg/torture/ftrapv-1.c: Likewise. From-SVN: r240293
2016-09-20Add IPA VRPKugan Vivekanandarajah23-7/+599
gcc/lto/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * lto-partition.c: Include tree-vrp.h. * lto.c: Likewise. gcc/testsuite/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * g++.dg/ipa/pure-const-3.C: Add -fno-ipa-vrp. Else constant arguments will be optimized away. * gcc.dg/ipa/vrp1.c: New test. * gcc.dg/ipa/vrp2.c: New test. * gcc.dg/ipa/vrp3.c: New test. gcc/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * common.opt: New option -fipa-vrp. * ipa-cp.c (ipa_get_vr_lat): New. (ipcp_vr_lattice::print): Likewise. (print_all_lattices): Call ipcp_vr_lattice::print. (ipcp_vr_lattice::meet_with): New. (ipcp_vr_lattice::meet_with_1): Likewise. (ipcp_vr_lattice::top_p): Likewise. (ipcp_vr_lattice::bottom_p): Likewsie. (ipcp_vr_lattice::set_to_bottom): Likewise. (set_all_contains_variable): Call VR set_to_bottom. (initialize_node_lattices): Init VR lattices. (propagate_vr_accross_jump_function): New. (propagate_constants_accross_call): Call propagate_vr_accross_jump_function. (ipcp_store_vr_results): New. (ipcp_driver): Handle VR. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Handle VR. (ipa_set_jf_unknown): Likewise. (ipa_compute_jump_functions_for_edge): Likewise. (ipa_node_params_t::duplicate): Likewise. (ipa_write_jump_function): Likewise. (ipa_read_jump_function): Likewise. (write_ipcp_transformation_info): Likewise. (read_ipcp_transformation_info): Likewise. (ipcp_update_vr): New. (ipcp_transform_function): Handle VR. * ipa-prop.h (struct ipa_vr): New. * cgraph.c: Include tree-vrp.h. * cgraphunit.c: Likewise. * ipa-utils.c: Likewise. * ipa.c: Likewise. From-SVN: r240292
2016-09-20Add Early VRPKugan Vivekanandarajah24-76/+536
gcc/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * doc/invoke.texi: Document -fdump-tree-evrp. * passes.def: Define new pass_early_vrp. * timevar.def: Define new TV_TREE_EARLY_VRP. * tree-pass.h (make_pass_early_vrp): New. * tree-ssa-propagate.c: Make replace_uses_in non static. * tree-ssa-propagate.h: Export replace_uses_in. * tree-vrp.c (extract_range_for_var_from_comparison_expr): New. (extract_range_from_assert): Factor out extract_range_for_var_from_comparison_expr. (vrp_initialize_lattice): New. (vrp_initialize): Factor out vrp_initialize_lattice. (vrp_valueize): Fix it to reject complex value ranges. (vrp_free_lattice): New. (evrp_dom_walker::before_dom_children): Likewise. (evrp_dom_walker::after_dom_children): Likewise. (evrp_dom_walker::push_value_range): Likewise. (evrp_dom_walker::pop_value_range): Likewise. (execute_early_vrp): Likewise. (execute_vrp): Call vrp_initialize_lattice and vrp_free_lattice. (make_pass_early_vrp): New. gcc/testsuite/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * g++.dg/tree-ssa/pr31146-2.C: Run with -fno-tree-evrp as evrp also does the same transformation. * g++.dg/warn/pr33738.C: XFAIL as optimization now happens in ccp. * gcc.dg/tree-ssa/evrp1.c: New test. * gcc.dg/tree-ssa/evrp2.c: New test. * gcc.dg/tree-ssa/evrp3.c: New test. * gcc.dg/tree-ssa/pr20657.c: Check for the pattern in evrp dump. * gcc.dg/tree-ssa/pr22117.c: Likewise. * gcc.dg/tree-ssa/pr61839_2.c: Likewise. * gcc.dg/tree-ssa/pr64130.c: Likewise. * gcc.dg/tree-ssa/pr37508.c: Change the pattern to be checked as foling now happens early. * gcc.dg/tree-ssa/vrp04.c: Likewise. * gcc.dg/tree-ssa/vrp06.c: Likewise. * gcc.dg/tree-ssa/vrp16.c: Likewise. * gcc.dg/tree-ssa/vrp25.c: Likewise. * gcc.dg/tree-ssa/vrp67.c: Likewise. From-SVN: r240291
2016-09-20trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through comment.Marek Polacek2-1/+6
* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Adjust fall through comment. From-SVN: r240286
2016-09-20syscall: build export_unix_test.go on solarisIan Lance Taylor1-1/+1
Patch from Rainer Orth. Reviewed-on: https://go-review.googlesource.com/29436 From-SVN: r240285
2016-09-20i386.md (mult->ashift peephole2s): Use pow2p_hwi instead of exact_log2.Uros Bizjak2-4/+10
* config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi instead of exact_log2. From-SVN: r240281
2016-09-20re PR go/77625 (go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type ↵Ian Lance Taylor2-6/+6
‘std::ofstr eam {aka std::basic_ofstream<char>}’ with extended alignment 16) PR go/77625 compiler: allocate std::ofstream as a local variable GCC PR 77625 points out a warning about new std::ofstream. I don't know how that is supposed to work, but in this case the std::ofstream may as well be a local variable anyhow. Reviewed-on: https://go-review.googlesource.com/29435 From-SVN: r240279
2016-09-20re PR tree-optimization/77621 (Internal compiler error for mtune=atom + msse2)Uros Bizjak5-5/+35
PR target/77621 * config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>: Don't return word_mode for !TARGET_VECTORIZE_DOUBLE. (ix86_add_stmt_cost): Penalize DFmode vector operations for !TARGET_VECTORIZE_DOUBLE. testsuite/ChangeLog: PR target/77621 * gcc.target/i386/pr77621.c: New test. * gcc.target/i386/vect-double-2.c: Update scan-tree-dump-times pattern, loop should vectorize with -mtune=atom. From-SVN: r240277
2016-09-20re PR go/77642 (GO Bootstrap fail starting with r239872 splitstack signature ↵Ian Lance Taylor1-1/+1
does not match) PR go/77642 runtime: pass correct type to __splitstack_find The code was passing uintptr* to a function that expected size_t*. Based on patch by Andreas Krebbel. Fixes GCC PR 77642. Reviewed-on: https://go-review.googlesource.com/29433 From-SVN: r240275
2016-09-20invoke.texi (Warning Options): Simplify language.Gerald Pfeifer2-5/+10
* doc/invoke.texi (Warning Options): Simplify language. (Optimize Options): Complete sentence. From-SVN: r240274
2016-09-20* dbxout.c (xcoff_debug_hooks): Add filename parameter to early_finish hook.David Edelsohn2-1/+6
From-SVN: r240273
2016-09-20rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, ↵Michael Meissner3-5/+40
use the VMRGEW instruction instead of a permute. 2016-09-20 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_expand_vector_init): For V4SF inits on power8 and above, use the VMRGEW instruction instead of a permute. * config/rs6000/altivec.md (UNSPEC_VMRGEW_DIRECT): New unspec. (p8_vmrgew_v4sf_direct): New VMRGEW insn for V4SF floating initialization. From-SVN: r240272
2016-09-20[PATCH] [AArch64] Add missing attributes to arm_neon.hTamar Christina2-0/+19
Committed on behalf of Tamar Christina <tamar.christina@arm.com> gcc/ * config/aarch64/arm_neon.h (vst2_s64, vst2_u64, vst2_f64, vst2_s8): Add missing attributes. (vst3_s64, vst3_u64, vst3_f64, vst3_s8): Likewise. (vst4_s64, vst4_u64, vst4_f64, vst4_s8): Likewise. From-SVN: r240271
2016-09-20vax.h (ELIMINABLE_REGS): Define.Bernd Edlinger2-0/+15
2016-09-20 Bernd Edlinger <bernd.edlinger@hotmail.de> * config/var/vax.h (ELIMINABLE_REGS): Define. (INITIAL_ELIMINATION_OFFSET): Define. From-SVN: r240269
2016-09-20re PR testsuite/63299 (ASan reported alloc-dealloc-mismatch in ↵Maxim Ostapenko2-1/+8
g++.old-deja/g++.jason/init3.C) PR testsuite/63299 * g++.old-deja/g++.jason/init3.C (My_string::~My_string): Use delete[] instead of delete. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r240268
2016-09-20re PR c++/77626 (ICE with -Wall on x86_64-linux-gnu (internal compiler ↵Jakub Jelinek4-9/+26
error: Segmentation fault, byte_from_pos, cxx_fold_indirect_ref)) PR c++/77626 * constexpr.c (cxx_fold_indirect_ref): Don't call byte_position on FIELD_DECLs with error_mark_node type. Remove useless break; after return. * g++.dg/other/pr77626.C: New test. From-SVN: r240267
2016-09-20re PR c++/77638 (ICE on x86_64-linux-gnu (internal compiler error: tree ↵Jakub Jelinek4-1/+17
check: expected tree that contains ‘decl common’ structure, have ‘error_mark’ in cp_parser_template_declaration_after_parameters, at cp/parser.c:25722)) PR c++/77638 * parser.c (cp_parser_template_declaration_after_parameter): For 2 argument operator"" template set ok to false for parm == error_mark_node. * g++.dg/cpp0x/udlit-tmpl-arg-neg2.C: New test. From-SVN: r240266
2016-09-20re PR c++/77637 (ICE on x86_64-linux-gnu (Segmentation fault, tree_check, ↵Jakub Jelinek4-2/+20
cp_parser_std_attribute_list...)) PR c++/77637 * parser.c (cp_parser_std_attribute_list): Reject ... without preceding attribute. * g++.dg/cpp0x/gen-attrs-62.C: New test. From-SVN: r240265
2016-09-20re PR middle-end/77624 (ICE on x86_64-linux-gnu (internal compiler error: in ↵Jakub Jelinek5-2/+56
fold_builtin_atomic_always_lock_free, at builtins.c:5583)) PR middle-end/77624 * builtins.c (fold_builtin_atomic_always_lock_free): Only look through cast to void * if the cast is from some other pointer type. * c-c++-common/pr77624-1.c: New test. * c-c++-common/pr77624-2.c: New test. From-SVN: r240263
2016-09-20coarray_allocate_7.f08: Using + instead of fixed number of digits expected.Andre Vehreschild2-1/+6
2016-09-20 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_allocate_7.f08: Using + instead of fixed number of digits expected. From-SVN: r240262
2016-09-20re PR tree-optimization/77646 (GCC Segfault with -O3)Richard Biener4-0/+36
2016-09-20 Richard Biener <rguenther@suse.de> PR tree-optimization/77646 * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number a VDEF. * gcc.dg/torture/pr77646.c: New testcase. From-SVN: r240261