Jonathan Wakely
92805612f4
PR 70101 fix allocator-extended ctors for std::priority_queue
...
PR libstdc++/70101
* include/bits/stl_queue.h (priority_queue): Fix allocator-extended
constructors.
* testsuite/23_containers/priority_queue/allocator.cc: New test.
From-SVN: r240781
2016-10-05 13:01:57 +01:00
Jonathan Wakely
a2a64b499a
77864 Fix noexcept conditions for map/set default constructors
...
PR libstdc++/77864
* include/bits/stl_map.h (map::map()): Use nothrow constructibility
of comparison function in conditional noexcept.
* include/bits/stl_multimap.h (multimap::multimap()): Likewise.
* include/bits/stl_multiset.h (multiset::multiset()): Likewise.
* include/bits/stl_set.h (set::set()): Likewise.
* testsuite/23_containers/map/cons/noexcept_default_construct.cc:
New test.
* testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
Likewise.
* testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
Likewise.
* testsuite/23_containers/set/cons/noexcept_default_construct.cc:
Likewise.
From-SVN: r240780
2016-10-05 13:01:51 +01:00
Jonathan Wakely
d72d690a92
Remove invalid alias declaration from _Node_handle
...
* include/bits/node_handle.h (_Node_handle): Remove invalid and unused
alias declaration.
From-SVN: r240779
2016-10-05 13:01:44 +01:00
Jonathan Wakely
78ec9c15be
PR 70564 disambiguate constructors for not_fn call wrapper
...
PR libstdc++/70564
* include/experimental/functional (_Not_fn): Remove.
(not_fn): Use std::_Not_fn.
* include/std/functional (_Not_fn): Add second parameter to
disambiguate copying from initialization by not_fn. Define for C++14.
(not_fn): Add second argument to initialization.
* testsuite/20_util/not_fn/1.cc: Copy call wrapper using
direct-initialization.
From-SVN: r240778
2016-10-05 13:01:36 +01:00
Richard Biener
496326bcc1
re PR middle-end/77863 (genmatch segfault on a wrong usage of an for operator)
...
2016-10-05 Richard Biener <rguenther@suse.de>
PR middle-end/77863
* genmatch.c (capture_info::walk_c_expr): Diagnose unknown
capture ids in c-exprs.
From-SVN: r240777
2016-10-05 11:58:25 +00:00
Richard Biener
39bb7d0152
re PR target/77826 (ICE in decompose, at wide-int.h:928 w/ -m64 -O2 and above)
...
2016-10-05 Richard Biener <rguenther@suse.de>
PR middle-end/77826
* genmatch.c (dt_operand::gen_match_op): Amend operand_equal_p
with types_match for GIMPLE code gen to handle type mismatched
constants properly.
(dt_operand::gen): Adjust.
* match.pd ((X /[ex] A) * A -> X): Properly handle converted
and constant A.
* gcc.dg/torture/pr77826.c: New testcase.
From-SVN: r240776
2016-10-05 11:38:59 +00:00
Richard Biener
eeb57981e2
match.pd (copysign(x, CST) -> [-]abs (x)): New pattern.
...
2016-10-05 Richard Biener <rguenther@suse.de>
* match.pd (copysign(x, CST) -> [-]abs (x)): New pattern.
* gcc.dg/fold-copysign-1.c: New testcase.
From-SVN: r240775
2016-10-05 11:34:58 +00:00
Richard Biener
a5382f1c6b
re PR middle-end/77842 (genmatch segfault on a missing brace)
...
2016-10-05 Richard Biener <rguenther@suse.de>
PR middle-end/77842
* genmatch.c (parser::parse_c_expr): Handle premature EOF.
From-SVN: r240774
2016-10-05 09:36:27 +00:00
Andreas Schwab
f9018d752d
* g++.dg/pr49847-2.C: Remove.
...
From-SVN: r240773
2016-10-05 09:11:27 +00:00
Pierre-Marie de Rodat
7e8000b396
DWARF: move pessimistic DWARF version checks for imported entities
...
A check in dwarf2out_imported_module_or_decl prevents
DW_TAG_imported_module from being emitted as it was introduced in the
DWARFv3 standard. However, this also prevents valid strict DWARFv2
constructs such as DW_TAG_imported_declaration from being emitted in
dwarf2out_imported_module_or_decl_1.
The latter already protects the emission of newer DWARF tags with
appropriate checks, so the one in the former is redundant and
pessimistic. This function is already called from places like
process_scope_var, which are not protected anyway.
This patch moves the check in dwarf2out_imported_module_or_decl so that
in strict DWARFv2 mode, tags like DW_TAG_imported_declaration are
emitted while DW_TAG_imported_module are not.
gcc/
* dwarf2out.c (dwarf2out_imported_module_or_decl): Move DWARF
version check to protect only DW_TAG_imported_module generation.
gcc/testsuite/
* gnat.dg/debug7.adb, gnat.dg/debug7.ads: New testcase.
From-SVN: r240772
2016-10-05 07:53:37 +00:00
Andreas Schwab
a786cec431
crtbegin.S (__do_jv_register_classes): Remove.
...
* config/ia64/crtbegin.S (__do_jv_register_classes): Remove.
(.section .init_array): Don't call __do_jv_register_classes.
(.section .init): Likewise.
From-SVN: r240771
2016-10-05 07:50:34 +00:00
Richard Biener
54f84ca9c7
re PR middle-end/55152 (MAX_EXPR(a,-a) is really ABS_EXPR(a))
...
2016-10-05 Richard Biener <rguenther@suse.de>
PR middle-end/55152
* match.pd (min(a,-a) -> -abs(a)): New pattern.
* gcc.dg/pr55152-2.c: New testcase.
From-SVN: r240770
2016-10-05 07:48:24 +00:00
Jerry DeLisle
17beda50fb
dtio_15.f90: New test.
...
2016-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/dtio_15.f90: New test.
From-SVN: r240769
2016-10-05 04:45:29 +00:00
Jerry DeLisle
ddd12b5fb0
2016-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
...
io/inquire.c (inquire_via_unit): Add check for internal unit
passed into child IO procedure.
From-SVN: r240768
2016-10-05 04:39:33 +00:00
Jason Merrill
3aa27eae35
* g++.dg/cpp1z/class-deduction16.C: Use tuple.
...
From-SVN: r240766
2016-10-04 22:33:48 -04:00
Jason Merrill
f1644724b5
PR c++/77852 - class deduction from list-init
...
* pt.c (do_class_deduction): Handle list-initialization.
(do_auto_deduction): Call it sooner.
(build_deduction_guide): Use tsubst_arg_types.
(rewrite_template_parm): Don't copy_type.
From-SVN: r240765
2016-10-04 21:24:38 -04:00
Ian Lance Taylor
1c84b79889
explow.c (allocate_dynamic_stack_space): Call do_pending_stack_adjust before handling flag_split_stack.
...
gcc/:
* explow.c (allocate_dynamic_stack_space): Call
do_pending_stack_adjust before handling flag_split_stack.
gcc/testsuite/:
* gcc.dg/split-7.c: New test.
From-SVN: r240764
2016-10-05 00:21:41 +00:00
GCC Administrator
8f8d78e683
Daily bump.
...
From-SVN: r240761
2016-10-05 00:16:15 +00:00
Martin Sebor
7ec39552a5
builtin-sprintf-warn-1.c: Cast int argument to %lc directive to wint_t to silence -Wformat warnings on...
...
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Cast int argument to
%lc directive to wint_t to silence -Wformat warnings on targets
where the latter is a distinct type such as long.
From-SVN: r240758
2016-10-04 17:00:42 -06:00
Jason Merrill
2db613e5d3
PR c++/77775 - misoptimization of PMF comparison
...
* constexpr.c (cxx_eval_component_reference): Use name matching
for PMFs.
From-SVN: r240757
2016-10-04 17:14:18 -04:00
Jason Merrill
76b294d48d
Implement P0091R2, Template argument deduction for class templates.
...
* parser.c (cp_parser_simple_type_specifier): Parse class placeholder.
Use the location of the beginning of the type-specifier.
(cp_parser_init_declarator): Parse deduction guide.
(cp_parser_diagnose_invalid_type_name): Mention class deduction.
(cp_parser_type_id_1): Don't accept class placeholder as template arg.
* cp-tree.h (CLASS_PLACEHOLDER_TEMPLATE): New.
* decl.c (grokdeclarator): Check for uninitialized auto here.
(start_decl_1): Not here.
(cp_finish_decl): Or here. Don't collapse a list when doing
class deduction.
(grokfndecl): Check deduction guide scope and body.
* error.c (dump_decl, dump_function_decl, dump_function_name):
Handle deduction guides.
* pt.c (make_template_placeholder, do_class_deduction): New.
(build_deduction_guide, rewrite_template_parm): New.
(dguide_name, dguide_name_p, deduction_guide_p): New.
(do_auto_deduction): Call do_class_deduction.
(splice_late_return_type, is_auto): Handle class placeholders.
(template_parms_level_to_args): Split from template_parms_to_args.
(tsubst_template_parms_level): Split from tsubst_template_parms.
* typeck2.c (build_functional_cast): Handle class placeholder.
From-SVN: r240756
2016-10-04 16:42:58 -04:00
Martin Sebor
8ff04ff92d
PR c++/77804 - Internal compiler error on incorrect initialization of new-d array
...
gcc/cp/ChangeLog:
PR c++/77804
* init.c (warn_placement_new_too_small): Avoid assuming an array type
has a constant size.
gcc/testsuite/ChangeLog:
PR c++/77804
* g++.dg/warn/Wplacement-new-size-4.C: New test.
From-SVN: r240754
2016-10-04 11:34:00 -06:00
David Malcolm
3814e88007
read-md.c: track column numbers
...
gcc/ChangeLog:
* genattrtab.c (make_internal_attr): Supply dummy column number to
file_location ctor.
(main): Likewise.
* genoutput.c (init_insn_for_nothing): Likewise.
* gensupport.c (add_define_attr): Likewise.
* read-md.c (message_at_1): Print column number.
(fatal_with_file_and_line): Likewise.
(rtx_reader::read_char): Track column numbers.
(rtx_reader::unread_char): Likewise.
(rtx_reader::rtx_reader): Initialize m_read_md_colno.
(rtx_reader::handle_include): Stash and restore m_read_md_colno.
(rtx_reader::handle_file): Initialize m_read_md_colno.
(rtx_reader::get_current_location): Supply column number to
file_location ctor.
* read-md.h (struct file_location): Add field "colno".
(file_location::file_location): Likewise.
(rtx_reader::get_colno): New accessor.
(rtx_reader::m_read_md_colno): New field.
(rtx_reader::m_last_line_colno): New field.
From-SVN: r240752
2016-10-04 17:10:41 +00:00
Jakub Jelinek
f72da96757
re PR c++/77791 (ICE on invalid C++11 code with redefined function parameter: tree check: expected tree that contains ‘decl minimal’ structure, have ‘error_mark’ in cp_parser_lambda_declarator_opt, at cp/parser.c:1011)
...
PR c++/77791
* parser.c (cp_parser_lambda_declarator_opt): Only pedwarn
for C++11 on decls in the param_list. Test cxx_dialect < cxx14 before
the loop just once.
* g++.dg/cpp0x/lambda/lambda-77791.C: New test.
From-SVN: r240751
2016-10-04 17:34:16 +02:00
Jakub Jelinek
bfecd57cd4
extend.texi (Java Exceptions): Remove.
...
* doc/extend.texi (Java Exceptions): Remove.
(java_interface): Remove.
cp/
* cp-tree.h (enum cp_tree_index): Remove CPTI_JAVA_*,
CPTI_LANG_NAME_JAVA and CPTI_JCLASS.
(java_byte_type_node, java_short_type_node, java_int_type_node,
java_long_type_node, java_float_type_node, java_double_type_node,
java_char_type_node, java_boolean_type_node, lang_name_java,
jclass_node): Remove.
(enum languages): Remove lang_java.
(TYPE_FOR_JAVA): Remove.
(struct lang_type_class): Remove java_interface bit-field.
(TYPE_JAVA_INTERFACE): Remove.
(pragma_java_exceptions): Remove.
(check_java_method, build_java_class_ref): Remove prototypes.
* name-lookup.c (pushtag_1): Don't set TYPE_FOR_JAVA.
* decl2.c (acceptable_java_type, check_java_method): Remove.
(import_export_decl): Remove TYPE_FOR_JAVA handling.
(build_java_method_aliases): Remove.
(c_parse_final_cleanups): Don't call build_java_method_aliases.
(possibly_inlined_p): Don't test pragma_java_exceptions.
* init.c (build_new_1): Remove TYPE_FOR_JAVA handling.
(build_java_class_ref): Remove.
* pt.c (maybe_new_partial_specialization, lookup_template_class_1,
instantiate_class_template_1): Don't copy TYPE_FOR_JAVA.
* except.c (eh_type_info): Remove java type handling.
(decl_is_java_type, choose_personality_routine): Remove.
(initialize_handler_parm): Don't call choose_personality_routine.
(expand_start_catch_block): Don't handle java types.
(build_throw): Likewise.
* cp-lang.c (cp_eh_personality): Don't handle pragma_java_exceptions.
* typeck.c (structural_comptypes): Don't compare TYPE_FOR_JAVA.
* call.c (build_over_call): Don't handle TYPE_JAVA_INTERFACE.
(java_iface_lookup_fn): Remove.
(build_java_interface_fn_ref): Remove.
* tree.c (cxx_attribute_table): Remove java_interface.
(handle_java_interface_attribute): Remove.
* lex.c (pragma_java_exceptions): Remove.
(init_cp_pragma): Don't register GCC java_exceptions pragma.
(handle_pragma_java_exceptions): Remove.
(retrofit_lang_decl): Don't handle lang_name_java.
* method.c (implicitly_declare_fn): Don't handle TYPE_FOR_JAVA.
* error.c (language_to_string): Don't handle lang_java.
* decl.c (record_builtin_java_type): Remove.
(initialize_predefined_identifiers): Remove Java.
(cxx_init_decl_processing): Remove java_*_type_node.
(cp_finish_decl): Don't handle TYPE_FOR_JAVA.
(grokfndecl): Likewise.
(check_special_function_return_type): Likewise.
(grokdeclarator): Don't set TYPE_FOR_JAVA.
(grokparms): Don't handle TYPE_FOR_JAVA.
(xref_basetypes): Likewise.
(check_function_type): Likewise.
(finish_constructor_body): Likewise.
* mangle.c (write_builtin_type): Don't handle TYPE_FOR_JAVA
and java_*_type_node.
(write_bare_function_type): Don't handle TYPE_FOR_JAVA.
(write_java_integer_type_codes): Remove.
* class.c (add_method): Don't handle TYPE_FOR_JAVA.
(add_implicitly_declared_members, determine_key_method,
finish_struct_1): Likewise.
(push_lang_context): Don't handle lang_name_java.
testsuite/
* g++.dg/other/java3.C: Remove.
* g++.dg/other/java1.C: Remove.
* g++.dg/other/error12.C: Remove.
* g++.dg/other/java2.C: Remove.
* g++.dg/warn/Wnvdtor.C: Remove.
* g++.dg/lookup/java1.C: Remove.
* g++.dg/lookup/java2.C: Remove.
* g++.dg/ext/pr34829.C: Remove.
* g++.dg/ext/java-3.C: Remove.
* g++.dg/ext/java-1.C: Remove.
* g++.dg/ext/java-2.C: Remove.
* g++.old-deja/g++.oliva/dwarf2.C: Remove.
From-SVN: r240750
2016-10-04 17:32:31 +02:00
Doug Gilmore
fe8b1e839c
re PR tree-optimization/77808 (ICE in duplicate_ssa_name_ptr_info, at tree-ssanames.c:630 starting with r240439)
...
Fix PR tree-optimization/77808
gcc/
PR tree-optimization/77808
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Check base_addr
and addr are different before copying points-to information.
gcc/testsuite/
PR tree-optimization/77808
* gcc.dg/tree-ssa/pr77808.c: New testcase.
From-SVN: r240749
2016-10-04 15:28:23 +00:00
Uros Bizjak
9f06db14fa
x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove.
...
* config/i386/x86-tune.def (X86_TUNE_VECTORIZE_DOUBLE): Remove.
* config/i386/i386.h (TARGET_VECTORIZE_DOUBLE): Remove.
* config/i386/i386.c (ix86_add_stmt_cost): Use TARGET_BONNEL instead
of !TARGET_VECTORIZE_DOUBLE when penalizing DFmode vector ops.
From-SVN: r240748
2016-10-04 16:50:35 +02:00
Andre Vieira
f5682f01d0
Add missing testcases from previous patch revision r240379, failed to svn add.
...
From-SVN: r240746
2016-10-04 14:13:52 +00:00
Richard Biener
078b5aab38
re PR tree-optimization/77399 (Poor code generation for vector casts and loads)
...
2016-10-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/77399
* tree-ssa-forwprop.c (simplify_vector_constructor): Properly
verify the target can convert.
* gcc.dg/tree-ssa/forwprop-35.c: Adjust.
From-SVN: r240744
2016-10-04 13:40:54 +00:00
Richard Biener
2b5688997f
re PR target/77833 (ICE: in plus_constant, at explow.c:87 with -O -mavx512f)
...
2016-10-04 Richard Biener <rguenther@suse.de>
PR middle-end/77833
* explow.c (plus_constant): Verify the mode of the constant
pool offset before calling plus_constant.
* gcc.target/i386/pr77833.c: New testcase.
From-SVN: r240743
2016-10-04 13:39:22 +00:00
Richard Biener
d96a55858c
re PR middle-end/77407 (Optimize integer i / abs (i) into the sign of i)
...
2016-10-04 Richard Biener <rguenther@suse.de>
PR middle-end/77407
* match.pd (X / abs (X) -> X < 0 ? -1 : 1): Drop vector
type support, mark with :C.
(X / -X -> -1): Mark with :C.
From-SVN: r240742
2016-10-04 13:18:18 +00:00
Rainer Orth
43c40f3e43
Restore --enable-objc-gc support
...
* configure.ac (target_libraries): Readd target-boehm-gc.
Restore --enable-objc-gc handling.
* configure: Regenerate.
From-SVN: r240740
2016-10-04 09:00:27 +00:00
Jakub Jelinek
5a79befbf4
defaults.h (JCR_SECTION_NAME, [...]): Remove.
...
gcc/
* defaults.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Remove.
* system.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Poison.
* doc/tm.texi.in (TARGET_USE_JCR_SECTION): Remove.
* doc/tm.texi: Regenerated.
* config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Remove.
* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Remove.
* config/darwin.h (JCR_SECTION_NAME): Remove.
* config/pa/pa64-hpux.h (JCR_SECTION_NAME): Remove.
* config/rs6000/aix71.h (TARGET_USE_JCR_SECTION): Remove.
* config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Remove.
* config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Remove.
* config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Remove.
* config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Remove.
gcc/c-family/
* c-cppbuiltin.c (c_cpp_builtins): Don't define
__LIBGCC_JCR_SECTION_NAME__.
libgcc/
* config/i386/cygming-crtbegin.c (_Jv_RegisterClasses): Remove.
(__JCR_LIST__): Remove.
(__gcc_register_frame): Don't attempt to _Jv_RegisterClasses.
* config/i386/cygming-crtend.c (__JCR_END__): Remove.
* config/ia64/crtbegin.S (__JCR_LIST__): Remove.
* config/ia64/crtend.S (__JCR_END__): Remove.
* crtstuff.c: Remove __LIBGCC_JCR_SECTION_NAME__ from preprocessor
conditionals.
(__JCR_LIST__, __JCR_END__): Remove.
(frame_dummy): Don't attempt to _Jv_RegisterClasses.
(__do_global_ctors_1): Likewise.
From-SVN: r240739
2016-10-04 09:49:44 +02:00
GCC Administrator
4b3a7e03e5
Daily bump.
...
From-SVN: r240738
2016-10-04 00:16:17 +00:00
François Dumont
38aee22c7d
shared_ptr.cc (mask, [...]): Move declaration...
...
2016-10-03 François Dumont <fdumont@gcc.gnu.org>
* src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
declaration...
* src/c++11/mutex_pool.h: ... here. New.
* src/c++11/debug.cc: Use latter.
From-SVN: r240732
2016-10-03 20:23:13 +00:00
Prathamesh Kulkarni
ac4f79dde4
Fix ChangeLog entry for r240730
...
From-SVN: r240731
2016-10-03 19:48:58 +00:00
Prathamesh Kulkarni
7d52128374
ipa-cp.c (propagate_bits_accross_jump_function): Introduce space between callee name and param in dump message in call to fprintf.
...
2016-10-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* ipa-cp.c (propagate_bits_accross_jump_function): Introduce space
between callee name and param in dump message in call to fprintf.
From-SVN: r240730
2016-10-03 19:42:55 +00:00
Jeff Law
f05796ba9b
MAINTAINERS: Move several inactive maintainers to the write-after-approval section.
...
* MAINTAINERS: Move several inactive maintainers to the
write-after-approval section.
From-SVN: r240729
2016-10-03 13:37:08 -06:00
Jeff Law
0a4e5cf312
re PR tree-optimization/71550 (wrong code at -O3 on x86_64-linux-gnu)
...
PR tree-optimization/71550
PR tree-optimization/71403
* tree-ssa-threadbackward.c: Include tree-vectorizer.h
(profitable_jump_thread_path): Also return boolean indicating if
the realized path will create an irreducible loop.
Remove loop depth tests from 71403.
(fsm_find_control_statement_thread_paths): Remove loop depth tests
from 71403. If threading will create an irreducible loop, then
throw away loop iteration and related information.
PR tree-optimization/71550
PR tree-optimization/71403
* gcc.c-torture/execute/pr71550.c: New test.
From-SVN: r240727
2016-10-03 13:28:24 -06:00
Ian Lance Taylor
95ccd17c61
re PR go/77809 ("_LITTLE_ENDIAN" redefined)
...
PR go/77809
libgo: strip most C macros from runtime.inc
The Go runtime package is picking up C macros from runtime_sysinfo.go
and then re-exporting them to runtime.inc. This can cause name
conflicts. Change the Makefile so that we only put the macros we need
into runtime.inc. These are the constants that are actually defined by
Go code, not runtime_sysinfo.go. There are only a few, so we can
pattern match.
This is an additional hack on runtime.inc. The long term goal is to
convert the runtime package to Go and eliminate runtime.inc entirely, so
a few hacks seem acceptable.
Fixes GCC PR 77809.
Reviewed-on: https://go-review.googlesource.com/30167
From-SVN: r240724
2016-10-03 18:39:54 +00:00
Jonathan Wakely
606dda21c8
Define std::gcd and std::lcm for C++17
...
* doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
* doc/html/*: Regenerate.
* include/experimental/numeric (__abs): Move to <numeric>.
(gcd, lcm): Use __detail::gcd and __detail::lcm.
* include/std/numeric (__detail::__abs_integral)
(__detail::__gcd, __detail::__lcm): Define.
(gcd, lcm): Define for C++17.
* testsuite/26_numerics/gcd/1.cc: New test.
* testsuite/26_numerics/lcm/1.cc: New test.
* testsuite/experimental/numeric/gcd.cc: Swap contents with ...
* testsuite/experimental/numeric/lcd.cc: ... this.
From-SVN: r240723
2016-10-03 18:01:10 +01:00
Uros Bizjak
ec9d5ad13b
configure.ac (strict_warn): Merge -Wmissing-format-attribute and -Woverloaded-virtual checks for warning...
...
* configure.ac (strict_warn): Merge -Wmissing-format-attribute and
-Woverloaded-virtual checks for warning options.
* configure: Regenerate.
From-SVN: r240721
2016-10-03 17:51:33 +02:00
Jonathan Wakely
e347987da8
Fix libstdc++ versioned namespace build
...
PR libstdc++/68323
PR libstdc++/77794
* config/abi/pre/gnu-versioned-namespace.ver: Add exports for
__cxa_thread_atexit and __gnu_cxx::__freeres.
* include/Makefile.am: Add <experimental/bits/lfts_config.h>
* include/Makefile.in: Regenerate.
* include.bits/basic_string.h: Fix nesting of versioned namespaces.
* include/bits/c++config: Declare versioned namespaces for literals.
* include/bits/regex.h (basic_regex, match_results): Add workarounds
for PR c++/59256.
* include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/std/string_view: Likewise.
* include/std/variant: Likewise. Add workaround for PR c++/59256.
* include/experimental/bits/fs_fwd.h: Declare versioned namespace.
* include/experimental/bits/lfts_config.h: Declare versioned
namespaces.
* include/experimental/algorithm: Include
<experimental/bits/lfts_config.h>.
* include/experimental/any: Likewise.
* include/experimental/bits/erase_if.h: Likewise.
* include/experimental/chrono: Likewise.
* include/experimental/functional: Likewise.
* include/experimental/memory_resource: Likewise.
* include/experimental/optional: Likewise.
* include/experimental/propagate_const: Likewise.
* include/experimental/random: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* include/experimental/utility: Likewise.
* include/experimental/string_view: Likewise. Fix nesting of
versioned namespaces.
* include/experimental/bits/string_view.tcc: Reopen inline namespace
for non-inline function definitions.
* testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
* testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
From-SVN: r240714
2016-10-03 15:35:28 +01:00
Bernd Edlinger
1adae32747
re PR preprocessor/77699 (suspicious code in get_next_line)
...
2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR preprocessor/77699
* input.c (maybe_grow): Don't allocate one byte extra headroom.
(get_next_line): Return false on error.
(read_next_line): Removed, use get_next_line instead.
(read_line_num): Don't copy the line.
(location_get_source_line): Don't use static data.
(selftest::test_reading_source_line): Add more test cases.
From-SVN: r240713
2016-10-03 14:05:46 +00:00
Senthil Kumar Selvaraj
d07b0a23a5
Fix failing gcc.target/avr/torture/builtins_error.c
...
The compiler defaults to thin LTO objects if built with linker plugin
support, and in that case, the error expected by the testcase appears
only at link time, if at all. Forcing fat LTO object file creation
generates the error consistently at compile time, as expected.
gcc/testsuite/ChangeLog:
2016-10-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.target/avr/torture/builtins-error.c: Add -ffat-lto-objects
option.
From-SVN: r240711
2016-10-03 12:08:27 +00:00
Jonathan Wakely
6a0d23af49
Ensure "C++" language linkage for std::abs overloads
...
PR libstdc++/77814
* include/bits/std_abs.h: Use "C++" language linkage.
* testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
the end. Add <stdalign.h>.
From-SVN: r240710
2016-10-03 12:50:46 +01:00
Ville Voutilainen
3fe2ddae4b
re PR libstdc++/77802 (Boost Fiber doesn't compile)
...
PR libstdc++/77802
* testsuite/20_util/tuple/77802.cc: New.
Revert:
2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement LWG 2729 for tuple.
* include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
Suppress conditionally.
(_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
(__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
(_Tuple_impl(const _Head&)): Constrain.
(_Tuple_impl(_UHead&&)): Likewise.
(_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
(_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
(_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
(operator=(const tuple&)): Enable conditionally.
(operator=(tuple&&)): Suppress conditionally.
(operator=(const tuple<_UElements...>&)): Constrain.
(operator=(tuple<_UElements...>&&)): Likewise.
(operator=(const tuple&)): Enable conditionally (2-param tuple).
(operator=(tuple&&)): Suppress conditionally (2-param tuple).
(operator=(const tuple<_U1, _U2>&)): Constrain.
(operator=(tuple<_U1, _U2>&&)): Likewise.
(operator=(const pair<_U1, _U2>&)): Likewise.
(operator=(pair<_U1, _U2>&&)): Likewise.
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
* testsuite/20_util/tuple/tuple_traits.cc: New.
From-SVN: r240709
2016-10-03 14:06:53 +03:00
Kyrylo Tkachov
b44a42cfab
Revert: [RTL ifcvt] Transform (X == CST) ? -CST : Y into (X == CST) ? -X : Y when conditional negation is available
...
Revert
2016-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* ifcvt.c (noce_try_avoid_const_materialization): New function.
(noce_process_if_block): Use it.
* gcc.target/aarch64/ifcvt_avoid_const_materialization_1.c: New test.
From-SVN: r240708
2016-10-03 09:28:28 +00:00
Marek Polacek
f41f1ceba6
Core 903
...
Core 903
* typeck.c (cp_build_binary_op): Pass original operands to
null_ptr_cst_p, not those after the default conversions.
* g++.dg/cpp0x/nullptr37.C: New test.
From-SVN: r240707
2016-10-03 08:10:43 +00:00
Bernd Edlinger
1633d3b91a
invoke.texi: Update -Wint-in-bool-context.
...
2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
* doc/invoke.texi: Update -Wint-in-bool-context.
c-family:
2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-common.c (c_common_truthvalue_conversion): Warn for suspicious
left shift in boolean context.
cp:
2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
* parser.c (cp_parser_condition): Fix a warning.
testsuite:
2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/Wint-in-bool-context.c: Update test.
From-SVN: r240706
2016-10-03 08:00:21 +00:00