aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-01-27libcpp: use better locations for _Pragma tokens (preprocessor/69126)David Malcolm2-0/+27
gcc/testsuite/ChangeLog: PR preprocessor/69126 * c-c++-common/pr69126.c: New test case. libcpp/ChangeLog: PR preprocessor/69126 * directives.c (destringize_and_run): Add expansion_loc param; use it when handling unexpanded pragmas to fixup the locations of the synthesized tokens. (_cpp_do__Pragma): Add expansion_loc param and use it when calling destringize_and_run. * internal.h (_cpp_do__Pragma): Add expansion_loc param. * macro.c (builtin_macro): Pass expansion location of _Pragma to _cpp_do__Pragma. From-SVN: r232893
2016-01-27compiler: Accept map composite literals with omitted key types.Ian Lance Taylor4-74/+116
compiler: Copy key_path_ when copying a Composite_literal_expression. Fixes golang/go#10263. Reviewed-on: https://go-review.googlesource.com/14299 Reviewed-on: https://go-review.googlesource.com/18988 From-SVN: r232892
2016-01-27re PR lto/69254 (ICE in streamer_get_builtin_tree when using ↵Jakub Jelinek4-6/+35
-fsanitize=shift on the compile side only) PR lto/69254 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB. * asan.c (DEF_BUILTIN_STUB): Temporarily define. * tree-streamer-in.c: Include asan.h. (streamer_get_builtin_tree): For builtins in sanitizer range call initialize_sanitizer_builtins and retry. From-SVN: r232891
2016-01-27go-lang.c (go_langhook_init_options_struct): Default to -fkeep-gc-roots-live.Ian Lance Taylor2-0/+8
* go-lang.c (go_langhook_init_options_struct): Default to -fkeep-gc-roots-live. From-SVN: r232890
2016-01-27common.opt (fkeep-gc-roots-live): New undocumented option.Ian Lance Taylor5-2/+54
gcc/: * common.opt (fkeep-gc-roots-live): New undocumented option. * tree-ssa-loop-ivopts.c (add_candidate_1): If -fkeep-gc-roots-live, skip pointers. (add_iv_candidate_for_biv): Handle add_candidate_1 returning NULL. gcc/testsuite/: * gcc.dg/tree-ssa/ivopt_5.c: New test. From-SVN: r232888
2016-01-27re PR c++/69267 ([cilkplus] ICE when calling a function with an empty class ↵Ryan Burn8-9/+38
as an argument) 2016-01-15 Ryan Burn <contact@rnburn.com> PR cilkplus/69267 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use gimplify_arg. Removed superfluous post_p argument. * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed superfluous post_p argument. * c-gimplify.c (c_gimplify_expr): Likewise. gcc/cp/ChangeLog: 2016-01-15 Ryan Burn <contact@rnburn.com> PR cilkplus/69267 * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed superfluous post_p argument in call to cilk_gimplify_call_params_in_spawned_fn. gcc/testsuite/ChangeLog: 2016-01-15 Ryan Burn <contact@rnburn.com> PR cilkplus/69267 * g++.dg/cilk-plus/CK/pr69267.cc: New test. From-SVN: r232887
2016-01-27re PR target/69512 (ICE when using avx with i586)Uros Bizjak4-2/+46
2016-01-27 Uros Bizjak <ubizjak@gmail.com> PR target/69512 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern. (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND. testsuite/ChangeLog: 2016-01-27 Uros Bizjak <ubizjak@gmail.com> PR target/69512 * gcc.target/i386/pr69512.c: New test. From-SVN: r232885
2016-01-27re PR target/68380 (NetBSD has SSP in libc)Thomas Klausner3-2/+8
2016-01-27 Thomas Klausner <wiz@NetBSD.org> PR target/68380 * configure.ac: NetBSD provides SSP in its C library. * configure: Updated. From-SVN: r232884
2016-01-27re PR ada/69488 (tests in gnat/sso give a lot of spurious failures)Rainer Emrich58-349/+354
PR ada/69488 * gnat.dg/sso/*.adb: Robustify dg-output directives. From-SVN: r232883
2016-01-27re PR c++/69379 (ICE in fold_convert_loc, at fold-const.c:2366)Marek Polacek4-0/+45
PR c++/69379 * constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs wrapped in NOP_EXPRs. * g++.dg/pr69379.C: New test. From-SVN: r232882
2016-01-27PR c++/69317 - [6 regression] wrong ABI version in -Wabi warningsMartin Sebor7-3/+77
gcc/cp/ChangeLog: 2016-01-27 Martin Sebor <msebor@redhat.com> PR c++/69317 * mangle.c (mangle_decl): Reference the correct (saved) version of the ABI in -Wabi diagnostics. gcc/testsuite/ChangeLog: 2016-01-27 Martin Sebor <msebor@redhat.com> PR c++/69317 * g++.dg/abi/Wabi-2-2.C: New test. * g++.dg/abi/Wabi-2-3.C: New test. * g++.dg/abi/Wabi-3-2.C: New test. * g++.dg/abi/Wabi-3-3.C: New test. From-SVN: r232881
2016-01-27re PR tree-optimization/69166 (ICE in get_initial_def_for_reduction, at ↵Richard Biener4-14/+39
tree-vect-loop.c:4188) 2016-01-27 Richard Biener <rguenther@suse.de> PR tree-optimization/69166 * tree-vect-loop.c (vect_is_simple_reduction): Always check reduction code for commutativity / associativity. * gcc.dg/torture/pr69166.c: New testcase. From-SVN: r232878
2016-01-27[PR 69355] Correct hole detection when total_scalarization failsMartin Jambor4-1/+56
2016-01-27 Martin Jambor <mjambor@suse.cz> PR tree-optimization/69355 * tree-sra.c (analyze_access_subtree): Correct hole detection when total_scalarization fails. testsuite/ * gcc.dg/tree-ssa/pr69355.c: New test. From-SVN: r232877
2016-01-27re PR c++/69496 ([C++ 14] ICE on VLA in constexpr function)Marek Polacek4-1/+47
PR c++/69496 * constexpr.c (cxx_eval_array_reference): Evaluate the number of elements of the array. * g++.dg/ext/constexpr-vla1.C: New test. From-SVN: r232875
2016-01-27driver-rs6000.c (detect_processor_aix): Add power9.David Edelsohn2-1/+9
* config/rs6000/driver-rs6000.c (detect_processor_aix): Add power9. From-SVN: r232873
2016-01-27re PR target/69245 (ICE in extract_insn, at recog.c:2286 on arm-linux-gnueabihf)Christian Bruel6-32/+87
2016-01-20 Christian Bruel <christian.bruel@st.com> PR target/69245 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments. Move arm_reset_previous_fndecl and set_target_option_current_node in the conditional part. Call save_restore_target_globals. * config/arm/arm.c (arm_set_current_function): Refactor to better support #pragma target and attribute mix. Call save_restore_target_globals. * config/arm/arm-protos.h (save_restore_target_globals): New function. From-SVN: r232872
2016-01-27HSA: simplify partitioning of HSA kernels and host impls.Martin Liska4-19/+15
* lto-partition.c (add_symbol_to_partition_1): Remove usage of hsa_summaries. * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR reference for an HSA kernel and its host function. From-SVN: r232871
2016-01-27re PR tree-optimization/69399 (wrong code with -O and int128)Jakub Jelinek4-1/+32
PR tree-optimization/69399 * wide-int.h (wi::lrshift): For larger precisions, only use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT. * gcc.dg/torture/pr69399.c: New test. From-SVN: r232869
2016-01-27[ARC] Reject constant-constant comparison.Claudiu Zissulescu2-0/+7
gcc/ 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/predicates.md (proper_comparison_operator): Reject constant-constant comparison. From-SVN: r232868
2016-01-27* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL on SPARC 64-bit.Eric Botcazou2-1/+5
From-SVN: r232867
2016-01-27Daily bump.GCC Administrator1-1/+1
From-SVN: r232861
2016-01-27compiler: Don't crash on erroneous array return types.Ian Lance Taylor2-1/+3
Another issue with erroneous array types. When an erroneous array type is in a function's signature, particularly the return type, we must guarantee that type is changed into an error type. Otherwise, any operations that work on arrays and slices will crash when applied to the erroneous array return type. Fixes golang/go#12939. Reviewed-on: https://go-review.googlesource.com/16235 From-SVN: r232858
2016-01-26compiler: Don't crash on invalid array type declarations.Ian Lance Taylor2-1/+10
Fixes golang/go#12937. Reviewed-on: https://go-review.googlesource.com/16233 From-SVN: r232857
2016-01-26* gcc.c-torture/execute/stkalign.c: XFAIL run on SPARC 64-bit.Eric Botcazou2-0/+5
From-SVN: r232856
2016-01-26compiler: Avoid knock-on errors with impossibly large types.Ian Lance Taylor2-3/+5
The gofrontend asks the backend compiler for the architecture appropriate size of a given type. For array types, it is possible to construct a type too large to fit on the machine. This patch does two things: 1. When an impossibly large type is encountered, we mark the type as erroneous and later calls to discover the size of that type are short-circuited. 2. When generating the GC symbol data for an impossibly large array of arrays, we avoid generating symbol data as soon as we find an array that is too large to be expressed. Fixes golang/go#12938. Reviewed-on: https://go-review.googlesource.com/16234 From-SVN: r232855
2016-01-26Handle DR_NUM_DIMENSIONS == 0 in initialize_data_dependence_relationTom de Vries4-10/+39
2016-01-26 Tom de Vries <tom@codesourcery.com> PR tree-optimization/69110 * tree-data-ref.c (initialize_data_dependence_relation): Handle DR_NUM_DIMENSIONS == 0. * gcc.dg/autopar/pr69110.c: New test. * testsuite/libgomp.c/pr69110.c: New test. From-SVN: r232852
2016-01-26handle isl_ast_op_selectAbderrazek Zaafrani4-10/+49
2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle isl_ast_op_cond and isl_ast_op_select. (gcc_expression_from_isl_expr_op): Same. * gcc.dg/graphite/isl-ast-op-select.c: New. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r232851
2016-01-26[multiple changes]Paul Thomas4-8/+64
2016-01-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/69385 * trans-expr.c (gfc_trans_assignment_1): Exclude initialization assignments from check on assignment of scalars to unassigned arrays and correct wrong code within the corresponding block. 2015-01-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/69385 * gfortran.dg/allocate_error_6.f90: New test. From-SVN: r232850
2016-01-26re PR c++/68949 (Implicit initialization of array member silently miscompiling.)Jason Merrill5-17/+47
PR c++/68949 * constexpr.c (register_constexpr_fundef): Keep the un-massaged body. (cxx_eval_call_expression): Don't look through clones. * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias. * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of maybe-in-charge *tor. From-SVN: r232848
2016-01-26re PR c++/68782 (bad reference member formed with constexpr)Jason Merrill6-20/+141
PR c++/68782 gcc/ * tree.c (recompute_constructor_flags): Split out from build_constructor. (verify_constructor_flags): New. * tree.h: Declare them. gcc/cp/ * constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT and TREE_SIDE_EFFECTS. (cxx_eval_constant_expression) [CONSTRUCTOR]: Call verify_constructor_flags. From-SVN: r232847
2016-01-26re PR rtl-optimization/69217 (ICE at var-tracking.c:5038 Segmentation fault)Iain Buclaw2-1/+8
PR rtl-optimization/69217 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there are no TYPE_FIELDS set for the record type. From-SVN: r232845
2016-01-26re PR target/68662 (FAIL: gcc.dg/lto/20090210 ↵Jakub Jelinek2-10/+16
c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects) PR target/68662 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize toc_label_name unconditionally. (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for SYMBOL_REF string. Use toc_label_name instead of constructing LCTOC1. (rs6000_elf_declare_function_name): Use toc_label_name instead of constructing LCTOC1. From-SVN: r232844
2016-01-26re PR c++/68357 (FAIL: g++.dg/other/darwin-cfstring1.C -std=* (internal ↵Jakub Jelinek2-9/+65
compiler error) on x86_64-apple-darwin1(0|4|5)) PR c++/68357 * cp-gimplify.c (cp_fold): If some operand folds to error_mark_node, return error_mark_node instead of building trees with error_mark_node operands. From-SVN: r232843
2016-01-26PR other/69477 - attribute aligned documentation misleadingMartin Sebor2-33/+40
gcc/ChangeLog: 2016-01-26 Martin Sebor <msebor@redhat.com> PR other/69477 * doc/extend.texi (Common Type Attributes): Move text that talks about attribute packed from attribute aligned to the section discussing the former attribute for clarity. From-SVN: r232840
2016-01-26re PR middle-end/60908 (compiler bug related to trans-mem.c)Richard Henderson4-3/+28
PR middle-end/60908 * trans-mem.c (tm_region_init): Mark entry block as visited. testsuite/ * gcc.dg/tm/pr60908.c: New test. From-SVN: r232839
2016-01-26remove accidental empty commitNathan Sidwell1-0/+0
From-SVN: r232838
2016-01-26PR other/69006: fix extra newlines after diagnosticsDavid Malcolm19-125/+179
gcc/c-family/ChangeLog: PR other/69006 * c-opts.c (c_diagnostic_finalizer): Replace invocation of pp_newline_and_flush with pp_flush. gcc/cp/ChangeLog: PR other/69006 * error.c (print_instantiation_partial_context_line): Add missing newlines from output for the t == NULL case. (print_instantiation_partial_context): Remove call to pp_newline. gcc/ChangeLog: PR other/69006 * diagnostic-show-locus.c (layout::print_source_line): Replace call to pp_newline with call to layout::print_newline. (layout::print_annotation_line): Likewise. (layout::move_to_column): Likewise. (layout::print_any_fixits): After printing any fixits, print a trailing newline, if necessary. (layout::print_newline): New method, resetting any colorization before a newline. (diagnostic_show_locus): Move the pp_newline to before the early bailout. Remove dummy block enclosing the layout instance. * diagnostic.c (default_diagnostic_finalizer): Replace invocation of pp_newline_and_flush with pp_flush. (diagnostic_append_note): Delete use of pp_newline. (diagnostic_append_note_at_rich_loc): Delete. * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete. * pretty-print.h (output_buffer_append_r): Reset buff->line_length when newline characters are added to the buffer. gcc/fortran/ChangeLog: PR other/69006 * error.c (gfc_diagnostic_starter): Delete use of pp_newline. gcc/testsuite/ChangeLog: PR other/69006 * g++.dg/ext/timevar1.C: Add dg-allow-blank-lines-in-output directive. * gcc.dg/plugin/diagnostic-test-show-locus-color.c: Update expected multiline output to reflect the colorization being disabled before newlines. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (custom_diagnostic_finalizer): Replace call to pp_newline_and_flush with call to pp_flush. * gcc.dg/unroll-2.c: Add dg-allow-blank-lines-in-output directive. * gfortran.dg/implicit_class_1.f90: Likewise. * lib/gcc-dg.exp (allow_blank_lines): New global. (dg-allow-blank-lines-in-output): New procedure. (gcc-dg-prune): Complain about blank lines in the output, unless dg-allow-blank-lines-in-output was called. * lib/multiline.exp (_build_multiline_regex): Only support arbitrary followup text for non-blank-lines, not for blank lines. From-SVN: r232837
2016-01-26configure.ac (ac_cv_std_swap_in_utility): New test.Michael Matz5-10/+67
* configure.ac (ac_cv_std_swap_in_utility): New test. * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well. * configure: Regenerate. * config.in: Regenerate. From-SVN: r232836
2016-01-26[ARC] Fix arcset* pattern's predicate.Claudiu Zissulescu2-7/+20
gcc/ 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (cstoresi4): Force operand into register. (arcset<code>): Fix predicate. (arcsetltu): Likewise. (arcsetgeu): Likewise. (arcsethi): Likewise. (arcsetls): Likewise. From-SVN: r232834
2016-01-26re PR tree-optimization/69483 (gcc ICE on x86_64-linux-gnu with "expected ↵Jakub Jelinek7-9/+39
class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p") PR tree-optimization/69483 * gimple-fold.c (canonicalize_constructor_val): Return NULL if base has error_mark_node type. * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT. * gcc.dg/pr69483.c: New test. * g++.dg/opt/pr69483.C: New test. From-SVN: r232833
2016-01-26re PR target/68620 (ICE on gcc.target/arm/attr-neon-fp16.c)Christophe Lyon7-41/+142
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org> gcc/ PR target/68620 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors. * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq): New helper macros. (vget_lane_f16): Handle big-endian. (vgetq_lane_f16): Likewise. (vset_lane_f16): Likewise. (vsetq_lane_f16): Likewise. * config/arm/iterators.md (VQXMOV): Add V8HF. (VDQ): Add V4HF and V8HF. (V_reg): Handle V4HF and V8HF. (Is_float_mode): Likewise. * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf, neon_vdup_nv8hf): New patterns. (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>): Use VD_LANE iterator. (neon_vld1_dup<mode>): Use VQ2 iterator. testsuite/ PR target/68620 * gcc.target/arm/pr68620.c: New test. From-SVN: r232832
2016-01-26Remove -m32 from gcc.target/i386/pr68986-2.cH.J. Lu2-1/+5
* gcc.target/i386/pr68986-2.c: Remove -m32. From-SVN: r232831
2016-01-26omp-low.h (oacc_fn_attrib_kernels_p): Declare.Nathan Sidwell6-38/+96
* omp-low.h (oacc_fn_attrib_kernels_p): Declare. (set_oacc_fn_attrib): Add IS_KERNEL arg. * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg. (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New. (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib. (oacc_validate_dims): Add LEVEL arg, don't return level. (new_oacc_loop_routine): Use oacc_fn_attrib_level, not oacc_validate_dims. (execute_oacc_device_lower): Adjust, add more dump output. * tree-ssa-loop.c (gate_oacc_kernels): Use oacc_fn_attrib_kernels_p. * tree-parloops.c (create_parallel_loop): Adjust set_oacc_fn_attrib call. From-SVN: r232830
2016-01-26re PR lto/69254 (ICE in streamer_get_builtin_tree when using ↵Jakub Jelinek2-0/+18
-fsanitize=shift on the compile side only) PR lto/69254 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus. (append_compiler_options): Handle -fcilkplus. (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}. From-SVN: r232829
2016-01-26re PR target/66655 (miscompilation due to ipa-ra on MinGW)Nick Clifton2-0/+21
PR target/66655 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has been marked as DECL_ONE_ONLY but we do not the means to make it so, then do not allow it to bind locally. From-SVN: r232828
2016-01-26re PR lto/69254 (ICE in streamer_get_builtin_tree when using ↵Jakub Jelinek3-121/+132
-fsanitize=shift on the compile side only) PR lto/69254 * opts.h (parse_sanitizer_options): New prototype. * opts.c (sanitizer_opts): New array. (parse_sanitizer_options): New function. (common_handle_option): Use parse_sanitizer_options. From-SVN: r232826
2016-01-26Update stack alignment in ix86_update_stack_boundaryH.J. Lu6-16/+68
Stack alignment adjustment for __tls_get_addr should be done in ix86_update_stack_boundary, not ix86_compute_frame_layout. Also there is no need to over-align stack for __tls_get_addr and function with __tls_get_addr call isn't a leaf function. gcc/ PR target/68986 * config/i386/i386.c (ix86_compute_frame_layout): Move stack alignment adjustment to ... (ix86_update_stack_boundary): Here. Don't over-align stack for __tls_get_addr. (ix86_finalize_stack_realign_flags): Use stack_alignment_needed if __tls_get_addr is called. gcc/testsuite/ PR target/68986 * gcc.target/i386/pr68986-1.c: New test. * gcc.target/i386/pr68986-2.c: Likewise. * gcc.target/i386/pr68986-3.c: Likewise. From-SVN: r232825
2016-01-26remove arm_crypto_pragma test selectorChristian Bruel5-59/+11
From-SVN: r232824
2016-01-26* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.Eric Botcazou2-1/+5
From-SVN: r232822
2016-01-26re PR tree-optimization/69467 (Pattern X * C1 CMP 0 to X CMP 0 causes ↵Richard Biener2-2/+8
performance drop on 32-bit x86.) 2016-01-26 Richard Biener <rguenther@suse.de> PR middle-end/69467 * match.pd: Guard X * CST CMP 0 pattern with single_use. From-SVN: r232821