aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2014-12-15Build machinery cleanup.Thomas Schwinge3-8/+10
* configure.ac (--enable-as-accelerator-for): Don't set ENABLE_AS_ACCELERATOR_FOR. Update all users. * configure: Regenerate. From-SVN: r218744
2014-12-15re PR target/64210 (FAIL: ↵Jakub Jelinek5-12/+22
gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ... with -fpic) PR target/64210 * gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d) instead of %e in regexps trying to match 32-bit GPR. * gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise. * gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise. * gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some scan-assembler-times lines to nonpic targets only. Fix up \[^\n^x^y\] to \[^\nxy\]. From-SVN: r218743
2014-12-15pr63996.C: Fix.Paolo Carlini2-3/+7
2014-12-15 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp1y/pr63996.C: Fix. From-SVN: r218742
2014-12-15re PR tree-optimization/63551 (wrong code (segfaults) at -Os on ↵Jakub Jelinek2-1/+7
x86_64-linux-gnu) PR tree-optimization/63551 * gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of 4294967286 to avoid warnings. From-SVN: r218740
2014-12-15re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)Janus Weil8-16/+30
2014-12-15 Janus Weil <janus@gcc.gnu.org> PR fortran/63674 * resolve.c (check_pure_function): Rewording in error message. 2014-12-15 Janus Weil <janus@gcc.gnu.org> PR fortran/63674 * gfortran.dg/forall_5.f90: Modified error message. * gfortran.dg/proc_ptr_comp_39.f90: Ditto. * gfortran.dg/pure_dummy_length_1.f90: Ditto. * gfortran.dg/stfunc_6.f90: Ditto. * gfortran.dg/typebound_operator_4.f90: Ditto. From-SVN: r218738
2014-12-15[AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.Renlin Li2-2/+7
gcc/ 2014-12-15 Renlin Li <renlin.li@arm.com> * config/aarch64/aarch64.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2. (CTZ_DEFINED_VALUE_AT_ZERO): Update to support more modes. From-SVN: r218737
2014-12-15re PR sanitizer/64265 (r217669 broke tsan)Jakub Jelinek2-8/+14
PR sanitizer/64265 * tsan.c (instrument_func_entry): Insert __tsan_func_entry call on edge from entry block to single succ instead of after labels of single succ of entry block. From-SVN: r218734
2014-12-15re PR tree-optimization/64284 (ICE: Segmentation fault)Richard Biener4-5/+36
2014-12-15 Richard Biener <rguenther@suse.de> PR tree-optimization/64284 * tree-ssa-threadupdate.c (duplicate_seme_region): Mark the loop for removal if we copied the loop header. * gcc.dg/torture/pr64284.c: New testcase. From-SVN: r218733
2014-12-15server.c (server_setup): Check return value of getcwd and in case of error ↵Uros Bizjak2-1/+7
set buff[0] to 0. * server.c (server_setup): Check return value of getcwd and in case of error set buff[0] to 0. From-SVN: r218732
2014-12-15re PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ↵Jan Hubicka5-9/+34
ipa.c:1257) PR ipa/61602 * gcc.dg/torture/pr61602.c: New testcase. * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Return bool. * ipa.c (set_writeonly_bit): Track if reference was removed. (ipa_discover_readonly_nonaddressable_vars): Return true if any references was removed. * ipa-reference.c (propagate): Return TODO_remove_functions if reference was removed. From-SVN: r218731
2014-12-15* ipa.c (process_references): Fix conditoinal on flag_optimizeJan Hubicka2-2/+8
From-SVN: r218730
2014-12-15re PR middle-end/61558 (ICE: Segmentation fault)Jan Hubicka4-1/+28
PR ipa/61558 * symtab.c (symbol_table::insert_to_assembler_name_hash symbol_table::unlink_from_assembler_name_hash): Do not ICE when DECL_ASSEMBLER_NAME is NULL. From-SVN: r218729
2014-12-15* cgraphunit.c (analyze_functions): Always analyze targets of aliases.Jan Hubicka1-0/+1
From-SVN: r218728
2014-12-15re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 ↵Jan Hubicka4-6/+40
get_binfo_at_offset/tree.c:11914) PR lto/64043 * tree.c (virtual_method_call_p): Return false when OTR type has no BINFO. * g++.dg/lto/pr64043_0.C: New testcase. From-SVN: r218727
2014-12-15cgraphunit.c (analyze_functions): Do not analyze extern inline funtions when ↵Jan Hubicka2-4/+30
not optimizing; skip comdat locals. * cgraphunit.c (analyze_functions): Do not analyze extern inline funtions when not optimizing; skip comdat locals. From-SVN: r218726
2014-12-15Daily bump.GCC Administrator1-1/+1
From-SVN: r218725
2014-12-14compiler: Fix crash when tracked field used in global initializer.Ian Lance Taylor1-1/+1
From-SVN: r218722
2014-12-14Pass unpromoted argument to promote_function_modeH.J. Lu4-2/+40
This patch updates setup_incoming_promotions in combine.c to match what is actually passed in assign_parm_setup_reg in function.c. gcc/ PR rtl-optimization/64037 * combine.c (setup_incoming_promotions): Pass the argument before any promotions happen to promote_function_mode. gcc/testsuite/ PR rtl-optimization/64037 * g++.dg/pr64037.C: New test. From-SVN: r218720
2014-12-14re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)Janus Weil7-46/+129
2014-12-14 Janus Weil <janus@gcc.gnu.org> PR fortran/63674 * resolve.c (pure_function): Treat procedure-pointer components. (check_pure_function): New function. (resolve_function): Use it. (pure_subroutine): Return a bool to indicate success and modify arguments. (resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return value of 'pure_subroutine'. (resolve_ppc_call): Call 'pure_subroutine'. (resolve_expr_ppc): Call 'check_pure_function'. 2014-12-14 Janus Weil <janus@gcc.gnu.org> PR fortran/63674 * gfortran.dg/proc_ptr_comp_39.f90: New. * gfortran.dg/pure_dummy_length_1.f90: Modified error message. * gfortran.dg/stfunc_6.f90: Ditto. * gfortran.dg/typebound_operator_4.f90: Ditto. From-SVN: r218717
2014-12-14re PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])Ian Lance Taylor1-0/+11
PR go/61244 compiler: Traverse type descriptor expressions. From-SVN: r218715
2014-12-14Daily bump.GCC Administrator1-1/+1
From-SVN: r218714
2014-12-13re PR libstdc++/64239 (regex_iterator::operator= should copy ↵Tim Shen4-28/+72
match_results::position) PR libstdc++/64239 * include/bits/regex.h (match_results<>::match_results, match_results<>::operator=, match_results<>::position, match_results<>::swap): Remove match_results::_M_in_iterator. Fix ctor/assign/swap. * include/bits/regex.tcc: (__regex_algo_impl<>, regex_iterator<>::operator++): Set match_results::_M_begin as "start position". * testsuite/28_regex/iterators/regex_iterator/char/ string_position_01.cc: Test cases. From-SVN: r218710
2014-12-13Post-Urbana updates to Library Fundamentals v1.Jonathan Wakely10-376/+64
* include/experimental/any (any): Remove allocator support and update feature-testing macro. * include/experimental/functional: Update feature-testing macro. * include/experimental/optional (optional::_M_get()): Add constexpr. (optional::operator*(), optional::value()): Overload and add ref-qualifiers. Update feature-testing macro. * include/experimental/string_view (basic_string_view::clear): Remove and update feature-testing macro. * testsuite/experimental/any/cons/3.cc: Remove. * testsuite/experimental/any/cons/4.cc: Remove. * testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. * testsuite/experimental/string_view/capacity/1.cc: Don't test clear(). From-SVN: r218709
2014-12-13re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)Oleg Endo7-32/+34
gcc/testsuite/ PR target/53513 * gcc.target/sh/attr-isr-nosave_low_regs.c: Fix matching of expected register push/pop sequences. * gcc.target/sh/attr-isr.c: Likewise. * gcc.target/sh/attr-isr-trapa.c: Likewise. * gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise. * gcc.target/sh/pragma-isr-trapa.c: Likewise. * gcc.target/sh/pragma-isr-trapa2.c: Likewise. From-SVN: r218707
2014-12-13sp-switch.c: Match zero or more underscores in alt_stack symbol.Oleg Endo2-1/+6
gcc/testsuite/ * gcc.target/sh/sp-switch.c: Match zero or more underscores in alt_stack symbol. From-SVN: r218706
2014-12-13re PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as ↵Jakub Jelinek3-2/+19
the bootstrap compiler.) PR bootstrap/64023 * Makefile.tpl (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS to POSTSTAGE1_LDFLAGS and STAGE1_LIBS to POSTSTAGE1_LIBS. Add -B to libstdc++-v3/src/.libs and libstdc++-v3/libsupc++/.libs to CXX. * Makefile.in: Regenerated. From-SVN: r218705
2014-12-13re PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])Ian Lance Taylor1-1/+4
PR go/61258 runtime: Don't crash when deleting zero-sized key. From-SVN: r218702
2014-12-13re PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])Ian Lance Taylor1-1/+2
PR go/61254 compiler: Don't move nil subexpressions into temporaries. From-SVN: r218701
2014-12-13testing: Add testing.MainStart function.Ian Lance Taylor1-5/+51
This patches in the Go 1.4 function, for convenience for people using the Go 1.4 go tool with mainline gccgo. From-SVN: r218700
2014-12-13runtime: Clear stack pointers for extra G's.Ian Lance Taylor1-0/+3
Fix an unusual C to Go callback case. Newly created C threads call into Go code, forcing the Go code to allocate new M and G structures. While executing Go code, the stack is split. The Go code then returns. Returning from a Go callback is treated as entering a system call, so the G gcstack field is set to point to the Go stack. In this case, though, we were called from a newly created C thread, so we drop the extra M and G structures. The C thread then exits. Then a new C thread calls into Go code, reusing the previously created M and G. The Go code requires a larger stack frame, causing the old stack segment to be unmapped and a new stack segment allocated. At this point the gcstack field is pointing to the old stack segment. Then a garbage collection occurs. The garbage collector sees that the gcstack field is not nil, so it scans it as the first stack segment. Unfortunately it points to memory that was unmapped. So the program crashes. The fix is simple: when handling extra G structures created for callbacks from new C threads, clear the gcstack field. From-SVN: r218699
2014-12-13re PR libstdc++/58594 (std::make_shared does not accept const types as ↵Jonathan Wakely2-4/+10
parameters) PR libstdc++/58594 * include/bits/shared_ptr_base.h: Real fix for cv-qualified types. From-SVN: r218698
2014-12-13Daily bump.GCC Administrator1-1/+1
From-SVN: r218697
2014-12-13error.c (gfc_error): Add variant which takes a va_list.Tobias Burnus26-408/+517
2014-12-13 Tobias Burnus <burnus@net-b.de> Manuel López-Ibáñez <manu@gcc.gnu.org> fortran/ * error.c (gfc_error): Add variant which takes a va_list. (gfc_notify_std): Convert to common diagnostic. * array.c: Use %qs, %<...%> in more gfc_error calls and for gfc_notify_std. * check.c: Ditto. * data.c: Ditto. * decl.c: Ditto. * expr.c: Ditto. * interface.c: Ditto. * intrinsic.c: Ditto. * io.c: Ditto. * match.c: Ditto. * matchexp.c: Ditto. * module.c: Ditto. * openmp.c: Ditto. * parse.c: Ditto. * primary.c: Ditto. * resolve.c: Ditto. * simplify.c: Ditto. * symbol.c: Ditto. * trans-common.c: Ditto. * trans-intrinsic.c: Ditto. gcc/testsuite/ * gfortran.dg/realloc_on_assign_21.f90: Update dg-error. * gfortran.dg/warnings_are_errors_1.f: Ditto. * gfortran.dg/warnings_are_errors_1.f90: Ditto. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r218694
2014-12-12re PR c++/59240 (ICE in varpool_get_node)Paolo Carlini2-0/+6
2014-12-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59240 * g++.dg/torture/pr59240.C: New. From-SVN: r218693
2014-12-12re PR c++/59628 (ICE with invalid OpenMP "declare reduction" clause)Paolo Carlini4-0/+26
/cp 2014-12-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59628 * semantics.c (finish_omp_reduction_clause): Early return true if DECL_SAVED_TREE (id) is NULL_TREE. /testsuite 2014-12-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59628 * g++.dg/gomp/pr59628.C: New. From-SVN: r218692
2014-12-12re PR libstdc++/58594 (std::make_shared does not accept const types as ↵Jonathan Wakely4-3/+44
parameters) PR libstdc++/58594 * include/bits/shared_ptr_base.h: Cast away cv-quals. * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: New. * testsuite/20_util/shared_ptr/creation/private.cc: Make allocator rebindable so test passes with -fno-rtti. From-SVN: r218691
2014-12-12re PR c++/61924 ([C++11] ICE in instantiate_template_1, at cp/pt.c:15618)Paolo Carlini2-0/+22
2014-12-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61924 * g++.dg/cpp0x/pr61924.C: New. From-SVN: r218690
2014-12-12nvptx: Define valid ASM_OUTPUT_ALIGN.Thomas Schwinge2-1/+13
gcc/ * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGN): Define as a C statment. gcc/doc/tm.texi:@defmac ASM_OUTPUT_ALIGN (@var{stream}, @var{power}) gcc/doc/tm.texi-A C statement to output to the stdio stream @var{stream} an assembler gcc/doc/tm.texi-command to advance the location counter to a multiple of 2 to the gcc/doc/tm.texi-@var{power} bytes. @var{power} will be a C expression of type @code{int}. gcc/doc/tm.texi-@end defmac gcc/config/nvptx/nvptx.h:#define ASM_OUTPUT_ALIGN(FILE, POWER) "Empty" is not a C statement, and so in code such as: gcc/dwarf2out.c- if (lsda_encoding == DW_EH_PE_aligned) gcc/dwarf2out.c: ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); gcc/dwarf2out.c- dw2_asm_output_data (size_of_encoded_value (lsda_encoding), 0, gcc/dwarf2out.c- "Language Specific Data Area (none)"); gcc/varasm.c- if (align > BITS_PER_UNIT) gcc/varasm.c: ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); gcc/varasm.c- assemble_variable_contents (decl, name, dont_output_data); gcc/varasm.c- if (align > 0) gcc/varasm.c: ASM_OUTPUT_ALIGN (asm_out_file, align); gcc/varasm.c- gcc/varasm.c- targetm.asm_out.internal_label (asm_out_file, "LTRAMP", 0); gcc/varasm.c- if (align > BITS_PER_UNIT) gcc/varasm.c: ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); gcc/varasm.c- assemble_constant_contents (exp, XSTR (symbol, 0), align); ..., GCC warns: [...]/source-gcc/gcc/dwarf2out.c: In function 'void output_fde(dw_fde_ref, bool, bool, char*, int, char*, bool, int)': [...]/source-gcc/gcc/dwarf2out.c:665:3: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); ^ [...]/source-gcc/gcc/varasm.c: In function 'void assemble_variable(tree, int, int, int)': [...]/source-gcc/gcc/varasm.c:2217:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); ^ [...]/source-gcc/gcc/varasm.c: In function 'rtx_def* assemble_trampoline_template()': [...]/source-gcc/gcc/varasm.c:2603:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] ASM_OUTPUT_ALIGN (asm_out_file, align); ^ [...]/source-gcc/gcc/varasm.c: In function 'void output_constant_def_contents(rtx)': [...]/source-gcc/gcc/varasm.c:3413:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT)); ^ Also, "use" the values, to get rid of that one: [...]/source-gcc/gcc/final.c: In function 'rtx_insn* final_scan_insn(rtx_insn*, FILE*, int, int, int*)': [...]/source-gcc/gcc/final.c:2450:12: warning: variable 'log_align' set but not used [-Wunused-but-set-variable] int log_align; ^ From-SVN: r218689
2014-12-12re PR rtl-optimization/64110 (ICE: Max. number of generated reload insns per ↵Vladimir Makarov4-0/+52
insn is achieved (90)) 2014-12-12 Vladimir Makarov <vmakarov@redhat.com> PR target/64110 * lra-constraints.c (process_alt_operands): Refuse alternative when reload pseudo of given class can not hold value of given mode. 2014-12-12 Vladimir Makarov <vmakarov@redhat.com> PR target/64110 * gcc.target/i386/pr64110.c: New. From-SVN: r218688
2014-12-12OpenMP target nesting tests.Thomas Schwinge3-0/+103
gcc/testsuite/ * c-c++-common/gomp/nesting-1.c: New file. * c-c++-common/gomp/nesting-warn-1.c: Likewise. From-SVN: r218687
2014-12-12A bit of walk_gimple_op maintenance.Thomas Schwinge2-18/+38
* gimple-walk.c (walk_gimple_op) <GIMPLE_OMP_FOR>: Also check intermediate walk_tree results for for_incr. <GIMPLE_OMP_TARGET>: Walk child_fn and data_arg, too. <GIMPLE_OMP_CRITICAL, GIMPLE_OMP_ATOMIC_STORE>: Pretty printing. From-SVN: r218686
2014-12-12pt.c (do_auto_deduction): In direct-init context, { x } deduces from x.Jason Merrill5-2/+37
N3922 * pt.c (do_auto_deduction): In direct-init context, { x } deduces from x. From-SVN: r218685
2014-12-12cp-tree.h (NAMESPACE_ABI_TAG): New.Jason Merrill5-47/+108
* cp-tree.h (NAMESPACE_ABI_TAG): New. * name-lookup.c (handle_namespace_attrs): Set it. * class.c (check_tag): Split out from find_abi_tags_r. (find_abi_tags_r): Also check namespace tags. (mark_type_abi_tags): Also mark namespace tags. From-SVN: r218684
2014-12-12re PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)Kai Tietz2-0/+15
PR c++/63996 * g++.dg/cpp1y/pr63996.C: New file. From-SVN: r218683
2014-12-12re PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)Kai Tietz2-1/+7
PR c++/63996 * constexpr.c (cxx_eval_loop_expr): Don't loop endless on none-constant expression. From-SVN: r218682