Commit Graph

153894 Commits

Author SHA1 Message Date
Iain Buclaw 1a122a71ee d-demangle.c (dlang_parse_real): Remove stack buffer, write the demangled hexadecimal directly to string.
libiberty/ChangeLog:

	* d-demangle.c (dlang_parse_real): Remove stack buffer, write
	the demangled hexadecimal directly to string.
	* testsuite/d-demangle-expected: Add tests.

From-SVN: r248537
2017-05-27 11:29:38 +00:00
Bernd Schmidt b9396a495c MAINTAINERS: Update my email address, and remove myself as maintainer in some areas.
* MAINTAINERS: Update my email address, and remove myself as
	maintainer in some areas.

From-SVN: r248536
2017-05-27 10:50:27 +00:00
Francois-Xavier Coudert 30329066ed * doc/install.texi: Add links to macOS binary distributions.
From-SVN: r248535
2017-05-27 08:40:18 +00:00
Jakub Jelinek b28fea5558 Small ChangeLog tweak.
From-SVN: r248534
2017-05-27 09:48:54 +02:00
Jakub Jelinek 56a35ac922 re PR bootstrap/80887 (gnat bootstrap fails at s-regpat.o: raised STORAGE_ERROR : stack overflow or erroneous memory access)
PR bootstrap/80887
	2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

	* match.pd ((A +- CST1) +- CST2): Allow some conversions.

	* gcc.dg/tree-ssa/addadd.c: Xfail all scan-tree-dump*.

From-SVN: r248533
2017-05-27 09:46:12 +02:00
GCC Administrator a35ae59b92 Daily bump.
From-SVN: r248532
2017-05-27 00:16:32 +00:00
Ian Lance Taylor 56efdb4596 compiler: identify array index expressions in lvalue context
Update the Mark_lvalue_varexprs visitor class (used in
    Assignment_statement::do_get_backend) to identify
    Array_index_expression's that appear on the left hand side of
    assignments, then pass this context info on when invoking
    Array_type::get_value_pointer.
    
    Reviewed-on: https://go-review.googlesource.com/44170

From-SVN: r248528
2017-05-26 21:48:49 +00:00
Richard Henderson 7d66e2655f re PR libgcc/80037 (Bad .eh_frame data in crtend.o)
PR libgcc/80037

 * config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New.

From-SVN: r248522
2017-05-26 11:45:59 -07:00
Nathan Sidwell 945bf9e13f Implement DR2061
gcc/
	Implement DR2061
	* name-lookup.c (push_inline_namespaces): New.
	(push_namespace): Look inside inline namespaces.

	testsuite/
	* g++.dg/cpp0x/dr2061.C: New.
	* g++.dg/parse/namespace-alias-1.C: Add more test.

From-SVN: r248521
2017-05-26 18:13:53 +00:00
Nathan Sidwell 3c9feefc8d Inline and using namespace representation change.
gcc/cp/
	Inline and using namespace representation change.
	* cp-tree.h (struct lang_decl_ns): Delete ns_using.  Add usings,
	inlinees as vector.
	(DECL_NAMESPACE_USING): Adjust.
	(DECL_NAMESPACE_INLINEES): New.
	* name-lookup.h (struct cp_binding_level): Change usings
	representation.
	* name-lookup.c (name_lookup::do_queue_usings)
	name_lookup::queue_usings): Adjust.
	(name_lookup::search_namespace, name_lookup::search_usings)
	name_lookup::queue_namespace): Adjust.
	(name_lookup::adl_namespace_only): Adjust.
	(add_using_namespace, push_namespace): Push onto vector.
	(pop_namespace): Add timing logic.

	libcc1/
	* libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees.
((--This line, and those below, will be ignored--

M    gcc/cp/ChangeLog
M    gcc/cp/cp-tree.h
M    gcc/cp/name-lookup.c
M    gcc/cp/name-lookup.h
M    libcc1/libcp1plugin.cc
M    libcc1/ChangeLog

From-SVN: r248520
2017-05-26 17:19:46 +00:00
Thomas Koenig 5596d26a5c re PR fortran/80889 (Bootstrap broken on all targets due to rev 248472)
2017-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR boostrap/80889
	* acinclude.m4: Also set HAVE_AVX128 on the false
	branch of LIBGFOR_CHECK_AVX128.
	* configure:  Regenerated.

From-SVN: r248519
2017-05-26 17:16:35 +00:00
Nathan Sidwell e1cad93084 call.c (build_operator_new_call): Do namelookup and ADL here.
gcc/cp/
	* call.c (build_operator_new_call): Do namelookup and ADL here.
	(build_new_op_1): Likewise.
	* name-lookup.h (lookup_function_nonclass): Delete declaration.
	(do_using_directive): Likewise.
	* name-lookup.c (set_namespace_binding, push_local_binding): Don't
	declare early.
	(struct scope_binding): Delete.
	(EMPTY_SCOPE_BINDING): Delete.
	(set_decl_namespace): Use OVL_P.
	(finish_local_using_decl): Lose unnecesary checks.
	(lookup_function_nonclass): Delete.
	(cp_emit_debug_info_for_using): Use MAYBE_BASELINK_P.

	libcc1/
	* libcp1plugin.cc (plugin_add_using_namespace): Call
	finish_namespace_using_directive.

From-SVN: r248518
2017-05-26 16:34:40 +00:00
Nathan Sidwell 32196b873a cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
* cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
	(ovl_iterator): Add allow_inner field.  Adjust ctor.  Make
	unduplicatable.
	(ovl_iterator::maybe_push, ovl_iterator::pop): New.
	(lkp_iterator): Add outer field.  Adjust ctor.
	(lkp_iterator::operator++): New.
	(lookup_mark, lookup_maybe_add): Declare.
	* name-lookup.c (name_lookup): Delete fn_set member.
	(name_lookup::preserve_state, name_lookup::restore_state): Unmark
	and mark lookup.
	(name_lookup::add_value): Use lookup_add directly.
	(name_lookup::add_fns: Use lookup_maybe_add.
	(name_lookup::search_adl): Mark and unmark fns.
	(pushdecl): Adjust.
	* pt.c (check_explicit_specialization): Use lookup_add directly.
	* ptree.c (cxx_print_xnode): Show complete overload structure.
	* tree.c (lookup_mark, lookup_maybe_add): New.

From-SVN: r248517
2017-05-26 15:01:07 +00:00
Martin Liska 262149f536 Renumber TDF_* flags to be contiguous.
2017-05-26  Martin Liska  <mliska@suse.cz>

	* dumpfile.h (enum dump_kind): Renumber TDF_* flags to be contiguous.

From-SVN: r248515
2017-05-26 14:49:36 +00:00
Martin Liska 9d9573d509 Simplify usage of some TDF_* flags.
2017-05-26  Martin Liska  <mliska@suse.cz>

	* cfg.c (check_bb_profile): Do not use TDF_COMMENT and print
	always leading ';; '.
	(dump_bb_info): Likewise.
	(brief_dump_cfg): Likewise.
	* cfgrtl.c (print_rtl_with_bb): Do not use TDF_COMMENT.
	* dumpfile.c: Remove usage of TDF_VERBOSE.
	* dumpfile.h (enum dump_kind): Likewise.
	(dump_gimple_bb_header): Do not use TDF_COMMENT.
	* print-tree.c (debug_verbose): Remove.
	* tree-cfg.c (gimple_dump_cfg): Do not use TDF_COMMENT.
	(dump_function_to_file): Remove dumps guarded with TDF_VERBOSE.
	* tree-diagnostic.c (default_tree_printer): Replace
	TDF_DIAGNOSTIC with TDF_SLIM.

From-SVN: r248514
2017-05-26 14:45:59 +00:00
Bin Cheng f8d0706b24 tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass in parameter loop, rather than loop_vinfo.
* tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass
	in parameter loop, rather than loop_vinfo.
	(create_intersect_range_checks): Ditto.
	(vect_create_cond_for_alias_checks): Update call to above functions.

From-SVN: r248513
2017-05-26 14:21:29 +00:00
Bin Cheng cb4fe40136 re PR middle-end/80815 (wrong code because of broken runtime alias check in vectorizer)
PR tree-optimization/80815
	* tree-data-ref.c (prune_runtime_alias_test_list): Simplify condition
	for merging runtime alias checks.  Handle negative DR_STEPs.
	gcc/testsuite
	* gcc.dg/vect/pr80815-1.c: New test.
	* gcc.dg/vect/pr80815-2.c: New test.

From-SVN: r248512
2017-05-26 14:18:26 +00:00
Bin Cheng 8d44cf7275 tree-vect-data-refs.c (Operator==, [...]): Move from ...
* tree-vect-data-refs.c (Operator==, comp_dr_with_seg_len_pair):
	Move from ...
	* tree-data-ref.c (Operator==, comp_dr_with_seg_len_pair): To here.
	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Factor
	out code pruning runtime alias checks.
	* tree-data-ref.c (prune_runtime_alias_test_list): New function
	factored out from above.
	* tree-vectorizer.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
	Move from ...
	* tree-data-ref.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
	... to here.
	(prune_runtime_alias_test_list): New decalaration.

From-SVN: r248511
2017-05-26 14:10:43 +00:00
Bin Cheng 2c8f03adb2 tree-vect-data-refs.c (compare_tree): Rename and move ...
* tree-vect-data-refs.c (compare_tree): Rename and move ...
	* tree-data-ref.c (data_ref_compare_tree): ... to here.
	* tree-data-ref.h (data_ref_compare_tree): New decalaration.
	* tree-vect-data-refs.c (dr_group_sort_cmp): Update uses.
	(operator==, comp_dr_with_seg_len_pair): Ditto.
	(vect_prune_runtime_alias_test_list): Ditto.

From-SVN: r248510
2017-05-26 14:04:49 +00:00
Nathan Sidwell b67b23f00d * name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args.
From-SVN: r248506
2017-05-26 11:36:39 +00:00
Martin Liska e929e6115e Bound partial-inlining-entry-probability param (PR ipa/80663).
2017-05-26  Martin Liska  <mliska@suse.cz>

	PR ipa/80663
	* params.def: Bound partial-inlining-entry-probability param.
2017-05-26  Martin Liska  <mliska@suse.cz>

	PR ipa/80663
	* g++.dg/ipa/pr80212.C: Remove the test as it does not longer
	split at the problematic spot.
	* gcc.dg/ipa/pr48195.c: Change 101 to 100 as 101 is no longer
	a valid value of the param.

From-SVN: r248489
2017-05-26 11:05:52 +00:00
Marek Polacek 92f105f65d re PR sanitizer/80875 (UBSAN: compile time crash in fold_binary_loc at fold-const.c:9817)
PR sanitizer/80875
	* fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
	can be negated.

	* c-c++-common/ubsan/pr80875.c: New test.

From-SVN: r248485
2017-05-26 09:31:36 +00:00
Tom de Vries 74ca4e36fb Replace absolute line numbers in gcc.dg
2017-05-26  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/80557
	* gcc.dg/20011021-1.c: Replace absolute line numbers.
	* gcc.dg/Wcxx-compat-8.c: Same.
	* gcc.dg/Wobjsize-1.c: Same.
	* gcc.dg/Wshadow-local-2.c: Same.
	* gcc.dg/Wstrict-aliasing-converted-assigned.c: Same.
	* gcc.dg/anon-struct-6.c: Same.
	* gcc.dg/asm-wide-1.c: Same.
	* gcc.dg/builtin-inf-1.c: Same.
	* gcc.dg/builtin-redefine.c: Same.
	* gcc.dg/c90-array-lval-6.c: Same.
	* gcc.dg/c90-array-lval-7.c: Same.
	* gcc.dg/c90-fordecl-1.c: Same.
	* gcc.dg/c99-fordecl-2.c: Same.
	* gcc.dg/cast-lvalue-1.c: Same.
	* gcc.dg/cast-lvalue-2.c: Same.
	* gcc.dg/compound-lvalue-1.c: Same.
	* gcc.dg/cond-lvalue-1.c: Same.
	* gcc.dg/cpp/20000419-1.c: Same.
	* gcc.dg/cpp/backslash.c: Same.
	* gcc.dg/cpp/backslash2.c: Same.
	* gcc.dg/cpp/macspace1.c: Same.
	* gcc.dg/cpp/macspace2.c: Same.
	* gcc.dg/cpp/multiline-2.c: Same.
	* gcc.dg/cpp/pr27777.c: Same.
	* gcc.dg/cpp/pr30786.c: Same.
	* gcc.dg/cpp/pr34602.c: Same.
	* gcc.dg/cpp/redef1.c: Same.
	* gcc.dg/cpp/tr-warn1.c: Same.
	* gcc.dg/cpp/tr-warn3.c: Same.
	* gcc.dg/cpp/tr-warn6.c: Same.
	* gcc.dg/cpp/trad/hash.c: Same.
	* gcc.dg/cpp/trad/redef1.c: Same.
	* gcc.dg/cpp/ucs.c: Same.
	* gcc.dg/declspec-10.c: Same.
	* gcc.dg/declspec-11.c: Same.
	* gcc.dg/declspec-18.c: Same.
	* gcc.dg/format/c99-strftime-1.c: Same.
	* gcc.dg/format/ext-3.c: Same.
	* gcc.dg/format/pr72858.c: Same.
	* gcc.dg/gomp/appendix-a/a.24.1.c: Same.
	* gcc.dg/init-string-1.c: Same.
	* gcc.dg/label-decl-3.c: Same.
	* gcc.dg/m-un-2.c: Same.
	* gcc.dg/nofixed-point-2.c: Same.
	* gcc.dg/noncompile/20020213-1.c: Same.
	* gcc.dg/pch/counter-2.c: Same.
	* gcc.dg/plugin/diagnostic-test-string-literals-2.c: Same.
	* gcc.dg/pr27528.c: Same.
	* gcc.dg/pr27953.c: Same.
	* gcc.dg/pr35899.c: Same.
	* gcc.dg/pr37561.c: Same.
	* gcc.dg/pr45461.c: Same.
	* gcc.dg/pr45750.c: Same.
	* gcc.dg/pr53196-2.c: Same.
	* gcc.dg/pr53265.c: Same.
	* gcc.dg/redecl-1.c: Same.
	* gcc.dg/tls/thr-init-1.c: Same.
	* gcc.dg/torture/pr51106-1.c: Same.
	* gcc.dg/torture/pr51106-2.c: Same.
	* gcc.dg/uninit-19.c: Same.
	* gcc.dg/uninit-pr20644.c: Same.

From-SVN: r248484
2017-05-26 09:25:00 +00:00
Jakub Jelinek 6fc9f7aa73 cp-tree.h (struct lang_decl_decomp): New type.
* cp-tree.h (struct lang_decl_decomp): New type.
	(struct lang_decl): Add u.decomp.
	(LANG_DECL_DECOMP_CHECK): Define.
	(DECL_DECOMPOSITION_P): Note it is set also on the vars
	for user identifiers.
	(DECL_DECOMP_BASE): Define.
	(retrofit_lang_decl): Add extra int = 0 argument.
	* lex.c (retrofit_lang_decl): Add SEL argument, if non-zero
	use it to influence the selector choices and for selector
	0 to non-zero transition copy old content.
	(cxx_dup_lang_specific_decl): Handle DECL_DECOMPOSITION_P.
	* decl.c (poplevel): For DECL_DECOMPOSITION_P, check
	!DECL_DECOMP_BASE instead of !DECL_VALUE_EXPR.  Adjust warning
	wording if decl is a structured binding.
	(cp_finish_decomp): Pass 4 as the new argument to retrofit_lang_decl.
	Set DECL_DECOMP_BASE.  Ignore DECL_READ_P sets from initialization
	of individual variables for tuple structured bindings.
	(grokdeclarator): Pass 4 as the new argument to retrofit_lang_decl.
	Clear DECL_DECOMP_BASE.
	* decl2.c (mark_used): Mark DECL_DECOMP_BASE TREE_USED as well.
	* pt.c (tsubst_decomp_names): Assert DECL_DECOMP_BASE matches what
	is expected.
	* expr.c (mark_exp_read): Recurse on DECL_DECOMP_BASE instead of
	DECL_VALUE_EXPR.

	* g++.dg/cpp1z/decomp29.C (p): New variable.
	(main): Add further tests.

From-SVN: r248483
2017-05-26 11:17:54 +02:00
Richard Biener 28e0e05bad re PR tree-optimization/80842 (ICE at -O3 on x86_64-linux-gnu in "set_lattice_value")
2017-05-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80842
	* tree-ssa-ccp.c (set_lattice_value): Always meet with the old
	value.

	* gcc.dg/torture/pr80842.c: New testcase.

From-SVN: r248482
2017-05-26 07:19:00 +00:00
Richard Biener f408a6350f re PR tree-optimization/80844 (OpenMP SIMD doesn't know how to efficiently zero a vector (its stores zeros and reloads))
2017-05-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80844
	* tree-vectorizer.c (adjust_simduid_builtins): Propagate
	results.

From-SVN: r248481
2017-05-26 07:14:52 +00:00
GCC Administrator 1f06dc9561 Daily bump.
From-SVN: r248479
2017-05-26 00:16:18 +00:00
Eric Gallager aa1b69e789 MAINTAINERS: Add self to Write After Approval
2017-05-25  Eric Gallager  <egall@gwmail.gwu.edu>

	* MAINTAINERS: Add self to Write After Approval

From-SVN: r248475
2017-05-25 23:38:05 +00:00
Paolo Carlini c81ec254f9 re PR c++/79652 (ICE on invalid c++ code in warn_extern_redeclared_static in cp/decl.c:1231)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79652
	* g++.dg/cpp0x/pr79652.C: New.

From-SVN: r248474
2017-05-25 22:29:40 +00:00
Paolo Carlini aee21066ff re PR c++/71451 (ICE on invalid C++11 code on x86_64-linux-gnu: in dependent_type_p, at cp/pt.c:22599)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71451
	* g++.dg/cpp0x/variadic170.C: New.

From-SVN: r248473
2017-05-25 22:28:54 +00:00
Thomas Koenig 1d5cf7fcf2 re PR libfortran/78379 (Processor-specific versions for matmul)
2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/78379
	* Makefile.am: Add generated/matmulavx128_*.c files.
	Handle them for compiling and setting the right flags.
	* acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
	* configure.ac: Call them.
	* Makefile.in: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* m4/matmul.m4:  Handle AMD chips by calling 128-bit AVX
	versions which use FMA3 or FMA4.
	* m4/matmulavx128.m4: New file.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.
        * generated/matmulavx128_c10.c: New file.
        * generated/matmulavx128_c16.c: New file.
        * generated/matmulavx128_c4.c: New file.
        * generated/matmulavx128_c8.c: New file.
        * generated/matmulavx128_i1.c: New file.
        * generated/matmulavx128_i16.c: New file.
        * generated/matmulavx128_i2.c: New file.
        * generated/matmulavx128_i4.c: New file.
        * generated/matmulavx128_i8.c: New file.
        * generated/matmulavx128_r10.c: New file.
        * generated/matmulavx128_r16.c: New file.
        * generated/matmulavx128_r4.c: New file.
        * generated/matmulavx128_r8.c: New file.

From-SVN: r248472
2017-05-25 21:51:27 +00:00
Jason Merrill 87e1e6036e * g++.dg/cpp1z/nontype-auto11.C: Move from pr79583.C.
From-SVN: r248471
2017-05-25 17:24:48 -04:00
Jason Merrill 0fa367aa6b PR c++/80605 - __is_standard_layout and zero-length array
* class.c (check_bases): Use DECL_FIELD_IS_BASE.

From-SVN: r248470
2017-05-25 17:24:36 -04:00
Nathan Sidwell 87c976aead Kill OVL_CURRENT, OVL_NEXT.
* cp-tree.h (OVL_CURRENT, OVL_NEXT): Delete.
	* name-lookup.c (set_decl_namespace): Use ovl_iterator.
	(consider_binding_level): Use OVL_FIRST.
	(cp_emit_debug_info_for_using): Use lkp_iterator.
	* pt.c (check_explicit_specialization): Use ovl_iterator.

From-SVN: r248469
2017-05-25 20:55:07 +00:00
Sebastian Peryt de3fb1a646 md.texi (Machine Constraints): Update x86 family machine constraints section to match 'config/i386/constraints.md'.
* doc/md.texi (Machine Constraints): Update x86 family
	machine constraints section to match 'config/i386/constraints.md'.

From-SVN: r248468
2017-05-25 21:41:29 +02:00
Nathan Sidwell 44e00a7a1b Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
gcc/cp/
	Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
	* cp-tree.h (lang_decl_ns): Remove ns_users field.
	(DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS): Delete.
	(TREE_INDIRECT_USING): Delete.
	* name-lookup.h (is_associated_namespace): Delete.
	* name-lookup.c (name_lookup::search_usings
	name_lookup::do_queue_usings): Usings are always direct.
	(is_associated_namespace): Delete.
	(handle_namespace_attrs): Use DECL_NAMESPACE_INLINE_P.
	(namespace_ancestor_1, namespace_ancestor): Delete.
	(push_using_directive_1, push_using_directive): Delete.
	(add_using_namespace_1): Delete.
	(add_using_namespace): Reimplement.
	(emit_debug_info_using_namespace): New.
	(finish_namespace_using_directive, finish_local_using_directive
	push_namespace): Adjust.
	* tree.c (cp_free_lang_data): Remove DECL_NAMESPACE_USERS
	handling.

	libcc1/
	* libcp1plugin.cc (plugin_make_namespace_inline): Check and set
	DECL_NAMESPACE_INLINE_P.

	gcc/testsuite/
	* g++.dg/lookup/using56.C: New.
	* g++.dg/lookup/using57.C: New.
	* g++.dg/lookup/using58.C: New.
	* g++.dg/lookup/using59.C: New.

From-SVN: r248467
2017-05-25 18:52:47 +00:00
Volker Reichelt 63dbcd13e9 invoke.texi (-Wcatch-value=): Document new warning option.
* doc/invoke.texi (-Wcatch-value=): Document new warning option.

        * c.opt (Wcatch-value=): New C++ warning flag.

        * semantics.c (finish_handler_parms): Warn about non-reference
        * type
        catch handlers.

        * g++.dg/warn/Wcatch-value-1.C: New test.
        * g++.dg/warn/Wcatch-value-2.C: New test.
        * g++.dg/warn/Wcatch-value-3.C: New test.

From-SVN: r248466
2017-05-25 17:05:07 +00:00
Nathan Sidwell 932f48ac85 Reimplement unqualified namespace lookup.
gcc/cp/
	Reimplement unqualified namespace lookup.
	* name-lookup.c (name_lookup::using_pair)
	name_lookup::using_queue): New typedefs.
	(name_lookup::queue_namespace, name_lookup::do_queue_usings,
	name_lookup::queue_usings): New.
	(name_lookup::search_unqualified): New.
	(merge_functions, same_entity_p, ambiguous_decl)
	unqualified_namespace_lookup_1, unqualified_namespace_lookup,
	lookup_using_namespace): Delete.
	(lookup_name_real_1): Adjust.

	gcc/testsuite/
	* g++.dg/lookup/using17.C: Adjust diagnostics.

From-SVN: r248465
2017-05-25 16:55:43 +00:00
Martin Sebor a10f9a2eaa overflow-warn-9.c: Adjust expected warnings to avoid false positives on ILP32.
gcc/testsuite/ChangeLog:
	* gcc.dg/overflow-warn-9.c: Adjust expected warnings to avoid false
	positives on ILP32.
	* gcc.dg/pr59963-2.c: Replace tabs with spaces, adjust expected
	column numbers.
	* gcc.dg/pr60114.c: Same.

From-SVN: r248464
2017-05-25 10:51:24 -06:00
Nathan Sidwell 9dda0acea2 Reimplement qualified namespace lookup.
* name-lookup.c (name_lookup::flags): New member.  Adjust ctor.
	(name_lookup::ambiguous, name_lookup::add_value)
	name_lookup::add_type, name_lookup::process_binding): New.
	(name_lookup::search_namespace_only)
	name_lookup::search_namespace, name_lookup::search_usings): New.
	(name_lookup::search_qualified): New.
	(do_nonmember_using_decl, suggest_alternatives_for)
	lookup_qualified_name): Adjust.
	(tree_vec_contains): Delete.
	(qualified_lookup_using_namespace): Rename to ...
	(qualified_namespace_lookup): ... here.  Reimplement.
(((--This line, and those below, will be ignored--

M    cp/name-lookup.c
M    cp/ChangeLog

From-SVN: r248462
2017-05-25 15:12:38 +00:00
Jan Hubicka 47c05e71d7 * gfortran.dg/pr48636.f90: Fix template better.
From-SVN: r248460
2017-05-25 14:49:43 +00:00
Jonathan Wakely bb5faf73a8 Fix bootstrap failure in Ada FE due to -Werror=ignored-qualifiers
* gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant
	const qualifiers that cause -Wignored-qualifiers warnings.

From-SVN: r248458
2017-05-25 14:24:46 +01:00
Nathan Sidwell f35a733d37 cp-tree.h (LOOKUP_SEEN_P, [...]): New.
gcc/cp/
	* cp-tree.h (LOOKUP_SEEN_P, LOOKUP_FOUND_P): New.
	* name-lookup.h (lookup_arg_dependent): Return plain tree.
	* name-lookup.c (arg_lookup, arg_assoc, arg_assoc_args)
	arg_assoc_args_vec, arg_assoc_type, add_function,
	arg_assoc_namespace, arg_assoc_class_only, arg_assoc_bases,
	arg_assoc_class, arg_assoc_template_arg, arg_assoc,
	lookup_arg_dependent_1): Delete.
	(name_lookup): New lookup object.
	(name_lookup::preserve_state, name_lookup::restore_state)
	name_lookup::mark_seen, name_lookup::find_and_mark,
	name_lookup::add_fns, name_lookup::adl_namespace_only,
	name_lookup::adl_namespace, name_lookup::adl_class_only,
	name_lookup::adl_bases, name_lookup::adl_class,
	name_lookup::adl_expr, name_lookup::adl_type,
	name_lookup::adl_template_arg, name_lookup::search_adl): New.
	(lookup_arg_dependent): Return a plain tree.  Adjust.
	(is_associated_namespace): Move later.
	gcc/cp/
	* g++.dg/lookup/koenig14.C: New.

From-SVN: r248457
2017-05-25 12:51:30 +00:00
Thomas Koenig 8442a5fbf0 dump-parse-tree.c (show_expr): Also replace with dumpfile for showing values for forgotten case.
2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-parse-tree.c (show_expr):  Also replace
	with dumpfile for showing values for forgotten
	case.

From-SVN: r248456
2017-05-25 12:21:22 +00:00
Nathan Sidwell cdfee50a5b configure.ac: Add --enable-languages=default to mean default and make --enable-languages=all...
* configure.ac: Add --enable-languages=default to mean default and
	make --enable-languages=all mean all supported languages.
	* configure: Regenerated.
	gcc/
	* doc/invoke.texi (--enable-languages): Update documentation.

From-SVN: r248454
2017-05-25 11:05:38 +00:00
Martin Liska 56af751e21 Add -fdump*-folding suboption.
2017-05-25  Martin Liska  <mliska@suse.cz>

	* dumpfile.c: Add TDF_FOLDING.
	* dumpfile.h (enum dump_kind): Likewise.
	* genmatch.c (dt_simplify::gen_1): Use it.

From-SVN: r248452
2017-05-25 10:08:02 +00:00
Paolo Carlini 18c1e9e024 re PR c++/79583 (ICE (internal compiler error) upon instantiation of class template with `auto` template parameter containing inner class template)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79583
	* g++.dg/cpp0x/pr79583.C: New.

From-SVN: r248451
2017-05-25 09:32:46 +00:00
Paolo Carlini 2673d1925b re PR c++/68578 (ICE on invalid template declaration and instantiation)
2017-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68578
	* g++.dg/cpp1y/pr68578.C: New.

From-SVN: r248450
2017-05-25 09:32:06 +00:00
Marc Glisse bce8ef718d Relax VIEW_CONVERT_EXPR - CONVERT_EXPR combination
2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (view_convert (convert@0 @1)): Handle zero-extension.

gcc/testsuite/
	* gcc.dg/tree-ssa/vce-1.c: New file.

From-SVN: r248449
2017-05-25 08:50:54 +00:00
Marc Glisse 11d6b45d43 Allow some NOP conversions in (X+CST1)+CST2 in match.pd
2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd ((A +- CST1) +- CST2): Allow some conversions.
	* tree.c (drop_tree_overflow): Handle COMPLEX_CST and VECTOR_CST.

gcc/testsuite/
	* gcc.dg/tree-ssa/addadd.c: New file.

From-SVN: r248448
2017-05-25 08:45:48 +00:00