- 29 Sep, 2016 14 commits
-
-
From-SVN: r240621
Marek Polacek committed -
* include/c_global/cmath (hypot, __hypot3): Move C++17 overloads outside _GLIBCXX_USE_C99_MATH_TR1 condition. From-SVN: r240620
Jonathan Wakely committed -
* g++.dg/cpp0x/fallthrough2.C: Only expect the warning in C++11 and C++14. From-SVN: r240619
Marek Polacek committed -
* doc/extend.texi: Remove limitation of Objective C for __attribute__((constructor)) and __attribute__((destructor)). * objc/execute/construct1.m: New test. From-SVN: r240618
Martin Liska committed -
re PR bootstrap/77768 (LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: internal compiler error: Segmentation fault) 2016-09-29 Richard Biener <rguenther@suse.de> PR tree-optimization/77768 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Handle stores to readonly memory when removing redundant stores. * gcc.dg/torture/pr77768.c: New testcase. From-SVN: r240617
Richard Biener committed -
2016-09-29 Richard Biener <rguenther@suse.de> PR middle-end/77407 * match.pd: Add X / abs (X) -> X < 0 ? -1 : 1 and X / -X -> -1 simplifications. * gcc.dg/pr77407.c: New testcase. From-SVN: r240616
Richard Biener committed -
2016-09-29 Richard Biener <rguenther@suse.de> PR middle-end/55152 * match.pd: Add max(a,-a) -> abs(a) pattern. * tree-ssa-phiopt.c (minmax_replacement): Disable for HONOR_SIGNED_ZEROS types. * gcc.dg/pr55152.c: New testcase. * gcc.dg/tree-ssa/phi-opt-5.c: Adjust. From-SVN: r240615
Richard Biener committed -
I'm going to hookize TARGET_FLT_EVAL_METHOD, so the current definition of TARGET_FLT_EVAL_METHOD_NON_DEFAULT will stop working. The relaxation enabled by TARGET_FLT_METHOD_NON_DEFAULT isn't portable, and keeping it in place is tricky, so this patch removes it, and poisons TARGET_FLT_EVAL_METHOD_NON_DEFAULT in system.h to prevent future use. gcc/ * defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove. * system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison. gcc/c-family/ * c-opts.c (c_common_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard in C++. gcc/java/ * lang.c (java_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. gcc/fortran/ * options.c (gfc_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. gcc/ada/ * gcc-interface/misc.c (gnat_post_options): Remove special case for TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard. From-SVN: r240614
James Greenhalgh committed -
* gcc.dg/profile-update-warning.c: Restrict to ia32. (dg-options): Remove -m32. From-SVN: r240613
Rainer Orth committed -
2016-09-29 Richard Biener <rguenther@suse.de> * tree-vrp.c (set_defs_to_varying): New helper avoiding writing to vr_const_varying. (vrp_initialize): Call it. (vrp_visit_stmt): Likewise. (evrp_dom_walker::before_dom_children): Likewise. From-SVN: r240612
Richard Biener committed -
2016-09-29 Richard Biener <rguenther@suse.de> * tree-vect-stmts.c (vectorizable_load): Avoid emitting vector constructors with vector elements. From-SVN: r240611
Richard Biener committed -
re PR bootstrap/77768 (LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: internal compiler error: Segmentation fault) 2016-09-29 Richard Biener <rguenther@suse.de> PR tree-optimization/77768 * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal with stores to a place we know has a constant value. From-SVN: r240610
Richard Biener committed -
Also copy over cputicks.go, env_posix.go, vdso_none.go, stubs2.go, and a part of os_linux.go. Remove the corresponding functions from the C code in libgo/go/runtime. Add some transitional support functions to stubs.go. This converts several minor functions from C to Go. Reviewed-on: https://go-review.googlesource.com/29962 From-SVN: r240609
Ian Lance Taylor committed -
From-SVN: r240607
GCC Administrator committed
-
- 28 Sep, 2016 26 commits
-
-
compatibility-ldbl.o is compiled with -mlong-double-64. When long double .gnu.attributes tags are checked by the linker, it complains about the mismatch between this file and others in libstdc++. * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST. * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo): Use LONG_DOUBLE_COMPAT_FLAGS. * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r240602
Alan Modra committed -
Extend this attribute to cover long double ABIs, for 64-bit too. This patch also corrects an error that crept in to code setting rs6000_passes_float. See the added comment. Passing IEEE128 values in vsx regs ought to set both Tag_GNU_Power_ABI_FP and Tag_GNU_Power_ABI_Vector. Also adds a new option, default on, that disables output of .gnu_attribute assembly directives. * config/rs6000/sysv4.opt (mgnu-attribute): New option. * doc/invoke.texi: Document it. * config/rs6000/rs6000.c (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): Define. (rs6000_passes_float): Comment. (rs6000_passes_long_double): New static var. (call_ABI_of_interest): Return false unless rs6000_gnu_attr is set. (init_cumulative_args): Set up to emit fp .gnu_attribute for ELF 64-bit ABIs as well as 32-bit ELF. Correct rs6000_passes_float to include fp values returned in vectors. Set rs6000_passes_long_double. (rs6000_function_arg_advance_1): Likewise for function args. (rs6000_elf_file_end): Emit fp .gnu_attribute for ELF 64-bit ABIs, and SPE. Emit long double tag value too. (rs6000_opt_vars): Add gnu-attr. * configure.ac (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): New ppc32 test. * configure: Regenerate. * config.in: Regenerate. From-SVN: r240601
Alan Modra committed -
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead of 0 < x. (format_floating, format_string, format_directive, get_destination_size, pass_sprintf_length::handle_gimple_call): Likewise. From-SVN: r240600
Jakub Jelinek committed -
PR target/77756 * config/i386/cpuid.h (__get_cpuid): Handle CPUID level >= 7. testsuite/ChangeLog: PR target/77756 * gcc.target/i386/pr77756.c: New test. From-SVN: r240597
Uros Bizjak committed -
gcc/testsuite/ChangeLog: PR middle-end/77721 * gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: New test. From-SVN: r240595
Martin Sebor committed -
* gimple-ssa-sprintf.c: Fix comment formatting. (format_integer): Use is_gimple_assign. (pass_sprintf_length::handle_gimple_call): Use gimple_call_builtin_p and gimple_call_fndecl. Reorder case BUILT_IN_SPRINTF_CHK. Fix up BUILT_IN_SNPRINTF_CHK comment. Replace "to to" with "to" in comment. (pass_sprintf_length::execute): Use is_gimple_call. From-SVN: r240594
Jakub Jelinek committed -
2016-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77707 * gfortran.dg/inquire_17.f90: New test. From-SVN: r240593
Jerry DeLisle committed -
2016-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77707 io/transfer.c (next_record): Flush before calculating next_record. Correctly calculate. From-SVN: r240592
Jerry DeLisle committed -
PR c++/77467 * constexpr.c (enum constexpr_switch_state): New. (struct constexpr_ctx): Add css_state field. (label_matches): Add CTX and STMT arguments, remove I and DEFAULT_LABEL. For CASE_LABEL_EXPR assert ctx->css_state != NULL, handle default labels according to css_state. (cxx_eval_statement_list): Remove statement skipping, label_matches and default_label handling code. (cxx_eval_loop_expr): Exit after first iteration even if switches (jump_target). (cxx_eval_switch_expr): Set up css_state field in ctx, if default label has been seen in the body, but no cases matched, evaluate the body second time. (cxx_eval_constant_expression): Handle stmt skipping and label_matches here. Handle PREDICT_EXPR. For MODIFY_EXPR or INIT_EXPR, assert statement is not skipped. For COND_EXPR during skipping, don't evaluate condition, just the then block and if still skipping at the end also the else block. (cxx_eval_outermost_constant_expr): Adjust constexpr_ctx initializer. (is_sub_constant_expr): Likewise. * g++.dg/cpp1y/constexpr-77467.C: New test. From-SVN: r240591
Jakub Jelinek committed -
* config/i386/cpuinfo.c (__get_cpuid_output): Remove. (__cpu_indicator_init): Call __get_cpuid, not __get_cpuid_output. From-SVN: r240590
Uros Bizjak committed -
From-SVN: r240589
Jonathan Wakely committed -
Tweak the makefile rules for the runtime/check test to insure that the runtime package is compiled with "-fgo-compiling-runtime". This resolves a test failure (unsat on runtime.getcallerpc) when in a build directory where the compiler flags have been configured to disable optimization. Reviewed-on: https://go-review.googlesource.com/30010 From-SVN: r240588
Ian Lance Taylor committed -
* include/experimental/bits/fs_fwd.h (file_time_type): Simplify definition. * src/filesystem/ops.cc (file_time): Take error_code parameter and check for overflow. (do_copy_file, last_write_time): Pass error_code in file_time calls. * testsuite/experimental/filesystem/operations/last_write_time.cc: New. * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. From-SVN: r240587
Jonathan Wakely committed -
If strchr can't be folded in gimple-fold, we still need to fall into the generic code so the folding code in builtins.c is also called. gcc/ * gimple-fold.c (gimple_fold_builtin): After failing to fold strchr, also try the generic folding. From-SVN: r240585
Wilco Dijkstra committed -
gcc/testsuite/ChangeLog: PR c/77762 * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (test_vsnprintf_chk_s): Call __builtin___vsnprintf_chk, not __builtin___snprintf_chk. (test_sprintf_p_const): Adjust line numbers to avoid failures introduced in r240503. gcc/ChangeLog: PR c/77762 * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Fix typos. From-SVN: r240584
Martin Sebor committed -
gcc/testsuite/ChangeLog: PR middle-end/77683 * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases. gcc/ChangeLog: PR middle-end/77683 * gimple-ssa-sprintf.c (format_integer): Fail gracefully when length modifier is not expected. (format_floating): Ignore l length modifier and fail gracefuly when it isn't one of the other expected ones. From-SVN: r240583
Martin Sebor committed -
gcc/ChangeLog: PR bootstrap/77753 * varasm.c (assemble_addr_to_section): Increase local buffer size. From-SVN: r240581
Martin Sebor committed -
2016-09-27 Richard Biener <rguenther@suse.de> * dwarf2out.c (cu_die_list): New global. (dwarf2out_finish): Walk cu_die_list instead of limbo DIEs. Add main_comp_unit_die to cu_die_list if we created it. Move break_out_includes ... (dwarf2out_early_finish): ... here. Push created CU DIEs onto the cu_die_list. From-SVN: r240579
Richard Biener committed -
2016-09-28 Richard Biener <rguenther@suse.de> * dwarf2out.c (struct die_struct): Add removed flag. (lookup_type_die): If the DIE is marked as removed, clear TYPE_SYMTAB_DIE and return NULL. (lookup_decl_die): If the DIE is marked as removed, remove it from the hash and return NULL. (mark_removed): New helper. (prune_unused_types_prune): Call it for removed DIEs. (gen_subprogram_die): Move the premark_used_types call to after DIEs for the functions scopes are generated. (process_scope_var): Do not re-create pruned types or type decls. Make sure to also re-parent type decls. (dwarf2out_finish): Move unused type pruning and debug_types handling ... (dwarf2out_early_finish): ... here. From-SVN: r240578
Richard Biener committed -
gcc/ 2016-09-29 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-c.c: New file. * config/arc/arc-c.def: Likewise. * config/arc/t-arc: Likewise. * config.gcc: Include arc-c.o as c and cpp object. * config/arc/arc-protos.h (arc_cpu_cpp_builtins): Add prototype. * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Use arc_cpu_cpp_builtins. From-SVN: r240577
Claudiu Zissulescu committed -
2016-09-29 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (*rotrsi3_cnt1): New pattern, (*ashlsi2_cnt1, *lshrsi3_cnt1, *ashrsi3_cnt1): Likewise. From-SVN: r240576
Claudiu Zissulescu committed -
2016-09-28 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/77748 * g++.dg/pr77550.C: Avoid undefined behavior. From-SVN: r240573
Bernd Edlinger committed -
2016-09-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.dg/tree-ssa/pr68198.c: Fix dg-final. From-SVN: r240572
Bernd Edlinger committed -
* gimple-pretty-print.c (dump_gimple_call_args): Simplify "' " printing. From-SVN: r240570
Nathan Sidwell committed -
2016-09-28 Claudiu Zissulescu <claziss@synopsys.com> * MAINTAINERS (Reviewers): Add myself. From-SVN: r240569
Claudiu Zissulescu committed -
Optimize strchr (s, 0) to s + strlen (s). strchr (s, 0) appears a common idiom for finding the end of a string, however it is not a very efficient way of doing so. Strlen is a much simpler operation which is significantly faster (eg. on x86 strlen is 50% faster for strings of 8 bytes and about twice as fast as strchr on strings of 1KB). gcc/ * gimple-fold.c (gimple_fold_builtin_strchr): New function to optimize strchr (s, 0) to strlen. (gimple_fold_builtin): Add BUILT_IN_STRCHR case. testsuite/ * gcc.dg/strlenopt-20.c: Update test. * gcc.dg/strlenopt-21.c: Likewise. * gcc.dg/strlenopt-22.c: Likewise. * gcc.dg/strlenopt-22g.c: Likewise. * gcc.dg/strlenopt-26.c: Likewise. * gcc.dg/strlenopt-5.c: Likewise. * gcc.dg/strlenopt-7.c: Likewise. * gcc.dg/strlenopt-9.c: Likewise. From-SVN: r240568
Wilco Dijkstra committed
-