aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-04-17Propagate dump flags in pass_manager::register_passTom de Vries4-1/+25
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/70183 * passes.c (pass_manager::register_pass): Propagate pflags. * gcc.target/i386/vzeroupper-dump-flags.c: New test. From-SVN: r235072
2016-04-17Add pass parameter to TERMINATE_PASS_LISTTom de Vries4-12/+25
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/68875 * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument. * passes.c (pass_manager::pass_manager): Declare and init p_start in INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and check if it's equal to p_start. * passes.def: Add arguments to TERMINATE_PASS_LISTs. From-SVN: r235071
2016-04-17Daily bump.GCC Administrator1-1/+1
From-SVN: r235070
2016-04-16re PR target/1078 (Problems with attributes documentation)Sandra Loosemore2-32/+7
2016-04-16 Sandra Loosemore <sandra@codesourcery.com> PR target/1078 gcc/cp/ * tree.c (cxx_attribute_table): Remove "com_interface" entry. (handle_com_interface_attribute): Delete. From-SVN: r235066
2016-04-16re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as ↵Jan Hubicka7-25/+194
pure/const) PR ipa/70018 * cgraph.c (cgraph_set_const_flag_1): Only set as pure if function does not bind to current def. * ipa-pure-const.c (worse_state): Add FROM and TO parameters; handle conservatively calls to functions that does not need to bind to current def. (check_call): Update call of worse_state. (ignore_edge_for_nothrow): Update. (ignore_edge_for_pure_const): Likewise. (propagate_pure_const): Update calls to worse_state. (skip_function_for_local_pure_const): Reformat comments. * g++.dg/ipa/pure-const-1.C: New testcase. * g++.dg/ipa/pure-const-2.C: New testcase. * g++.dg/ipa/pure-const-3.C: New testcase. From-SVN: r235065
2016-04-16re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as ↵Jan Hubicka5-52/+199
pure/const) PR ipa/70018 * cgraph.c (cgraph_node::get_availability): Add REF parameter. (cgraph_node::function_symbol): Likewise. (cgraph_node::function_or_virtual_thunk_symbol): Likewise. * cgraph.h (symtab_node::get_availabbility): Add REF parameter. (symtab_node::ultimate_alias_target): Add REF parameter. (symtab_node::binds_to_current_def_p): Declare. (symtab_node;:ultimate_alias_target_1): Add REF parameter. (cgraph_node::function_symbol): Likewise. (cgraph_node::function_or_virtual_thunk_symbol): Likewise. (cgraph_node::get_availability): Likewise. (cgraph_edge::binds_to_current_def_p): New inline function. (varpool_node::get_availability): Add REF parameter. (varpool_node::ultimate_alias_target): Likewise. * symtab.c (symtab_node::ultimate_alias_target_1): Likewise. (symtab_node::binds_to_current_def_p): Likewise. * varpool.c (varpool_node::get_availability): Likewise. From-SVN: r235063
2016-04-16Daily bump.GCC Administrator1-1/+1
From-SVN: r235058
2016-04-15re PR c++/70685 (ICE: Segmentation fault)Jason Merrill3-1/+80
PR c++/70685 * constexpr.c (get_fundef_copy): Handle null *slot. From-SVN: r235045
2016-04-15re PR c++/70505 (Constexpr failure when template type specified)Jason Merrill3-3/+27
PR c++/70505 * pt.c (tsubst_baselink): Give the new TEMPLATE_ID_EXPR unknown_type_node, too. From-SVN: r235042
2016-04-15AVX-512. Fix mode size check.Kirill Yukhin2-1/+7
PR target/70662 gcc/ * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"): Fix mode size check. From-SVN: r235038
2016-04-15* BASE-VER: Set to 7.0.0.basepoints/gcc-7Jakub Jelinek3-15/+19
From-SVN: r235035
2016-04-15re PR c++/70594 (-fcompare-debug failure)Jason Merrill4-36/+51
PR c++/70594 * constexpr.c (constexpr_call_table): Preserve in GC. (struct fundef_copy, struct fundef_copies_table_t): Delete. (fundef_copies_table): Preserve in GC. Change to pointer to tree->tree hash. (maybe_initialize_fundef_copies_table): Adjust. (get_fundef_copy): Return a TREE_LIST. Use non-inserting search. (save_fundef_copy): Adjust for a TREE_LIST. (cxx_eval_call_expression): Adjust for a fundef_copy TREE_LIST. (fini_constexpr): New. * cp-tree.h (fini_constexpr): Declare. * decl2.c (c_parse_final_cleanups): Call fini_constexpr. Co-Authored-By: Nathan Sidwell <nathan@acm.org> From-SVN: r235033
2016-04-15re PR c/70671 (Wrong column number shown for "error: cannot take address of ↵Marek Polacek4-6/+36
bit-field") PR c/70671 * c-typeck.c (build_unary_op): Pass location down to error and warning call. * gcc.dg/bitfld-22.c: New test. From-SVN: r235032
2016-04-15config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.Alexander Monakov2-1/+5
From-SVN: r235031
2016-04-15[ARM][doc] Document deprecation of pre-ARMv4T architecture revisionsKyrylo Tkachov2-0/+7
* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T architecture revisions. From-SVN: r235029
2016-04-15i386: Don't convert stack operations to pushes if using a redzone.Bernd Schmidt6-6/+24
* config/i386/i386-protos.h (ix86_using_red_zone): Declare. * config/i386/i386.c (ix86_using_red_zone): No longer static. * config/i386/i386.md (stack decrement to push peepholes): Guard with !x86_using_red_zone (). testsuite/ * gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for x86_64. From-SVN: r235028
2016-04-15re PR c/70651 (ICE on invalid code on x86_64-linux-gnu in build_va_arg, at ↵Marek Polacek4-2/+32
c-family/c-common.c:5728) PR c/70651 * c-common.c (build_va_arg): Change two asserts into errors and return error_mark_node. * c-c++-common/pr70651.c: New test. From-SVN: r235027
2016-04-15re PR c++/70675 (compare-debug failure building LLVM)Jakub Jelinek2-4/+11
PR c++/70675 * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down to dump_generic_node. (NIY): Pass also flags to do_niy. From-SVN: r235025
2016-04-15[testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and ↵Kyrylo Tkachov3-2/+11
pr10474.c tests on arm, powerpc PR rtl-optimization/70681 * gcc.dg/ira-shrinkwrap-prep-2.c: XFAIL shrinkwrapping dump scan on arm and powerpc. * gcc.dg/pr10474.c: Likewise. From-SVN: r235024
2016-04-15re PR c++/69517 (SEGV on a VLA with excess initializer elements)Jakub Jelinek2-713/+6
PR c++/69517 PR c++/70019 PR c++/70588 * g++.dg/cpp1y/vla11.C: Revert for real. From-SVN: r235021
2016-04-15re PR c/70436 (-Wparentheses missing ambiguous else warning)Jakub Jelinek13-210/+2228
PR c/70436 c/ * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down where needed. (c_parser_external_declaration, c_parser_struct_or_union_specifier, c_parser_parameter_declaration, c_parser_compound_statement_nostart, c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist): Adjust c_parser_pragma callers. (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for caller. (c_parser_omp_structured_block): Add IF_P argument, pass it down to c_parser_statement. (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop, c_parser_oacc_kernels_parallel, c_parser_omp_critical, c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master, c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single, c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute, c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target, c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize, c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it down where needed. (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block calls. cp/ * parser.c (cp_parser_pragma): Add IF_P argument, pass it down where needed. (cp_parser_declaration_seq_opt, cp_parser_member_specification_opt, cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd, cp_parser_oacc_routine): Adjust cp_parser_pragma callers. (cp_parser_statement): Likewise. Adjust cp_parser_cilk_for caller. (cp_parser_omp_structured_block): Add IF_P argument, pass it down to cp_parser_statement. (cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop, cp_parser_oacc_kernels_parallel, cp_parser_omp_critical, cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master, cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single, cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target, cp_parser_omp_taskloop, cp_parser_omp_construct, cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for): Add IF_P argument, pass it down where needed. (cp_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block calls. testsuite/ * c-c++-common/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-2.c: New test. * c-c++-common/gomp/Wparentheses-3.c: New test. * c-c++-common/gomp/Wparentheses-4.c: New test. * c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test. * c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test. * c-c++-common/goacc/Wparentheses-1.c: New test. From-SVN: r235020
2016-04-15Split out OMP constructs' SIMD clone supporting codeThomas Schwinge4-1606/+1673
gcc/ * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy) (simd_clone_vector_of_formal_parm_types) (simd_clone_clauses_extract, simd_clone_compute_base_data_type) (simd_clone_mangle, simd_clone_create) (simd_clone_adjust_return_type, create_tmp_simd_array) (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays) (struct modify_stmt_info, ipa_simd_modify_stmt_ops) (ipa_simd_modify_function_body, simd_clone_linear_addend) (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone) (pass_data_omp_simd_clone, class pass_omp_simd_clone) (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into... * omp-simd-clone.c: ... this new file. (simd_clone_vector_of_formal_parm_types): Make it static. * Makefile.in (OBJS): Add omp-simd-clone.o. From-SVN: r235017
2016-04-15AVX-512. Fix mem operand modifier for Intel syntax.Kirill Yukhin4-2/+36
PR target/70662 gcc/ * config/i386/sse.md: Use proper memory operand modifiers. testsuite/gcc/ * gcc.target/i386/pr70662.c: New test. From-SVN: r235008
2016-04-15re PR tree-optimization/70130 (h264ref fails with verification error ↵Richard Biener4-4/+121
starting with r231674 (r224221 is the true start of the problem)) 2016-04-15 Richard Biener <rguenther@suse.de> Alan Modra <amodra@gmail.com> PR tree-optimization/70130 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect when alignment stays not the same and no not use the realign scheme then. * gcc.dg/vect/O3-pr70130.c: New testcase. Co-Authored-By: Alan Modra <amodra@gmail.com> From-SVN: r235006
2016-04-15re PR c++/70494 (Internal Compiler Error: Capturing an array of vectors in a ↵Jason Merrill4-10/+24
lambda) PR c++/70494 * decl.c (cxx_maybe_build_cleanup): Handle non-decls. * typeck2.c (split_nonconstant_init_1): Use it. From-SVN: r235003
2016-04-14re PR c++/70528 (bogus error: constructor required before non-static data ↵Jason Merrill7-7/+30
member) PR c++/70528 * class.c (type_has_constexpr_default_constructor): Return true for an implicitly declared constructor. From-SVN: r235002
2016-04-15Daily bump.GCC Administrator1-1/+1
From-SVN: r234999
2016-04-14re PR target/70669 (PowerPC __float128 does not support direct move)Michael Meissner4-5/+57
[gcc] 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70669 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add direct move handlers for KFmode. Change TFmode handlers test from FLOAT128_IEEE_P to FLOAT128_VECTOR_P. [gcc/testsuite] 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70669 * gcc.target/powerpc/pr70669.c: New test. From-SVN: r234995
2016-04-14re PR c++/70622 (auto specifier don't deduce value type and its pointer type ↵Jason Merrill3-12/+56
within single declaration.) PR c++/70622 * parser.c (cp_parser_init_declarator): Add auto_result parm. (cp_parser_simple_declaration): Pass it. (strip_declarator_types): New. From-SVN: r234991
2016-04-14re PR c++/70543 (wrong non-const error for enable_if and constexpr function)Jason Merrill3-0/+22
PR c++/70543 * pt.c (value_dependent_expression_p) [VAR_DECL]: A type-dependent initializer also makes the variable value-dependent. From-SVN: r234990
2016-04-14re PR c++/70648 (adplug-xmms fails to compile)Jason Merrill3-0/+19
PR c++/70648 * constexpr.c (cxx_eval_store_expression): Also copy CONSTRUCTOR_NO_IMPLICIT_ZERO. From-SVN: r234989
2016-04-14re PR target/70640 (IEEE 128-bit floating point negative/abs has two thinkos)Michael Meissner2-1/+8
2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70640 * gcc.target/powerpc/pr70640.c: Fix test so it correctly works on a power7 system that does not have an assembler that supports power8. From-SVN: r234988
2016-04-14re PR c++/70594 (-fcompare-debug failure)Jakub Jelinek4-13/+41
PR c++/70594 * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype. * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function. (inlined_polymorphic_ctor_dtor_block_p): Use it. * tree-ssa-live.c (remove_unused_scope_block_p): When in_ctor_dtor_block, avoid discarding not just BLOCKs with BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when block_ultimate_origin is FUNCTION_DECL. (remove_unused_locals): If current_function_decl is polymorphic_ctor_dtor_p, pass initial true to remove_unused_scope_block_p' is_ctor_dtor_block. From-SVN: r234987
2016-04-14PR c++/70652 - [6 Regression] r234966 causes bootstrap to failMartin Sebor15-872/+47
PR c++/70652 - [6 Regression] r234966 causes bootstrap to fail Revert patch for c++/69517, c++/70019, and c++/70588. From-SVN: r234981
2016-04-14re PR c++/70029 (ICE with C++11 and -flto)Marek Polacek4-1/+28
PR c++/70029 * tree.c (verify_type): Disable the canonical type of main variant check. * g++.dg/torture/pr70029.C: New test. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r234979
2016-04-14Revert empty class parameter passing ABI changes.Jason Merrill47-929/+15
From-SVN: r234977
2016-04-14g++.dg/cpp1y/vla11.C...Martin Sebor2-1/+8
g++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase type size to prevent failures on targets with very low maximum alignment. From-SVN: r234976
2016-04-14re PR middle-end/70643 (broken openacc reduction inside a fortran module)Cesar Philippidis2-1/+7
PR middle-end/70643 gcc/ * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT when building a mem ref for the incoming reduction variable. libgomp/ * testsuite/libgomp.oacc-fortran/pr70643.f90: New test. From-SVN: r234973
2016-04-14re PR tree-optimization/70614 (GCC gets stuck with -O)Richard Biener2-0/+12
2016-04-14 Richard Biener <rguenther@suse.de> PR tree-optimization/70614 * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate loop if the evolution dropped to chrec_dont_know. (interpret_condition_phi): Likewise. From-SVN: r234972
2016-04-14re PR tree-optimization/70623 (ICE in compute_antic at -O2)Richard Biener5-49/+140
2016-04-14 Richard Biener <rguenther@suse.de> PR tree-optimization/70623 * tree-ssa-pre.c (changed_blocks): Make global ... (compute_antic): ... local here. Move and fix worklist handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges. (compute_antic_aux): Add dumping for MAX assumed succs. Remove worklist handling, dump when ANTIC_IN changed. (compute_partial_antic_aux): Remove worklist handling. (init_pre): Do not compute post dominators. Add a comment about the CFG order chosen. (fini_pre): Do not free post dominators. * gcc.dg/torture/pr70623.c: New testcase. * gcc.dg/torture/pr70623-2.c: Likewise. From-SVN: r234970
2016-04-14Daily bump.GCC Administrator1-1/+1
From-SVN: r234969
2016-04-13PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elementsMartin Sebor16-19/+1620
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements PR c++/70019 - VLA size overflow not detected PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2 gcc/testsuite/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * c-c++-common/ubsan/vla-1.c (main): Catch exceptions. * g++.dg/cpp1y/vla11.C: New test. * g++.dg/cpp1y/vla12.C: New test. * g++.dg/cpp1y/vla13.C: New test. * g++.dg/cpp1y/vla14.C: New test. * g++.dg/cpp1y/vla3.C: Restore deleted test. * gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer. * g++.dg/ubsan/vla-1.C: Disable exceptions. gcc/cp/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new functions. * decl.c (check_initializer, cp_finish_decl): Call them. (reshape_init_r): Reject incompletely braced intializer-lists for VLAs. * init.c (throw_bad_array_length, build_vla_check) (build_vla_size_check, build_vla_init_check): Define new functions. * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p() to detect a VLA. (store_init_value): Same. gcc/doc/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * extend.texi (Variable Length): Document C++ specifics. libstdc++-v3/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA upper bound is positive. From-SVN: r234966
2016-04-13re PR c++/70641 (ICE on valid code at -O1 and above on x86_64-linux-gnu: ↵Jakub Jelinek4-1/+36
verify_gimple failed) PR c++/70641 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt on all recursive call stmts. Return TODO_cleanup_cfg if any dead eh edges have been purged. * g++.dg/opt/pr70641.C: New test. From-SVN: r234962
2016-04-13re PR c++/70594 (-fcompare-debug failure)Jakub Jelinek3-2/+103
PR c++/70594 * tree-sra.c (create_access_replacement, get_replaced_param_substitute): Set DECL_NAMELESS on repl if it gets fancy name. * tree-pretty-print.c (dump_fancy_name): New function. (dump_decl_name, dump_generic_node): Use it. From-SVN: r234961
2016-04-13Warn about empty parameter ABI with -Wabi=9.Jason Merrill47-1/+890
* call.c (empty_class_msg, mark_for_abi_warning) (warn_empty_class_abi): New. (build_call_a): Use them. * decl.c (store_parm_decls): Use mark_for_abi_warning. * error.c (pp_format_to_string): New. From-SVN: r234960
2016-04-13Pass empty class parameters like C.Jason Merrill4-5/+60
* call.c (pass_as_empty_struct, empty_class_arg): New. (type_passed_as, build_x_va_arg): Use pass_as_empty_struct. (build_call_a): Use empty_class_arg. * cp-tree.h (CPTI_EMPTY_STRUCT, empty_struct_type): New. * decl.c (cxx_init_decl_processing): Create empty_struct_type. From-SVN: r234959
2016-04-13libgo: update to Go 1.6.1 releaseIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/22007 From-SVN: r234958
2016-04-13re PR c++/70627 (internal compiler error: verify_type failed)Jason Merrill3-1/+38
PR c++/70627 * decl.c (start_enum): Don't change an existing ENUM_UNDERLYING_TYPE. From-SVN: r234956
2016-04-13Fix gcc.dg/ifcvt-4.c on 64-bit SPARC (PR rtl-optimization/68749)Rainer Orth2-5/+14
PR rtl-optimization/68749 * gcc.dg/ifcvt-4.c: Use "word_mode" rather than "int" to limit the effects of argument promotions. Remove default args to dg-skip-if. From-SVN: r234955
2016-04-13re PR c++/70635 (ICE on (and rejects) valid code on x86_64-linux-gnu: ↵Paolo Carlini4-2/+38
Segmentation fault (program cc1plus)) /cp 2016-04-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70635 * pt.c (resolve_typename_type): Fix typos in infinite recursion avoidance mechanism. /testsuite 2016-04-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70635 * g++.dg/parse/pr70635.C: New. From-SVN: r234953