aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-12-17re PR sanitizer/64289 (ICE with -fsanitize=float-cast-overflow)Jakub Jelinek4-0/+37
PR sanitizer/64289 * c-convert.c: Include ubsan.h. (convert): For real -> integral casts and -fsanitize=float-cast-overflow don't call convert_to_integer, but instead instrument the float cast directly. * c-c++-common/ubsan/pr64289.c: New test. From-SVN: r218811
2014-12-17drop reason for my change from ChangeLogMichael Haubenwallner1-1/+0
From-SVN: r218809
2014-12-17re PR fortran/54687 (Use gcc option machinery for gfortran)Tobias Burnus19-183/+205
2014-12-17 Tobias Burnus <burnus@net-b.de> PR fortran/54687 gcc/ * flag-types.h (gfc_init_local_real, gfc_fcoarray, gfc_convert): New enums; moved from fortran/. gcc/fortran/ * gfortran.h (gfc_option_t): Remove flags which now have a Var(). (init_local_real, gfc_fcoarray): Moved to ../flag-types.h. * libgfortran.h (unit_convert): Add comment. * lang.opt (flag-convert, flag-init_real, flag-coarray): Add Var() and Enum(). * options.c (gfc_handle_coarray_option): Remove. (gfc_init_options, gfc_post_options, gfc_handle_option): Update for *.opt changes. * array.c: Update for flag-variable name changes. * check.c: Ditto. * match.c: Ditto. * resolve.c: Ditto. * simplify.c: Ditto. * trans-array.c: Ditto. * trans-decl.c: Ditto. * trans-expr.c: Ditto. * trans-intrinsic.c: Ditto. * trans-stmt.c: Ditto. * trans-types.c: Ditto. * trans.c: Ditto. From-SVN: r218808
2014-12-17compiler: Don't crash on append with single argument.Ian Lance Taylor1-2/+7
Instead of allocating an empty slice literal, use a slice value with a nil pointer. From-SVN: r218806
2014-12-17Daily bump.GCC Administrator1-1/+1
From-SVN: r218805
2014-12-16re PR c++/58650 ([c++11] ICE with invalid friend declaration)Paolo Carlini4-1/+22
/cp 2014-12-16 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58650 * parser.c (cp_parser_member_declaration): Fix error recovery for initialized non-static data member declared friend. /testsuite 2014-12-16 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58650 * g++.dg/parse/friend12.C: New. From-SVN: r218801
2014-12-16compiler: Don't built hash/equality functions for thunk structs.Ian Lance Taylor3-2/+26
They are never necessary, and they can cause problems when a thunk is used to pass an unexported type from a different package to a function defined in that package. The resulting struct type may need to call the comparison routine from the other package, which will fail because the type is not exported. This will be bug492 in the master testsuite. From-SVN: r218798
2014-12-16* fibonacci_heap.h (min): Return m_data instead of non-existing data.Jan Hubicka2-1/+5
From-SVN: r218797
2014-12-16ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return ↵Jan Hubicka2-8/+17
values of const calls as constants. * ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return values of const calls as constants. (estimate_function_body_sizes): Expect calls to have false predicates. From-SVN: r218796
2014-12-16re PR target/54089 ([SH] Refactor shift patterns)Oleg Endo2-1/+6
gcc/testsuite/ PR target/54089 * gcc.target/sh/pr54089-1.c: Change optimization level from -O1 to -O2. From-SVN: r218795
2014-12-16re PR go/61246 (gccgo: ICE in do_determine_types [GoSmith])Ian Lance Taylor1-1/+5
PR go/61246 compiler: Switch expression comparisons should be boolean typed. From-SVN: r218794
2014-12-16re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)Oleg Endo3-17/+18
gcc/testsuite/ PR target/53513 * gcc.target/sh/fpchg.c: Rename to ... * gcc.target/sh/pr53513-1.c: ... this. Adjust test case to work for -m4a and -m4a-single. From-SVN: r218793
2014-12-16re PR fortran/54687 (Use gcc option machinery for gfortran)Tobias Burnus28-295/+168
2014-12-16 Tobias Burnus <burnus@net-b.de> PR fortran/54687 * gfortran.h (gfc_option_t): Remove flags which now have a Var(). * lang.opt (flag-aggressive_function_elimination, flag-align_commons, flag-all_intrinsics, flag-allow_leading_underscore, flag-automatic, flag-backslash, flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer, flag-dollar_ok, flag-dump_fortran_original, flag-dump_fortran_optimized, flag-external_blas, flag-f2c, flag-implicit_none, flag-max_array_constructor, flag-module_private, flag-pack_derived, flag-range_check, flag-recursive, flag-repack_arrays, flag-sign_zero, flag-underscoring): Add Var() and, where applicable, Enum(). * options.c (gfc_init_options, gfc_post_options, gfc_handle_option): Update for *.opt changes. * arith.c: Update for flag-variable name changes. * array.c: Ditto. * cpp.c: Ditto. * decl.c: Ditto. * expr.c: Ditto. * f95-lang.c: Ditto. * frontend-passes.c: Ditto. * intrinsic.c: Ditto. * io.c: Ditto. * match.c: Ditto. * module.c: Ditto. * parse.c: Ditto. * primary.c: Ditto. * resolve.c: Ditto. * scanner.c: Ditto. * simplify.c: Ditto. * symbol.c: Ditto. * trans-array.c: Ditto. * trans-common.c: Ditto. * trans-decl.c: Ditto. * trans-expr.c: Ditto. * trans-intrinsic.c: Ditto. * trans-openmp.c: Ditto. * trans-types.c: Ditto. From-SVN: r218792
2014-12-16hwint.c (abs_hwi, absu_hwi): Move to ...Jan Hubicka3-16/+22
* hwint.c (abs_hwi, absu_hwi): Move to ... * hwint.h (abs_hwi, absu_hwi): ... here; make inline. From-SVN: r218791
2014-12-162014-12-15 Tobias Burnus <burnus@net-b.de>Tobias Burnus16-282/+170
* lang.opt (fsecond-underscore, frecord-marker=8, * frecord-marker=4, frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4, freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens, fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=, ffrontend-optimize, ffree-line-length-, ffixed-line-length-, finteger-4-integer-8, fdefault-real-8, fdefault-integer-8, fdefault-double-8): Add Var() and Init(). * gfortran.h (gfc_option_t): Remove moved flags. * options.c (gfc_init_options, gfc_handle_option): Ditto. (gfc_post_options): Update for name change. * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle flag-name change. * frontend-passes.c (gfc_run_passes): Ditto. * module.c (use_iso_fortran_env_module): Ditto. * primary.c (match_integer_constant, match_real_constant): * Ditto. * resolve.c (resolve_ordinary_assign): Ditto. * scanner.c (gfc_next_char_literal, load_line): Ditto. * trans-array.c (gfc_trans_allocate_array_storage, gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation, gfc_conv_ss_startstride): Ditto. * trans-common.c (gfc_sym_mangled_common_id): Ditto. * trans-decl.c (gfc_sym_mangled_function_id, create_main_function): Ditto. * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call, arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto. * trans-stmt.c (gfc_trans_allocate): Ditto. * trans-types.c (gfc_init_kinds): Ditto. From-SVN: r218790
2014-12-16re PR go/61264 (gccgo: ICE in __normal_iterator [GoSmith])Ian Lance Taylor1-2/+8
PR go/61264 compiler: Fix copying behavior for empty composite literals. From-SVN: r218789
2014-12-16re PR go/61273 (gccgo: ICE in ↵Ian Lance Taylor2-5/+5
Unsafe_type_conversion_expression::do_get_backend [GoSmith]) PR go/61273 compiler: Send statements should contextually permit composite literals. From-SVN: r218788
2014-12-16re PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))Marek Polacek4-0/+84
PR middle-end/64309 * match.pd: Add ((1 << A) & 1) != 0 -> A == 0 and ((1 << A) & 1) == 0 -> A != 0. * gcc.dg/pr64309.c: New test. From-SVN: r218787
2014-12-16genmatch.c (parser::parser): Initialize capture_ids.Richard Biener2-2/+18
2014-12-16 Richard Biener <rguenther@suse.de> * genmatch.c (parser::parser): Initialize capture_ids. (parser::parse_pattern): Properly allocate capture_ids before using them. Set capture_ids to zero when its lifetime is supposed to finish. (parser::parse_simplify): Allocate capture_ids only if required. From-SVN: r218786
2014-12-16Both config.h and system.h define ABI/API macros for system headers.Michael Haubenwallner2-1/+6
* sreal.c: Include math.h later. From-SVN: r218783
2014-12-16re PR target/64240 ([AArch64] SMS-3.c causes runtime exception(segfault).)Felix Yang4-1/+54
+ PR rtl-optimization/64240 + * ddg.c (mark_mem_use): Check *iter instead of *x. From-SVN: r218780
2014-12-16re PR other/64278 (/sreal.c:254:22: error: call of overloaded 'abs(const ↵Martin Liska2-1/+6
int64_t&)' is ambiguous) Fix for PR ipa/64278 * sreal.c (sreal::operator*): Replace std::abs with absu_hwi. From-SVN: r218779
2014-12-16i386.c (ix86_address_cost): Add explicit restriction to RTL level for the ↵Igor Zamyatin2-4/+11
check for PIC register. gcc/ * config/i386/i386.c (ix86_address_cost): Add explicit restriction to RTL level for the check for PIC register. From-SVN: r218777
2014-12-16re PR fortran/64244 (ICE at class.c:236 when using non_overridable)Janus Weil4-5/+52
2014-12-16 Janus Weil <janus@gcc.gnu.org> PR fortran/64244 * resolve.c (resolve_typebound_call): New argument to pass out the non-overridable attribute of the specific procedure. (resolve_typebound_subroutine): Get overridable flag from resolve_typebound_call. 2014-12-16 Janus Weil <janus@gcc.gnu.org> PR fortran/64244 * gfortran.dg/typebound_call_26.f90: New. From-SVN: r218776
2014-12-16gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...Uros Bizjak4-184/+222
* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ... * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): ... and here ... * config/i386/gnu-user-common.h (TARGET_CAN_SPLIT_STACK): ... to here. From-SVN: r218775
2014-12-16re PR target/64217 (LRA: generate wrong liveness info after r217947 for ↵Chung-Ju Wu2-1/+7
clobber in jump_insn) PR target/64217 * config/nds32/nds32.md (casesi_internal): Add '=r' for clobber register constraint. From-SVN: r218774
2014-12-16Daily bump.GCC Administrator1-1/+1
From-SVN: r218772
2014-12-15decl2.c (decl_needed_p): When not optimizing, do not consider external decls ↵Jan Hubicka2-6/+22
as needed. * decl2.c (decl_needed_p): When not optimizing, do not consider external decls as needed. From-SVN: r218769
2014-12-15* config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.DJ Delorie2-1/+4
From-SVN: r218768
2014-12-15re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 ↵Jan Hubicka4-3/+34
get_binfo_at_offset/tree.c:11914) PR lto/64043 * gcc.dg/lto/20110201-1_0.c: New testcase. * tree-streamer.c (preload_common_nodes): Skip preloading of main_identifier_node, pid_type and optimization/option nodes. From-SVN: r218767
2014-12-15re PR rtl-optimization/63397 (signed integer overflows in ira.c)Vladimir Makarov3-9/+27
2014-12-15 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/63397 * ira-int.h (ira_overall_cost, ira_reg_cost, ira_mem_cost): Use int64_t. (ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto. * ira.c (ira_overall_cost, ira_overall_cost_before): Ditto. (ira_reg_cost, ira_mem_cost): Ditto. (ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto. (calculate_allocation_cost, do_reload): Use the right format for int64_t values. From-SVN: r218766
2014-12-15sreal.h (to_double): New method.Jan Hubicka3-3/+26
* sreal.h (to_double): New method. (shift): Do not ICE on 0. * sreal.c: Include math.h (sreal::to_double): New. From-SVN: r218765
2014-12-15re PR go/61255 (gccgo: spurious "error: argument 2 has incompatible type" ↵Ian Lance Taylor2-15/+36
[GoSmith]) PR go/61255 compiler: Copied variadic calls should copy lowering state of arguments. From-SVN: r218764
2014-12-15re PR c++/64297 (ICE: canonical types differ for identical types)Jason Merrill3-0/+21
PR c++/64297 * typeck.c (apply_memfn_quals): Correct wrong TYPE_CANONICAL. From-SVN: r218763
2014-12-15re PR rtl-optimization/64316 (ICE in simplify_const_unary_operation after ↵Jakub Jelinek4-2/+56
r218503) PR rtl-optimization/64316 * simplify-rtx.c (simplify_relational_operation_1): For (eq/ne (and x y) x) and (eq/ne (and x y) y) optimizations use CONST0_RTX instead of const0_rtx. * gcc.dg/pr64316.c: New test. From-SVN: r218762
2014-12-15re PR target/62642 (x86 rdtsc is moved through barrier)Vladimir Makarov2-1/+12
2014-12-15 Vladimir Makarov <vmakarov@redhat.com> PR target/62642 * ira.c (rtx_moveable_p): Prevent UNSPEC_VOLATILE moves. From-SVN: r218761
2014-12-15ira-int.h (ira_prohibited_class_mode_regs): Remove.Vladimir Makarov4-14/+33
2014-12-15 Vladimir Makarov <vmakarov@redhat.com> * ira-int.h (ira_prohibited_class_mode_regs): Remove. (struct target_ira_int): Move x_ira_prohibited_class_mode_regs to ... * ira.h (struct target_ira_int): ... here. (ira_prohibited_class_mode_regs): Define. * lra-constraints.c (process_alt_operands): Add one more condition to refuse alternative when reload pseudo of given class can not hold value of given mode. From-SVN: r218760
2014-12-15re PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)Jakub Jelinek2-0/+57
PR rtl-optimization/63804 * gcc.dg/pr63804.c: New test. From-SVN: r218758
2014-12-15re PR fortran/61669 (Error recovery ICE)Steven Bosscher6-1/+42
PR fortran/61669 * gfortran.h (struct gfc_namespace): Add OLD_DATA field. * decl.c (gfc_reject_data): New function. * parse.c *use_modules): Record roll-back point. (next_statement): Likewise. (reject_statement): Roll back to last accepted DATA. * gfortran.dg/pr61669.f90: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r218757
2014-12-15re PR tree-optimization/64312 (ICE: Segmentation fault)Richard Biener4-2/+137
2014-12-15 Richard Biener <rguenther@suse.de> PR tree-optimization/64312 * tree-ssa-sccvn.c (vn_reference_lookup_pieces): Use vuse_ssa_val as callback to walk_non_aliased_vuses. (vn_reference_lookup): Likewise. * g++.dg/torture/pr64312.C: New testcase. From-SVN: r218756
2014-12-15N3778: Sized DeallocationJason Merrill14-32/+277
N3778: Sized Deallocation gcc/c-family/ * c.opt (-fsized-deallocation, -Wc++14-compat): New. (-Wsized-deallocation): New. * c-opts.c (c_common_post_options): -fsized-deallocation defaults to on in C++14 and up. gcc/cp/ * call.c (non_placement_deallocation_fn_p): A global sized operator delete is not a usual deallocation function until C++14. (build_op_delete_call): Choose the global sized op delete if we know the size. * cp-tree.h: Declare non_placement_deallocation_fn_p. (enum cp_tree_index): Remove CPTI_GLOBAL_DELETE_FNDECL. (global_delete_fndecl): Remove. * decl.c (cxx_init_decl_processing): Also declare sized op deletes. (grok_op_properties): Warn about sized dealloc without the flag. * init.c (build_builtin_delete_call): Remove. (build_vec_delete_1, build_delete): Don't call it. * decl2.c (maybe_warn_sized_delete): New. (cp_write_global_declarations): Call it. libstdc++-v3/ * libsupc++/del_ops.cc: New. * libsupc++/del_opvs.cc: New. * libsupc++/Makefile.am: Add them. * libsupc++/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Export _ZdlPvm and _ZdaPvm. From-SVN: r218755
2014-12-15re PR go/61248 (gccgo: spurious "error: too many arguments" [GoSmith])Ian Lance Taylor1-2/+8
PR go/61248 compiler: Ignore argument when typechecking converted recover calls. From-SVN: r218754
2014-12-15re PR go/61253 (gccgo: spurious "error: expected '<-' or '='" [GoSmith])Ian Lance Taylor1-0/+10
PR go/61253 compiler: Support RecvStmt = ExpressionList "=" RecvExpr. From-SVN: r218753
2014-12-15re PR c++/58882 (ICE with invalid C99 style designated initializers)Paolo Carlini5-7/+55
/cp 2014-12-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58882 * decl.c (check_array_designated_initializer): Diagnose gracefully C99 designators which aren't integral constant-expressions; allow constexpr user-defined type conversion operators. /testsuite 2014-12-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58882 * g++.dg/ext/desig8.C: New. * g++.dg/cpp0x/desig1.C: Likewise. From-SVN: r218752
2014-12-15re PR fortran/63727 ([F03] Checks missing for proc-pointer components: Usage ↵Janus Weil4-1/+21
as actual argument when elemental) 2014-12-15 Janus Weil <janus@gcc.gnu.org> PR fortran/63727 * resolve.c (resolve_actual_arglist): Check for elemental procedure pointer components. 2014-12-15 Janus Weil <janus@gcc.gnu.org> PR fortran/63727 * gfortran.dg/coarray_collectives_14.f90: Address FIXME item. From-SVN: r218751
2014-12-15* gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,Segher Boessenkool2-2/+8
*add<mode>3_imm_dot2): Change the constraint for the second alternative for operand 1 from "r" to "b". From-SVN: r218750
2014-12-15vec.h (vec::safe_grow): Guard against a grow to zero size.Richard Biener2-1/+8
2014-12-15 Richard Biener <rguenther@suse.de> * vec.h (vec::safe_grow): Guard against a grow to zero size. From-SVN: r218749
2014-12-15re PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with ↵Richard Biener4-1/+20
-frounding-math -funsafe-math-optimizations) 2014-12-15 Richard Biener <rguenther@suse.de> PR middle-end/64295 * match.pd (X / CST -> X * (1 / CST): Use const_binop instead of fold_binary to compute the constant to multiply with. * gcc.dg/pr64295.c: New testcase. From-SVN: r218748
2014-12-15re PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)Richard Biener7-1/+116
2014-12-15 Richard Biener <rguenther@suse.de> PR middle-end/64246 * cfgloop.c (mark_loop_for_removal): Make safe against multiple invocations on the same loop. * gnat.dg/opt46.adb: New testcase. * gnat.dg/opt46.ads: Likewise. * gnat.dg/opt46_pkg.adb: Likewise. * gnat.dg/opt46_pkg.ads: Likewise. From-SVN: r218746
2014-12-15re PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C -O1 (internal ↵Marek Polacek2-1/+6
compiler error)) PR middle-end/64292 * fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check. From-SVN: r218745