Commit Graph

148870 Commits

Author SHA1 Message Date
Jakub Jelinek 2e69f143e3 re PR sanitizer/66343 ("Error: .Lubsan_type3 already defined" with UBSan and precompiled headers)
PR sanitizer/66343
	* ubsan.c (ubsan_create_data): Call initialize_sanitizer_builtins here.
	(ubsan_instrument_float_cast): And not here.

	* c-ubsan.c (ubsan_instrument_return): Don't call
	initialize_sanitizer_builtins here.

	* gcc.dg/pch/pr66343-3.c: New test.
	* gcc.dg/pch/pr66343-3.hs: New file.

From-SVN: r240804
2016-10-05 21:04:39 +02:00
Jakub Jelinek 875825211b re PR sanitizer/66343 ("Error: .Lubsan_type3 already defined" with UBSan and precompiled headers)
PR sanitizer/66343
	* ubsan.c (ubsan_ids): New GTY(()) array.
	(ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
	instead of static local counters.

	* gcc.dg/pch/pr66343-1.c: New test.
	* gcc.dg/pch/pr66343-1.hs: New file.
	* gcc.dg/pch/pr66343-2.c: New test.
	* gcc.dg/pch/pr66343-2.hs: New file.

From-SVN: r240803
2016-10-05 21:03:28 +02:00
Jason Merrill 8b7033e0e1 * semantics.c (finish_compound_literal): Handle class placeholder.
From-SVN: r240802
2016-10-05 14:57:45 -04:00
Steve Ellcey 2e21fd4d98 MAINTAINERS: Update email address after it got reverted.
2016-10-05  Steve Ellcey  <sellcey@caviumnetworks.com>

	* MAINTAINERS: Update email address after it got reverted.

From-SVN: r240801
2016-10-05 18:42:10 +00:00
Bernd Edlinger 700fff34d2 c-common.c (c_common_truthvalue_conversion): Warn also for suspicious conditional expression in boolean context when...
2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
        conditional expression in boolean context when only one arm is
        non-boolean.

testsuite:
2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/Wint-in-bool-context.c: Update test.

From-SVN: r240799
2016-10-05 18:34:17 +00:00
Marek Polacek 17a9e3802a Implement P0305R1, Selection statements with initializer.
* cp-array-notation.c (create_an_loop): Call finish_init_stmt
	instead of finish_for_init_stmt.
	* cp-tree.h (finish_for_init_stmt): Rename to finish_init_stmt.
	* decl.c (poplevel): Adjust a comment.
	* init.c (build_vec_init): Call finish_init_stmt instead of
	finish_for_init_stmt.
	* name-lookup.c (pushdecl_maybe_friend_1): Adjust a comment.
	* name-lookup.h (enum scope_kind): Likewise.
	* parser.c (cp_parser_statement): Update commentary.
	(cp_parser_init_statement_p): New function.
	(cp_parser_selection_statement): Parse the optional init-statement.
	(cp_parser_for): Call finish_init_stmt instead of finish_for_init_stmt.
	(cp_parser_c_for): Likewise.
	(cp_convert_range_for): Call finish_init_stmt instead of finish_for_init_stmt.
	(cp_parser_range_for_member_function): Update commentary.
	(cp_parser_iteration_statement):
	(cp_parser_for_init_statement): Rename to cp_parser_init_statement.
	* pt.c (tsubst_omp_for_iterator): Update commentary.
	(tsubst_expr): Call finish_init_stmt instead of finish_for_init_stmt.
	* semantics.c (finish_for_init_stmt): Rename to finish_init_stmt.
	Update commentary.

	* g++.dg/cpp1z/init-statement1.C: New test.
	* g++.dg/cpp1z/init-statement2.C: New test.
	* g++.dg/cpp1z/init-statement3.C: New test.
	* g++.dg/cpp1z/init-statement4.C: New test.
	* g++.dg/cpp1z/init-statement5.C: New test.
	* g++.dg/cpp1z/init-statement6.C: New test.
	* g++.dg/cpp1z/init-statement7.C: New test.
	* g++.dg/cpp1z/init-statement8.C: New test.

From-SVN: r240798
2016-10-05 18:02:06 +00:00
Louis Krupp 6e48e779ab re PR fortran/67524 (ICE on using implicit character instead of implicit none etc.)
2016-10-05  Louis Krupp  <louis.krupp@zoho.com>

	PR fortran/67524
	* gfortran.dg/pr67524.f90: New test.

2016-10-05  Louis Krupp  <louis.krupp@zoho.com>

	PR fortran/67524
	* resolve.c (resolve_symbol): Don't apply default type rules to
	mixed-entry master created for function entry points.

From-SVN: r240797
2016-10-05 18:00:30 +00:00
Jakub Jelinek 04a3244335 re PR sanitizer/77823 (ICE: in ubsan_encode_value, at ubsan.c:137 with -fsanitize=undefined and vector types)
PR sanitizer/77823
	* c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
	is not integral.

	* c-c++-common/ubsan/shift-9.c: New test.

From-SVN: r240796
2016-10-05 19:47:34 +02:00
Senthil Kumar Selvaraj 743a9cf79a Fix pr69941.c test failure for avr
The test assumes ints are atleast 32 bits wide. For the avr
target, ints are 16 bits wide. This leads VRP to conclude
that a right shift by 9 followed by an equality comparison 
to 0x74 can never be true. VRP eliminates the conditional, and
the code ends up unconditionally calling __builtin_abort.

Fixed the testcase to use __INT32_TYPE__ for targets with less
than 32 bit wide integers, wherever the size happens to be
significant.

gcc/testsuite/ChangeLog

2016-10-05  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

        * gcc.dg/torture/pr69941.c: Use __INT32_TYPE__ instead
        of int if __SIZEOF_INT__ is less than 4 bytes.

From-SVN: r240795
2016-10-05 17:11:22 +00:00
Jerry DeLisle a40278c3e3 re PR libfortran/77868 (Fail to NULL guard check for internal unit in inquire_via_unit)
2016-10-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/77868
	* io/inquire.c (inquire_via_unit): NULL guard the check for
	internal unit passed into child IO procedure.

	* gfortran.dg/dtio_15.f90: Fix spaces in dg-do.
	* gfortran.dg/class_array_20.f03: Likewise.
	* gfortran.dg/class_array_21.f03: Likewise.
	* gfortran.dg/finalize_29.f08: Likewise.
	* gfortran.dg/unlimited_polymorphic_23.f90: Likewise.

From-SVN: r240794
2016-10-05 16:32:24 +00:00
Martin Sebor 73e1414cb8 PR bootstrap/77819 - undefined reference to gnu_libc_printf_pointer_format with uClibc
gcc/ChangeLog:

	PR bootstrap/77819
	* config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Define macro.
	* config/linux.c (gnu_libc_printf_pointer_format): Remove.
	* targhooks.c [DEFAULT_LIBC == LIBC_UCLIBC) && SINGLE_LIBC]
	(default_printf_pointer_format): Define function.
	* targhooks.c (linux_printf_pointer_format): Define new function.
	* targhooks.h (linux_printf_pointer_format): Declare.
	(gnu_libc_printf_pointer_format): Remove declaration.

From-SVN: r240793
2016-10-05 09:21:40 -06:00
Jakub Jelinek 9563bfcdb4 * c-common.c (c_common_reswords): Update comment for C++11.
From-SVN: r240792
2016-10-05 17:10:01 +02:00
Kyrylo Tkachov 37a1d58a10 [fold-const] Fix native_encode_real for HFmode constants
* fold-const.c (native_encode_real): Fix logic for selecting offset
	to write to when BYTES_BIG_ENDIAN.

From-SVN: r240791
2016-10-05 14:57:14 +00:00
Jonathan Wakely aaae096a1a 70564 fix newly-added tests for not_fn
PR libstdc++/70564
	* testsuite/20_util/not_fn/1.cc: Fix test.
	* testsuite/experimental/functional/not_fn.cc: Likewise.

From-SVN: r240784
2016-10-05 13:40:31 +01:00
Kelvin Nilsen 67ef83c61f re PR target/77847 (PowerPC big endian power7/power8 do not bootstrap due to fall through error)
libcpp/ChangeLog:

2016-10-04  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/77847
	* lex.c (search_line_fast): Add a FALLTHROUGH comment to correct
	compiler error in the version of this function that is
	conditionally compiled when GCC_VERSION >= 4005 and both
	__ALTIVEC__ and __BIG_ENDIAN__ symbols are defined.

From-SVN: r240783
2016-10-05 12:36:48 +00:00
Wilco Dijkstra 71dea1dd60 Move all existing strchr and strrchr folding from builtins.c to gimple-fold.c.
gcc/
        * builtins.c (fold_builtin_strchr): Remove function.
        (fold_builtin_strrchr): Likewise.
        (fold_builtin2): Remove strchr, index, strrchr, rindex cases.
        * gimple-fold.c (target_char_cst_p): New function.
        (gimple_fold_builtin_strchr) Add more foldings.
        (gimple_fold_builtin): Add index, strrchr, rindex cases.

From-SVN: r240782
2016-10-05 12:31:05 +00:00
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