- 21 Sep, 2015 19 commits
-
-
/c-family 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> Complete the implementation of N4230, Nested namespace definition. * c-cppbuiltin.c: Add __cpp_namespace_attributes and __cpp_nested_namespace_definitions. /cp 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> Complete the implementation of N4230, Nested namespace definition. * parser.c (cp_parser_namespace_definition): Support namespace attributes both before and after the namespace identifier. /testsuite 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> Complete the implementation of N4230, Nested namespace definition. * g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace attributes and nested namespace definitions. * g++.dg/cpp1y/feat-cxx98-neg.C: Likewise. * g++.dg/cpp1z/feat-cxx1z.C: Likewise. * g++.dg/cpp1y/feat-cxx14-neg.C: New. * g++.dg/cpp1z/namespace-attribs.C: Likewise. * g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes appearing before the namespace identifier. From-SVN: r227977
Ville Voutilainen committed -
linemap_position_for_loc_and_offset() tries to generate a location_t encoding a column offset from the current location, for example, point to a certain character inside a string. This is trivial to do when the new location "fits within" the map of the original location. However, it may happen that the (long) line corresponding to the original location is encoded in several maps, thus the new location should actually be encoded in a subsequent map from the original location. This patch detects this case and adjusts the map correspondingly. (This shows that the line-map representation is quite wasteful in this case, because line-maps always start at column 0. That is, map[0] highest location may encode up to line 8 column 80, then map[1]->start_location starts encoding at line 8 column 0. Thus, there are two location_t values that point to the same source location.) libcpp/ChangeLog: 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/66415 * line-map.c (linemap_position_for_loc_and_offset): Handle the case of long lines encoded in multiple maps. gcc/testsuite/ChangeLog: 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/66415 * gcc.dg/cpp/pr66415-1.c: Test column number. From-SVN: r227975
Manuel López-Ibáñez committed -
From-SVN: r227974
Ulrich Weigand committed -
2015-09-21 Richard Biener <rguenther@suse.de> * passes.c (rest_of_decl_compilation): Do not call dwarf2out_early_global_decl for aliases. * g++.dg/ext/attr-alias-3.C: Add -g. From-SVN: r227973
Richard Biener committed -
2015-09-21 Richard Biener <rguenther@suse.de> PR debug/67664 * dwarf2out.c (add_location_or_const_value_attribute): Remove attribute parameter. Early exit if either DW_AT_const_value or DW_AT_location are present already. (gen_variable_die): Adjust caller. (dwarf2out_late_global_decl): Likewise. * g++.dg/debug/dwarf2/pr67764.C: New testcase. From-SVN: r227972
Richard Biener committed -
testsuite/ PR target/64345 * gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A. From-SVN: r227971
Oleg Endo committed -
re PR target/67657 ([SH][5/6 Regression]: internal compiler error: in cselib_record_set, at cselib.c:2396 when compiling libjpeg-turbo) gcc/ PR target/67657 * config/sh/sh.c (sh_remove_overlapping_post_inc, sh_peephole_emit_move_insn): Add new functions. * config/sh/sh-protos.h (sh_remove_overlapping_post_inc, sh_peephole_emit_move_insn): Declere them. * config/sh/sh.md: Use them in various peephole2 patterns. From-SVN: r227969
Oleg Endo committed -
re PR middle-end/67651 (Optimizer assumes nothing can reside at address 0 despite -fno-delete-null-pointer-checks) 2015-09-21 Richard Biener <rguenther@suse.de> PR middle-end/67651 * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero address with -fno-delete-null-pointer-checks. From-SVN: r227968
Richard Biener committed -
We xfail at emitting the correct location, but we still need to catch the warning. 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org> * gcc.dg/pragma-diag-5.c: Catch excess warning. From-SVN: r227967
Manuel López-Ibáñez committed -
PR libstdc++/67647 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::shrink_to_fit): Fix #endif placement. From-SVN: r227966
Jonathan Wakely committed -
* config/rs6000/altivec.md (reduc_splus_<mode>): Rename to... (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract. (reduc_uplus_v16qi): Remove. * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus". (reduc_<VEC_reduc_name>_v2df): Remove. (reduc_<VEC_reduc_name>_v4sf): Remove. (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New. * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare gen_ function by removing * prefix. (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise. From-SVN: r227965
Alan Lawrence committed -
In do_warn_aggressive_loop_optimizations, we convert to a tree just to print a widest_int. Apart from overly complicated, this results in printing '3u' instead of just '3'. Unfortunately, adding a printf-like conversion specifier would require making pretty-print.c link with wide-int.cc, which will include a lot of new dependencies into several other programs (gcov-tool for example). It would be possible to add the conversion specifier to every FE pretty-printer, but this still would require updating c-format.c, which is far from trivial. A simpler approach is to convert to a string rather than to a tree. In addition, "iteration 3 invokes undefined behavior within this loop" seems to me clearer than "iteration 3 invokes undefined behavior; containing loop". gcc/testsuite/ChangeLog: 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR middle-end/60832 * gcc.dg/pr53265.c: Update. gcc/ChangeLog: 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR middle-end/60832 * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations): Print i_bound without converting it to a tree. From-SVN: r227964
Manuel López-Ibáñez committed -
[ARM] Replacing variable swaps that use a temporary variable with a call to std::swap in gcc/config/arm/arm.c On behalf of <bilyan.borisov@arm.com> 2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com> * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced operands[4] operands[5] swap with std::swap, removed tmp variable. (arm_evpc_neon_vzip): Replaced in0/in1 and out0/out1 swaps with std::swap, removed x variable. (arm_evpc_neon_vtrn): Replaced in0/int1 and out0/out1 swaos with std::swap, removed x variable. (arm_expand_vec_perm_const_1): Replaced d->op0/d->op1 swap with std::swap, removed x variable. (arm_evpc_neon_vuzp): Replaced in0/in1 and out0/out1 swaps with std::swap, removed x variable. From-SVN: r227963
Bilyan Borisov committed -
cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additional win32 libraries... 2015-09-21 Jonathan Yong <10walls@gmail.com> * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additional win32 libraries, fixes failing Cygwin bootstrapping. From-SVN: r227962
Jonathan Yong committed -
From-SVN: r227960
Eric Botcazou committed -
gcc/ * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options. From-SVN: r227959
Oleg Endo committed -
gcc/testsuite/ PR target/59478 * gcc.target/sh/pr59478.c: New. From-SVN: r227958
Oleg Endo committed -
gcc/ PR target/67126 * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A. (*mov_t_msb_neg): Rewrite negc pattern. gcc/testsuite/ PR target/67126 * gcc.target/sh/pr51244-12.c: Adjust testcase. * gcc.target/sh/pr54236-2.c: Likewise. From-SVN: r227957
Oleg Endo committed -
From-SVN: r227956
GCC Administrator committed
-
- 20 Sep, 2015 12 commits
-
-
re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in int_mode_for_mode, at stor-layout.c:425) PR middle-end/67619 * lib/target-supports.exp (check_effective_target_builtin_eh_return): New procedure. From-SVN: r227952
Uros Bizjak committed -
2015-09-20 Kai Tietz <ktietz70@googlemail.com> * MAINTAINERS: Update email. From-SVN: r227951
Kai Tietz committed -
2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup immediate generation code. From-SVN: r227950
Wilco Dijkstra committed -
2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove redundant immediate generation code. From-SVN: r227949
Wilco Dijkstra committed -
2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> * config/aarch64/aarch64.c (aarch64_bitmasks): Remove. (AARCH64_NUM_BITMASKS): Remove. (aarch64_bitmasks_cmp): Remove. (aarch64_build_bitmask_table): Remove. From-SVN: r227948
Wilco Dijkstra committed -
2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace slow immediate matching loops with a faster algorithm. From-SVN: r227947
Wilco Dijkstra committed -
2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using faster algorithm. From-SVN: r227946
Wilco Dijkstra committed -
gcc/testsuite/ * gcc.target/sh/pr43417.c: Move target independent test to ... * gcc.c-torture/compile/pr43417.c: ... here. From-SVN: r227945
Oleg Endo committed -
gcc/testsuite/ * gcc.target/sh/sh.exp (check_effective_target_sh4a, check_effective_target_big_endian, check_effective_target_little_endian, check_effective_target_any_fpu, check_effective_target_double_fpu, check_effective_target_use_single_only_fpu, check_effective_target_default_single_fpu, check_effective_target_no_fpu, check_effective_target_has_xf_regs, check_effective_target_has_fsca, check_effective_target_has_fsrra, check_effective_target_has_fpchg, check_effective_target_has_dyn_shift, check_effective_target_fmovd_enabled, check_effective_target_has_privileged, check_effective_target_has_pref, check_effective_target_banked_r0r7_isr, check_effective_target_stack_save_isr): New effective target checks. * gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c. * gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c. * gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c * gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c. * gcc.target/sh/20080410-1.c: Use new effective target checks. * gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise. * gcc.target/sh/attr-isr.c: Likewise. * gcc.target/sh/fpul-usage-1.c: Likewise. * gcc.target/sh/hiconst.c: Likewise. * gcc.target/sh/mfmovd.c: Likewise. * gcc.target/sh/pr21255-3.c: Likewise. * gcc.target/sh/pr33135-1.c: Likewise. * gcc.target/sh/pr33135-2.c: Likewise. * gcc.target/sh/pr33135-3.c: Likewise. * gcc.target/sh/pr33135-4.c: Likewise. * gcc.target/sh/pr39423-2.c: Likewise. * gcc.target/sh/pr49880-4.c: Likewise. * gcc.target/sh/pr49880-5.c: Likewise. * gcc.target/sh/pr50749-sf-postinc-1.c: Likewise. * gcc.target/sh/pr50749-sf-postinc-2.c: Likewise. * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise. * gcc.target/sh/pr50749-sf-postinc-4.c: Likewise. * gcc.target/sh/pr50749-sf-predec-1.c: Likewise. * gcc.target/sh/pr50749-sf-predec-2.c: Likewise. * gcc.target/sh/pr50749-sf-predec-3.c: Likewise. * gcc.target/sh/pr50749-sf-predec-4.c: Likewise. * gcc.target/sh/pr50751-2.c: Likewise. * gcc.target/sh/pr50751-3.c: Likewise. * gcc.target/sh/pr50751-5.c: Likewise. * gcc.target/sh/pr50751-6.c: Likewise. * gcc.target/sh/pr50751-8.c: Likewise. * gcc.target/sh/pr51244-15.c: Likewise. * gcc.target/sh/pr51244-2.c: Likewise. * gcc.target/sh/pr51244-20.c: Likewise. * gcc.target/sh/pr51244-6.c: Likewise. * gcc.target/sh/pr52483-4.c: Likewise. * gcc.target/sh/pr53511-1.c: Likewise. * gcc.target/sh/pr53512-1.c: Likewise. * gcc.target/sh/pr53512-2.c: Likewise. * gcc.target/sh/pr53512-3.c: Likewise. * gcc.target/sh/pr53512-4.c: Likewise. * gcc.target/sh/pr53513-1.c: Likewise. * gcc.target/sh/pr54089-2.c: Likewise. * gcc.target/sh/pr54089-3.c: Likewise. * gcc.target/sh/pr54089-4.c: Likewise. * gcc.target/sh/pr54602-2.c: Likewise. * gcc.target/sh/pr54602-3.c: Likewise. * gcc.target/sh/pr54602-4.c: Likewise. * gcc.target/sh/pr54680.c: Likewise. * gcc.target/sh/pr55303-1.c: Likewise. * gcc.target/sh/pr55303-2.c: Likewise. * gcc.target/sh/pr55303-3.c: Likewise. * gcc.target/sh/pr56547-1.c: Likewise. * gcc.target/sh/pr56547-2.c: Likewise. * gcc.target/sh/pr61195.c: Likewise. * gcc.target/sh/pr61996.c: Likewise. * gcc.target/sh/pr6526.c: Likewise. * gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise. * gcc.target/sh/pragma-isr-trapa2.c: Likewise. * gcc.target/sh/prefetch.c: Likewise. * gcc.target/sh/rte-delay-slot.c: Likewise. * gcc.target/sh/sh2a-band.c: Likewise. * gcc.target/sh/sh2a-bclr.c: Likewise. * gcc.target/sh/sh2a-bclrmem.c: Likewise. * gcc.target/sh/sh2a-bld.c: Likewise. * gcc.target/sh/sh2a-bor.c: Likewise. * gcc.target/sh/sh2a-bset.c: Likewise. * gcc.target/sh/sh2a-bsetmem.c: Likewise. * gcc.target/sh/sh2a-bxor.c: Likewise. * gcc.target/sh/sh2a-jsrn.c: Likewise. * gcc.target/sh/sh2a-movi20s.c: Likewise. * gcc.target/sh/sh2a-movrt.c: Likewise. * gcc.target/sh/sh2a-resbank.c: Likewise. * gcc.target/sh/sh2a-rtsn.c: Likewise. * gcc.target/sh/sh2a-tbr-jump.c: Likewise. * gcc.target/sh/sh4a-bitmovua.c: Likewise. * gcc.target/sh/sh4a-cosf.c: Likewise. * gcc.target/sh/sh4a-fsrra.c: Likewise. * gcc.target/sh/sh4a-memmovua.c: Likewise. * gcc.target/sh/sh4a-sincosf.c: Likewise. * gcc.target/sh/sh4a-sinf.c: Likewise. From-SVN: r227944
Oleg Endo committed -
PR tree-optimization/47679 * tree-ssa-dom.c (record_temporary_equivalences): No longer static. * tree-ssa-dom.h (record_temporary_equivalences): Add prototype. * tree-ssa-threadedge.c: Include tree-ssa-dom.h. (thread_through_normal_block): Use record_temporary_equivalences. PR tree-optimization/47679 * g++.dg/warn/Wuninitialized-6.C: New test. From-SVN: r227942
Jeff Law committed -
This renames the gimple_statement_base struct to gimple removes the typedef of gimple_statement_base * to gimple, and then adjusts all of the places that use the type. gcc/ChangeLog: 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org> * coretypes.h (gimple): Change typedef to be a forward declaration. * gimple.h (gimple_statement_base): rename to gimple. * (all functions and types using gimple): Adjust. * *.[ch]: Likewise. gcc/cp/ChangeLog: 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org> * cp-gimplify.c (gimplify_must_not_throw_expr): Adjust. From-SVN: r227941
Trevor Saunders committed -
From-SVN: r227940
GCC Administrator committed
-
- 19 Sep, 2015 6 commits
-
-
2015-09-19 Andrew Dixie <andrewd@gentrack.com> David Edelsohn <dje.gcc@gmail.com> * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete. (ASM_PREFERRED_EH_DATA_FORMAT): Define. (EH_FRAME_THROUGH_COLLECT2): Define. (EH_TABLES_CAN_BE_READ_ONLY): Define. (ASM_OUTPUT_DWARF_PCREL): Define. (ASM_OUTPUT_DWARF_DATAREL): Define. Co-Authored-By: David Edelsohn <dje.gcc@gmail.com> From-SVN: r227937
Andrew Dixie committed -
PR libstdc++/67361 * include/bits/regex_error.h: Add __throw_regex_error that supports string. * include/bits/regex_automaton.h: Add more specific exception messages. * include/bits/regex_automaton.tcc: Likewise. * include/bits/regex_compiler.h: Likewise. * include/bits/regex_compiler.tcc: Likewise. * include/bits/regex_scanner.h: Likewise. * include/bits/regex_scanner.tcc: Likewise. From-SVN: r227936
Tim Shen committed -
* config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment of TARGET_ELF32. From-SVN: r227933
John David Anglin committed -
/cp 2015-09-18 Ville Voutilainen <ville.voutilainen@gmail.com> Implement nested namespace definitions. * parser.c (cp_parser_namespace_definition): Grok nested namespace definitions. /testsuite 2015-09-18 Ville Voutilainen <ville.voutilainen@gmail.com> Implement nested namespace definitions. * g++.dg/cpp1z/nested-namespace-def1.C: New. * g++.dg/cpp1z/nested-namespace-def2.C: Likewise. * g++.dg/cpp1z/nested-namespace-def3.C: Likewise. * g++.dg/lookup/name-clash5.C: Adjust. * g++.dg/lookup/name-clash6.C: Likewise. From-SVN: r227932
Ville Voutilainen committed -
PR tree-optimization/47679 * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move it here ... (dom_opt_dom_walker): New private member holding the avail_exprs_stack object. Update constructor. (pass_dominator::execute): Corresponding chagnes to declaration and initialization of avail_exprs_stack. Update constructor call for dom_opt_dom_walker object. (lookup_avail_expr, record_cond): Accept additional argument. Pass it down to children as needed. (record_equivalences_from_incoming_edge): Likewise. (eliminate_redundant_computations): Likewise. (record_equivalences_from_stmt): Likewise. (simplify_stmt_for_jump_threading): Likewise. (record_temporary_equivalences): Likewise. (optimize_stmt): Likewise. (dom_opt_dom_walker::thread_across_edge): Update access to avail_exprs_stack object and pass it to children as needed. (dom_opt_dom_walker::before_dom_children): Similarly. (dom_opt_dom_walker::after_dom_children): Similarly. * tree-ssa-threadedge.c (pfn_simplify): New typedef. (record_temporary_equivalences_from_stmts_at_dest): Use new typedef. Add avail_expr_stack argument. Pass it to children as needed. (dummy_simplify): Likewise. (simplify_control_stmt_condition): Likewise. (thread_around_empty_blocks): Likewise. (thread_through_normal_block): Likewise. (thread_across_edge): Likewise. * tree-ssa-threadedge.h (thread_across_edge): Update prototype. * tree-vrp.c (simplify_stmt_for_jump_threading): Update. From-SVN: r227931
Jeff Law committed -
From-SVN: r227929
GCC Administrator committed
-
- 18 Sep, 2015 3 commits
-
-
2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> * c-pragma.c (handle_pragma_diagnostic): Fix wrong return. From-SVN: r227924
Manuel López-Ibáñez committed -
gcc/cp/ChangeLog: 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> * parser.c (pragma_lex): Add loc argument. Rearrange the code to make it more similar to the C version. gcc/c-family/ChangeLog: 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> * c-pragma.c (handle_pragma_diagnostic): Use explicit location when warning. * c-pragma.h (pragma_lex): Add optional loc argument. gcc/c/ChangeLog: 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> * c-parser.c (pragma_lex): Add loc argument. gcc/testsuite/ChangeLog: 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> * gcc.dg/pragma-diag-5.c: New test. From-SVN: r227923
Manuel López-Ibáñez committed -
PR tree-optimization/47679 * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move it here ... (dom_opt_dom_walker): New private member holding the const_and_copies object. Update constructor. (pass_dominator::execute): Corresponding changes to declaration and initialization of const_and_copies. Update constructor call for the dom_opt_dom_walker object. (record_temporary_equivalences): Accept const_and_copies argument pass it down to children as needed. (record_equality): Likewise. (record_equivalences_from_incoming_edge): Likewise. (cprop_into_successor_phis, optimize_stmt): Likewise. (eliminate_redundant_computations): Likewise. (dom_opt_dom_walker::thread_across_edge): Update access to const_and_copies object and pass it to children as needed. (dom_opt_dom_walker::before_dom_children): Similarly. (dom_opt_dom_walker::after_dom_children): Similarly. From-SVN: r227922
Jeff Law committed
-