Tom de Vries
8a36714a1b
Add parloops-exit-first-loop-alt-{5,6,7}.c
...
2015-06-30 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt-5.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-6.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-7.c: New test.
* gcc.dg/parloops-exit-first-loop-alt.c: Update comment.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
From-SVN: r225172
2015-06-30 11:00:32 +00:00
Marek Polacek
a4398a300e
fold-const.c (fold_binary_loc): Move ~X | X folding ...
...
* fold-const.c (fold_binary_loc): Move ~X | X folding ...
* match.pd: ... here.
* gcc.dg/fold-ior-2.c: New test.
From-SVN: r225164
2015-06-30 09:02:00 +00:00
Richard Biener
582554e3bc
target-insns.def (canonicalize_funcptr_for_compare): Add.
...
2015-06-30 Richard Biener <rguenther@suse.de>
* target-insns.def (canonicalize_funcptr_for_compare): Add.
* fold-const.c (build_range_check): Replace uses of
HAVE_canonicalize_funcptr_for_compare.
(fold_widened_comparison): Likewise.
(fold_sign_changed_comparison): Likewise.
* dojump.c: Include "target.h".
(do_compare_and_jump): Replace uses of
HAVE_canonicalize_funcptr_for_compare and
gen_canonicalize_funcptr_for_compare.
* expr.c (do_store_flag): Likewise.
From-SVN: r225163
2015-06-30 08:52:48 +00:00
Tom de Vries
4f75d60893
Use max_loop_iterations in transform_to_exit_first_loop_alt
...
2015-06-30 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/66652
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
max_loop_iterations to determine if nit + 1 overflows.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
using restrict pointers.
(main): Add arguments to calls to f.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict
pointers.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
From-SVN: r225162
2015-06-30 08:35:57 +00:00
Richard Biener
4fe6517247
tree-vrp.c (register_edge_assert_for_2): Also register asserts for dominating conversion results.
...
2015-06-30 Richard Biener <rguenther@suse.de>
* tree-vrp.c (register_edge_assert_for_2): Also register
asserts for dominating conversion results.
From-SVN: r225161
2015-06-30 08:35:30 +00:00
Uros Bizjak
dc6bcf52eb
lex.c (search_line_sse42): New main loop using asm flag outputs.
...
* lex.c (search_line_sse42) [__GCC_ASM_FLAG_OUTPUTS__]: New main
loop using asm flag outputs.
From-SVN: r225160
2015-06-30 10:26:57 +02:00
Bin Cheng
7e6a6f0d6e
tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name field in struct iv.
...
* tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
field in struct iv.
From-SVN: r225159
2015-06-30 02:39:54 +00:00
Jack Howarth
005f915e16
re PR target/66509 (the new clang-based assembler in Xcode 7 on 10.11 fails on the libjava/java/lang/reflect/natArray.cc file from FSF gcc 5.1 at -m32)
...
PR target/66509
* configure.ac: Fix filds and fildq test for 64-bit.
* configure: Regenerated.
From-SVN: r225158
2015-06-30 02:10:43 +00:00
GCC Administrator
b54a218913
Daily bump.
...
From-SVN: r225157
2015-06-30 00:16:13 +00:00
Nathan Sidwell
517665b38b
nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
...
* config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
(nvptx_reorg): Here. Keep the non-subreg pieces.
From-SVN: r225154
2015-06-29 23:23:10 +00:00
Paolo Carlini
71506d4107
re PR c++/65977 (Constexpr should be allowed in declaration of friend template specialization)
...
/cp
2015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65977
* decl.c (grokfndecl): Allow constexpr declarations of friend
template specializations.
/testsuite
2015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65977
* g++.dg/cpp0x/constexpr-friend-3.C: New.
* g++.dg/cpp0x/constexpr-friend-2.C: Adjust.
From-SVN: r225148
2015-06-29 22:02:08 +00:00
H.J. Lu
9b552079a1
Use PIE_SPEC/NO_PIE_SPEC for crtend.o/crtendS.o
...
We need to link with crtend.o and crtendS.o properly for GCC configured
to generate PIE by default.
* config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
From-SVN: r225144
2015-06-29 13:50:57 -07:00
François Dumont
24167c42e6
stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode.
...
2015-06-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
to pre-C++11 mode.
* include/debug/functions.h
(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
* include/debug/safe_iterator.h
(__gnu_debug::_Sequence_traits): New.
(__gnu_debug::__get_distance_from_begin): New.
(__gnu_debug::__get_distance_to_end): New.
(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
distance information. Add optional check_dereferenceable parameter,
default true.
(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
default definition...
(__gnu_debug::__get_distance): New overload for _Safe_iterator.
(__gnu_debug::__unsafe): Likewise.
* include/debug/helper_functions.h: ...here. New.
(__gnu_debug::__unsafe): New helper function to remove safe iterator
layer.
* include/debug/stl_iterator.h: New. Include latter.
* include/bits/stl_iterator.h: Include latter in debug mode.
* include/debug/stl_iterator.tcc: Adapt.
* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
overload for _Safe_local_iterator.
(__gnu_debug::__unsafe): Likewise.
* include/debug/safe_local_iterator.tcc: Adapt.
* include/debug/macros.h (__glibcxx_check_valid_range2): New.
(__glibcxx_check_insert_range): Add _Dist parameter.
(__glibcxx_check_insert_range_after): Likewise.
(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
_GLIBCXX_DEBUG_PEDASSERT.
* include/debug/deque (deque<>::assign): Remove iterator debug layer
when possible.
(deque<>::insert): Likewise.
* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
(forward_list<>::splice_after): Use latter.
(forward_list<>::assign): Remove iterator debug layer when possible.
(forward_list<>::insert_after): Likewise.
(__gnu_debug::_Sequence_traits<>): Partial specialization.
* include/debug/list (list<>::assign): Remove iterator debug layer when
possible.
(list<>::insert): Likewise.
[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
* include/debug/map.h (map<>::insert): Remove iterator debug layer when
possible.
* include/debug/multimap.h (multimap<>::insert): Likewise.
* include/debug/set.h (set<>::insert): Likewise.
* include/debug/multiset.h (multiset<>::insert): Likewise.
* include/debug/string (basic_string<>::append, basic_string<>::assign,
basic_string<>::insert, basic_string<>::replace): Likewise.
* include/debug/unordered_map
(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
* include/debug/unordered_set
(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
* include/debug/vector
(vector<>::assign, vector<>::insert): Likewise.
* include/Makefile.am: Add new debug headers.
* include/Makefile.in: Regenerate.
From-SVN: r225143
2015-06-29 20:17:56 +00:00
Eric Botcazou
755c71faf3
re PR ada/63310 (Ada bootstrap error with -fcompare-debug)
...
PR ada/63310
* gcc-interface/utils.c (gnat_write_global_declarations): Always
build the dummy global variable if code was generated.
From-SVN: r225139
2015-06-29 17:45:34 +00:00
Uros Bizjak
94f11af109
i386.md (*jcc_1): Use %!
...
* config/i386/i386.md (*jcc_1): Use %! in asm template.
Set attribute "length_nobnd" instead of "length".
(*jcc_2): Ditto.
(jump): Ditto.
(*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
From-SVN: r225138
2015-06-29 19:18:17 +02:00
Sandra Loosemore
030b9d9059
nios2.c (nios2_delegitimize_address): Make assert less restrictive.
...
2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.c (nios2_delegitimize_address): Make
assert less restrictive.
From-SVN: r225137
2015-06-29 13:01:52 -04:00
Manuel López-Ibáñez
da2e71c999
Wunused-parameter warnings are given from cgraph::finalize_function,
...
which is the middle-end. This is an oddity compared to other
-Wunused-* warnings. Moreover, Fortran has its own definition of
-Wunused-parameter that conflicts with the middle-end definition.
This patch moves the middle-end part of Wunused-parameter to the C/C++
FEs. I'm not sure if other FEs expected this warning to work. If so,
they do not seem to test for it. Ada, for example, explicitly disables
it.
gcc/ChangeLog:
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/66605
* cgraphunit.c (cgraph_node::finalize_function): Do not call
do_warn_unused_parameter.
* function.c (do_warn_unused_parameter): Move from here.
* function.h (do_warn_unused_parameter): Do not declare.
gcc/c-family/ChangeLog:
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/66605
* c-common.c (do_warn_unused_parameter): Move here.
* c-common.h (do_warn_unused_parameter): Declare.
gcc/ada/ChangeLog:
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/66605
* gcc-interface/misc.c (gnat_post_options): No need to disable
warn_unused_parameter anymore.
gcc/cp/ChangeLog:
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/66605
* decl.c (finish_function): Call do_warn_unused_parameter.
gcc/testsuite/ChangeLog:
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/66605
* gfortran.dg/wunused-parameter.f90: New test.
gcc/c/ChangeLog:
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/66605
* c-decl.c (finish_function): Call do_warn_unused_parameter.
From-SVN: r225135
2015-06-29 16:25:26 +00:00
Matthew Wahab
77f3f9bf9e
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
...
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
PR target/65697
* gcc.target/arm/armv-sync-comp-swap.c: New.
* gcc.target/arm/armv-sync-op-acquire.c: New.
* gcc.target/arm/armv-sync-op-full.c: New.
* gcc.target/arm/armv-sync-op-release.c: New.
From-SVN: r225134
2015-06-29 16:12:12 +00:00
Matthew Wahab
a96297a280
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
...
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
PR target/65697
* config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
initial acquire barrier with final barrier.
From-SVN: r225133
2015-06-29 16:09:10 +00:00
Matthew Wahab
6b3a1ce9f4
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
...
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
PR target/65697
* config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
initial acquire barrier with final barrier.
From-SVN: r225132
2015-06-29 16:03:34 +00:00
Joseph Myers
e85f8bb8b3
* sv.po: Update.
...
From-SVN: r225130
2015-06-29 16:58:13 +01:00
Richard Henderson
f767f58360
i386: Implement asm flag outputs
...
* config/i386/constraints.md (Bf): New constraint.
* config/i386/i386-c.c (ix86_target_macros): Define
__GCC_ASM_FLAG_OUTPUTS__.
* config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
as flags outputs.
* doc/extend.texi (FlagOutputOperands): Document them.
testsuite/
* gcc.target/i386/asm-flag-1.c: New.
* gcc.target/i386/asm-flag-2.c: New.
* gcc.target/i386/asm-flag-3.c: New.
* gcc.target/i386/asm-flag-4.c: New.
* gcc.target/i386/asm-flag-5.c: New.
From-SVN: r225122
2015-06-29 07:35:19 -07:00
Jiong Wang
8fd17b982d
[AArch64] Generalize TLSLE macro and pattern names
...
2015-06-29 Jiong Wang <jiong.wang@arm.com>
* config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
* config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
unspec name.
(tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
* config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
(aarch64_symbol_context): Ditto.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
and use new pattern name.
(aarch64_expand_mov_immediate): Ditto.
(aarch64_print_operand): Ditto.
(aarch64_classify_tls_symbol): Ditto.
From-SVN: r225121
2015-06-29 14:20:50 +00:00
Marek Polacek
f461569a23
fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
...
* fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
* match.pd: ... pattern here.
Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r225120
2015-06-29 14:17:13 +00:00
Tom de Vries
fd7b3ef52a
Simplify structure try_transform_to_exit_first_loop_alt
...
2015-06-29 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
function structure.
From-SVN: r225119
2015-06-29 13:53:32 +00:00
Matthew Wahab
1f8c015bb4
invoke.texi (Aarch64 Options, -march): Split out arch and feature description...
...
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
* doc/invoke.texi (Aarch64 Options, -march): Split out arch and
feature description, split out the native option, add a link to
the feature documentation, rearrange and slightly rewrite text.
(Aarch64 options, -mcpu): Likewise.
(Aarch64 options, Feature Modifiers): Add an anchor. Mention
+rdma implies Adv. SIMD.
From-SVN: r225118
2015-06-29 13:50:42 +00:00
Marek Polacek
b155cfd928
re PR c/66322 (Linus Torvalds: -Wswitch-bool produces dubious warnings, fails to notice really bad things)
...
PR c/66322
* c-common.c (check_case_bounds): Add bool * parameter. Set
OUTSIDE_RANGE_P.
(c_add_case_label): Add bool * parameter. Pass it down to
check_case_bounds.
(c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
warning here.
* c-common.h (c_add_case_label, c_do_switch_warnings): Update
declarations.
* c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
(c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
about -Wswitch-bool here.
(do_case): Update c_add_case_label call.
(c_finish_case): Update c_do_switch_warnings call.
* decl.c (struct cp_switch): Add OUTSIDE_RANGE_P.
(push_switch): Set OUTSIDE_RANGE_P.
(pop_switch): Update c_do_switch_warnings call.
(finish_case_label): Update c_add_case_label call.
* semantics.c (finish_switch_cond): Don't warn about -Wswitch-bool
here.
* function.c (stack_protect_epilogue): Remove a cast to int.
* doc/invoke.texi: Update -Wswitch-bool description.
* c-c++-common/pr60439.c: Add dg-prune-output and add switch cases.
* c-c++-common/pr66322.c: New test.
* g++.dg/eh/scope1.C: Remove dg-warning.
From-SVN: r225116
2015-06-29 13:12:44 +00:00
Richard Biener
99e943a2be
genmatch.c (add_operator): Treat ADDR_EXPR as atom.
...
2015-06-29 Richard Biener <rguenther@suse.de>
* genmatch.c (add_operator): Treat ADDR_EXPR as atom.
* fold-const.c (fold_binary_loc): Move &A - &B simplification
via ptr_difference_const ...
* match.pd: ... here.
When matching (X ^ Y) == Y also match with swapped operands.
From-SVN: r225115
2015-06-29 11:28:17 +00:00
Richard Biener
2dcaddb8d7
lto-streamer.h (LTO_major_version): Bump to 5.
...
2015-06-29 Richard Biener <rguenther@suse.de>
* lto-streamer.h (LTO_major_version): Bump to 5.
From-SVN: r225113
2015-06-29 08:44:56 +00:00
Richard Biener
d90f84404c
re PR tree-optimization/66677 (ICE: in vect_transform_stmt, at tree-vect-stmts.c:7626)
...
2015-06-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/66677
* tree-vect-stmts.c (vect_transform_stmt): Make assert about
STMT_VINFO_VEC_STMT clobbering less strict.
* gcc.dg/vect/pr66677.c: New testcase.
From-SVN: r225112
2015-06-29 07:30:47 +00:00
GCC Administrator
04ab3d3aeb
Daily bump.
...
From-SVN: r225111
2015-06-29 00:16:12 +00:00
Kugan Vivekanandarajah
c44b2a4fb3
re PR tree-optimization/64130 (vrp: handle non zero constant divided by range cannot be zero.)
...
gcc/ChangeLog:
2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/64130
* tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
division, compute max and min when value ranges for dividend and
divisor are available.
gcc/testsuite/ChangeLog:
2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/64130
* gcc.dg/tree-ssa/pr64130.c: New test.
From-SVN: r225108
2015-06-29 00:15:41 +00:00
Uros Bizjak
1d1fe91a75
* Add forgotten ChangeLog entry.
...
From-SVN: r225107
2015-06-28 23:28:07 +02:00
Chung-Lin Tang
17369fbf51
regrename.h (regrename_do_replace): Change to return bool.
...
2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* regrename.h (regrename_do_replace): Change to return bool.
* regrename.c (rename_chains): Check return value of
regname_do_replace.
(regrename_do_replace): Re-validate the modified insns and
return bool status.
* config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
Update to match rename_chains changes.
* config/c6x/c6x.c (try_rename_operands): Assert that
regrename_do_replace returns true.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r225106
2015-06-28 16:46:01 -04:00
Uros Bizjak
2aee355b5a
i386.md (<mode>_ldx): Do not zero-extend non-Pmode operand 2 here.
...
* config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
operand 2 here. Use copy_addr_to_reg to copy non-index
register operand 2 to a temporary.
(<mode>_stx): Ditto for operand 1.
(*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
* config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
(ix86_store_bounds): Ditto.
From-SVN: r225105
2015-06-28 21:38:56 +02:00
GCC Administrator
cb78dd578a
Daily bump.
...
From-SVN: r225103
2015-06-28 00:16:12 +00:00
Patrick Palka
e8bfc7f817
Make debug_tree() print the length of a TREE_VEC
...
gcc/ChangeLog:
* print-tree.c (print_node) [TREE_VEC]: Print its length.
From-SVN: r225100
2015-06-27 18:43:11 +00:00
Marek Polacek
b55b02ead4
call.c: Use VECTOR_TYPE_P.
...
* call.c: Use VECTOR_TYPE_P.
* constexpr.c: Likewise.
* cvt.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* init.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
From-SVN: r225099
2015-06-27 10:40:21 +00:00
Marek Polacek
56a6f1d33f
call.c (set_up_extended_ref_temp): Use VAR_P.
...
* call.c (set_up_extended_ref_temp): Use VAR_P.
* class.c: Use VAR_P throughout.
* constexpr.c (cxx_eval_constant_expression): Use VAR_P.
* cp-array-notation.c (make_triplet_val_inv): Likewise.
* decl.c: Use VAR_OR_FUNCTION_DECL_P or VAR_P
throughout.
* decl2.c: Likewise.
* error.c (dump_decl): Use VAR_P.
* mangle.c (decl_implicit_alias_p): Likewise.
* parser.c: Use VAR_P throughout.
* pt.c: Likewise.
* semantics.c: Likewise.
* vtable-class-hierarchy.c: Likewise.
* tree.c (handle_abi_tag_attribute): Use VAR_OR_FUNCTION_DECL_P.
From-SVN: r225098
2015-06-27 10:39:31 +00:00
Andreas Schwab
e1cc235523
* pt.c (check_unstripped_args): Mark parameter as unused.
...
From-SVN: r225095
2015-06-27 08:40:34 +00:00
GCC Administrator
96aac251ab
Daily bump.
...
From-SVN: r225093
2015-06-27 00:16:11 +00:00
Andrew MacLeod
5fa9163d3f
gimple.c (gimple_call_set_fndecl): Remove.
...
2015-06-26 Andrew MacLeod <amacleod@redhat.com>
* gimple.c (gimple_call_set_fndecl): Remove.
* gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
build1_loc directly instead of build_fold_addr_expr_loc.
From-SVN: r225090
2015-06-26 23:30:37 +00:00
Marek Polacek
315219515d
c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P or VECTOR_INTEGER_TYPE_P throughout.
...
* c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
or VECTOR_INTEGER_TYPE_P throughout.
* c-gimplify.c: Likewise.
* c-typeck.c: Use VECTOR_TYPE_P throughout.
From-SVN: r225089
2015-06-26 22:35:29 +00:00
Jason Merrill
e0ff153d39
re PR c++/66216 (Defaulted Operators and constructors not working with aligned attribute)
...
PR c++/66216
* class.c (finish_struct): Call fixup_attribute_variants.
From-SVN: r225087
2015-06-26 17:31:13 -04:00
Jason Merrill
9579e906e2
re PR c++/66684 (ICE in merge_exception_specifiers, at cp/typeck2.c:2114)
...
PR c++/66684
* typeck2.c (merge_exception_specifiers): Allow different
noexcept-specifiers if we've had errors.
From-SVN: r225086
2015-06-26 17:31:08 -04:00
Jason Merrill
7498239e97
re PR c++/66255 (ice in retrieve_specialization)
...
PR c++/66255
* pt.c (check_unstripped_args): Split out from...
(retrieve_specialization): ...here. Allow typedefs in the type of
a non-type argument.
From-SVN: r225084
2015-06-26 16:33:46 -04:00
Jason Merrill
d15364ce85
re PR c++/66067 (tree check ICE: accessed elt 1 of tree_vec with 0 elts in write_template_args, at cp/mangle.c:2574)
...
PR c++/66067
* mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to
TYPE_DECLs.
* mangle.c (write_template_args): Handle 0 length TREE_VEC.
From-SVN: r225083
2015-06-26 16:33:41 -04:00
Jason Merrill
7457279bae
re PR c++/66654 (ice in digest_init_r, at cp/typeck2.c:1103)
...
PR c++/66654
* typeck2.c (digest_init_r): Only expect reshaping if the class is
aggregate.
From-SVN: r225082
2015-06-26 16:33:35 -04:00
Jonathan Wakely
a2b5fdcbdb
Implement N4258 (Cleaning-up noexcept in the Library rev 3)
...
* doc/xml/manual/intro.xml: Document LWG 2108 status.
* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
Define.
* include/bits/allocator.h (allocator::is_always_equal): Likewise.
* include/bits/forward_list.h
(forward_list::operator=(forward_list&&)): Use __bool_constant.
(forward_list::swap(forward_list&)): Add noexcept.
* include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
Likewise.
(_Hashtable::swap(_Hashtable&)): Likewise.
* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
Use _Alloc_traits::is_always_equal.
(deque::operator=(deque&&)): Likewise.
(deque::_M_move_assign1(deque&&, false_type)): Add comment and use
__bool_constant.
(swap(deque&, deque&)): Add noexcept.
* include/bits/stl_list.h (list::operator=(list&&)): Use
__bool_constant.
(swap(list&, list&)): Add noexcept.
* include/bits/stl_map.h (map::swap(map&)): Include _Compare in
noexcept.
(swap(map&, map&)): Add noexcept.
* include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
_Compare in noexcept.
(swap(multimap&, multimap&)): Add noexcept.
* include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
_Compare in noexcept.
(swap(multiset&, multiset&)): Add noexcept.
* include/bits/stl_set.h (set::swap(set&)): Include _Compare in
noexcept.
(swap(set&, set&)): Add noexcept.
* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
_Compare in noexcept.
(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
is_always_equal.
* include/bits/stl_vector.h (vector::operator=(vector&&)): Use
__bool_constant.
(swap(vector&, vector&)): Add noexcept.
* include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
swap(unordered_multimap& unordered_multimap&)): Add noexcept.
* include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
swap(unordered_multiset& unordered_multiset&)): Add noexcept.
* include/ext/alloc_traits.h (__allocator_always_compares_equal):
Remove.
(__alloc_traits::_S_always_equal()): Use is_always_equal instead of
__allocator_always_compares_equal.
* include/ext/array_allocator.h (array_allocator::is_always_equal):
Define.
* include/std/scoped_allocator (__any_of, __propagate_on_copy,
__propagate_on_move, __propagate_on_swap): Remove.
(scoped_allocator_adaptor::propagate_on_container_copy_assignment,
scoped_allocator_adaptor::propagate_on_container_move_assignment,
scoped_allocator_adaptor::propagate_on_container_swap): Define with
__and_ instead of __any_of.
(scoped_allocator_adaptor::is_always_equal): Define.
* testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
* testsuite/20_util/scoped_allocator/propagation.cc: Make traits
derive from true_type or false_type.
* testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
is_always_equal member and remove the trait specialization.
* testsuite/23_containers/vector/52591.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r225081
2015-06-26 21:10:24 +01:00
Marek Polacek
22d035258b
array-notation-common.c (find_rank): Use INDIRECT_REF_P.
...
* array-notation-common.c (find_rank): Use INDIRECT_REF_P.
* c-common.c (c_fully_fold_internal): Likewise.
(c_alignof_expr): Likewise.
* c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
* c-ubsan.c (ubsan_instrument_bounds): Likewise.
* cilk.c (create_parm_list): Likewise.
* c-array-notation.c (fix_builtin_array_notation_fn): Use
INDIRECT_REF_P.
* c-typeck.c (array_to_pointer_conversion): Likewise.
(build_unary_op): Likewise.
(c_finish_return): Likewise.
From-SVN: r225080
2015-06-26 19:55:12 +00:00