Commit Graph

153846 Commits

Author SHA1 Message Date
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
Marc Glisse
10bc8017a3 Move "(A & C) == D is false when D & ~C != 0" to match.pd
2017-05-25  Marc Glisse  <marc.glisse@inria.fr>

	* fold-const.c (fold_binary_loc) [(A & C) == D]: Remove transformation.
	* match.pd (X == C): Rewrite it here.
	(with_possible_nonzero_bits, with_possible_nonzero_bits2,
	with_certain_nonzero_bits2): New predicates.
	* tree-ssanames.c (get_nonzero_bits): Handle INTEGER_CST.

From-SVN: r248447
2017-05-25 08:39:37 +00:00
Nathan Sidwell
d112b94ac4 lto-streamer-in.c (lto_input_data_block): Adjust T const cast to avoid warning.
* lto-streamer-in.c (lto_input_data_block): Adjust T const cast to
	avoid warning.

From-SVN: r248445
2017-05-25 01:21:01 +00:00
Nathan Sidwell
d65adabb0d auto-profile.c (afdo_propagate): Adjust T const cast to avoid warning.
* auto-profile.c (afdo_propagate): Adjust T const cast to avoid
	warning.

From-SVN: r248444
2017-05-25 01:12:29 +00:00
Nathan Sidwell
be136b5c88 c=common.c (field_decl_cmp, [...]): Adjust T const casts to avoid warning.
* c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
	const casts to avoid warning.

From-SVN: r248443
2017-05-25 00:55:10 +00:00
Nathan Sidwell
2efc367f25 * libiberty.h (ASTRDUP): Adjust cast to avoid warning.
From-SVN: r248442
2017-05-25 00:33:48 +00:00
GCC Administrator
d0a2c9a28b Daily bump.
From-SVN: r248441
2017-05-25 00:16:20 +00:00
Nathan Sidwell
5ad4f1c811 friend.c (do_friend): Remove check for existing decl.
cp/
	* friend.c (do_friend): Remove check for existing decl.
	* name-lookup.h (lookup_name_innermost_nonclass_level): Delete.
	* name-lookup.c (push_local_binding): Directly look for binding.
	(lookup_name_innermost_nonclass_level_1): Delete.
	(lookup_name_innermost_nonclass_level): Delete.

	testsuite/
	* g++.dg/lookup/friend12.C: Adjust diagnostics.
	* g++.dg/lookup/friend19.C: New.
	* g++.dg/lookup/friend20.C: New.

From-SVN: r248435
2017-05-24 23:18:58 +00:00
Nathan Sidwell
6cdb26f2ad * Make-lang.in (CXX_AND_OBJCXX_OBJS): Alphabetize.
From-SVN: r248434
2017-05-24 23:13:01 +00:00
Nathan Sidwell
d48b9bbeb3 cp-tree.h (cp_free_lang_data): Add extern.
* cp-tree.h (cp_free_lang_data): Add extern.
	(ovl_skip_hidden, is_overloaded_fn, really_overloaded_fn): Add
	ATTRIBUTE_PURE.
	(type_unknown_p): Return bool, make inline, lose TREE_LIST check.
	* typeck.c (type_unknown_p): Delete.
	* tree.c (is_overloaded_fn): Use MAYBE_BASELINE_FUNCTIONS, adjust
	overload management.
	(dependent_name): Likewise.
	(decl_anon_ns_mem_p): Simplify.

From-SVN: r248433
2017-05-24 23:08:17 +00:00
Jonathan Wakely
d4a760d8c4 PR c++/80544 strip cv-quals from cast results
gcc/cp:

	PR c++/80544
	* tree.c (reshape_init): Use unqualified type for direct enum init.
	* typeck.c (maybe_warn_about_cast_ignoring_quals): New.
	(build_static_cast_1, build_reinterpret_cast_1): Strip cv-quals from
	non-class destination types.
	(build_const_cast_1): Strip cv-quals from destination types.
	(build_static_cast, build_reinterpret_cast, build_const_cast)
	(cp_build_c_cast): Add calls to maybe_warn_about_cast_ignoring_quals.

gcc/testsuite:

	PR c++/80544
	* g++.dg/expr/cast11.C: New test.

From-SVN: r248432
2017-05-24 23:16:59 +01:00
Martin Sebor
3cd211af99 PR c/80731 - poor -Woverflow warnings
gcc/c-family/ChangeLog:

	PR c/80731
	* c-common.h (unsafe_conversion_p): Add a function argument.
	* c-common.c (unsafe_conversion_p): Same.
	Add type names and values to diagnostics.
	(scalar_to_vector): Adjust.
	* c-warn.c (constant_expression_error): Add a function argument.
	Add type names and values to diagnostics.
	(conversion_warning): Add a function argument.
	Add type names and values to diagnostics.
	(warnings_for_convert_and_check): Same.

gcc/c/ChangeLog:

	PR c/80731
	* c-fold.c (c_fully_fold_internal): Adjust.
	* c-typeck.c (parser_build_unary_op): Adjust.

gcc/cp/ChangeLog:

	PR c/80731
	* call.c (fully_fold_internal): Adjust.

gcc/testsuite/ChangeLog:

	PR c/80731
	* c-c++-common/Wfloat-conversion.c: Adjust.
	* c-c++-common/dfp/convert-int-saturate.c: Same.
	* c-c++-common/pr68657-1.c: Same.
	* g++.dg/ext/utf-cvt.C: Same.
	* g++.dg/ext/utf16-4.C: Same.
	* g++.dg/warn/Wconversion-real-integer-3.C: Same.
	* g++.dg/warn/Wconversion-real-integer2.C: Same.
	* g++.dg/warn/Wconversion3.C: Same.
	* g++.dg/warn/Wconversion4.C: Same.
	* g++.dg/warn/Wsign-conversion.C: Same.
	* g++.dg/warn/overflow-warn-1.C: Same.
	* g++.dg/warn/overflow-warn-3.C: Same.
	* g++.dg/warn/overflow-warn-4.C: Same.
	* g++.dg/warn/pr35635.C: Same.
	* g++.old-deja/g++.mike/enum1.C: Same.
	* gcc.dg/Wconversion-3.c: Same.
	* gcc.dg/Wconversion-5.c: Same.
	* gcc.dg/Wconversion-complex-c99.c: Same.
	* gcc.dg/Wconversion-complex-gnu.c: Same.
	* gcc.dg/Wconversion-integer.c: Same.
	* gcc.dg/Wsign-conversion.c: Same.
	* gcc.dg/bitfld-2.c: Same.
	* gcc.dg/c90-const-expr-11.c: Same.
	* gcc.dg/c90-const-expr-7.c: Same.
	* gcc.dg/c99-const-expr-7.c: Same.
	* gcc.dg/overflow-warn-1.c: Same.
	* gcc.dg/overflow-warn-2.c: Same.
	* gcc.dg/overflow-warn-3.c: Same.
	* gcc.dg/overflow-warn-4.c: Same.
	* gcc.dg/overflow-warn-5.c: Same.
	* gcc.dg/overflow-warn-8.c: Same.
	* gcc.dg/overflow-warn-9.c: New test.
	* gcc.dg/pr35635.c: Adjust.
	* gcc.dg/pr59940.c: Same.
	* gcc.dg/pr59963-2.c: Same.
	* gcc.dg/pr60114.c: Same.
	* gcc.dg/switch-warn-2.c: Same.
	* gcc.dg/utf-cvt.c: Same.
	* gcc.dg/utf16-4.c: Same.

From-SVN: r248431
2017-05-24 16:07:21 -06:00
Eli Zaretskii
1ab4db9379 waitpid.c (wait): Define as a macro that calls _cwait, so that this function works on MinGW.
2017-05-24  Eli Zaretskii  <eliz@gnu.org>
* libiberty/waitpid.c (wait) [__MINGW32__]: Define as a macro
that calls _cwait, so that this function works on MinGW.

From-SVN: r248430
2017-05-24 17:35:59 -04:00
Segher Boessenkool
8334904615 Split off powerpcspe from rs6000 port
* config/powerpcspe: New port.  Files are copied from the rs6000
	port, with "rs6000" in filenames replaced by "powerpcspe".

	* config.gcc (powerpc*-*-*spe*): New.
	(powerpc-*-eabispe*): Use ${cpu_type} instead of hardcoded pathnames.
	(powerpc-*-rtems*spe*): New.
	(powerpc*-*-linux*spe*): New.
	(powerpc-wrs-vxworksspe): New.
	(powerpc*-*-*, rs6000-*-*): Use ${cpu_type}.
	(misc flags) [powerpc*-*-*, rs6000-*-*): Use ${cpu_type}.
	* config.host (powerpc*-*-*spe*): New.

From-SVN: r248429
2017-05-24 21:35:49 +02:00
Jonathan Wakely
b678436176 Use CHAR_BIT instead of assuming 8 bits
* src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__
	instead of fixed number of bits.

From-SVN: r248428
2017-05-24 20:27:28 +01:00
Jakub Jelinek
216bfadc5d integer-pack2.C: Require int32 effective target.
* g++.dg/ext/integer-pack2.C: Require int32 effective target.
	Don't include limits.h.
	(w): Conditionalize on long long wider than int.  Use
	1LL << (__SIZEOF_INT__ * __CHAR_BIT__) instead of
	-9223372036854775808.
	(x): Use __INT_MAX__ instead of INT_MAX.

From-SVN: r248427
2017-05-24 21:11:01 +02:00
Thomas Koenig
a79b947460 dump-parse-tree.c (show_expr): Replace stdout with dumpfile for showing values.
2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-parse-tree.c (show_expr):  Replace stdout
	with dumpfile for showing values.

From-SVN: r248426
2017-05-24 19:00:47 +00:00
Thomas Koenig
610abc0212 re PR fortran/66094 (Handle transpose(A) in inline matmul)
2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66094
	* frontend-passes.c (matrix_case):  Add A2TB2.
	(inline_limit_check):  Handle MATMUL(TRANSPOSE(A),B)
	(inline_matmul_assign):  Likewise.

2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66094
	* gfortran.dg/inline_matmul_16.f90:  New test.

From-SVN: r248425
2017-05-24 18:44:35 +00:00
Wilco Dijkstra
1a2fa2f821 When lra-remat rematerializes an instruction with a clobber, it checks that the clobber does not kill live registers.
When lra-remat rematerializes an instruction with a clobber, it checks
that the clobber does not kill live registers.  However it fails to check
that the clobber also doesn't overlap with the destination register of the
final rematerialized instruction.  As a result it is possible to generate
illegal instructions with the same hard register as the destination and a
clobber.  Fix this by also checking for overlaps with the destination
register.

    gcc/
	PR rtl-optimization/80754
	* lra-remat.c (do_remat): Add overlap checks for dst_regno.

From-SVN: r248424
2017-05-24 17:06:55 +00:00
Nathan Sidwell
c0edbb32c1 cp-tree.h (ovl_skip_hidden): Declare.
* cp-tree.h (ovl_skip_hidden): Declare.
	* tree.c (ovl_skip_hidden): New.
	* name-lookup.c (arg_assoc_namespace): Call ovl_skip_hidden.
	(lookup_arg_dependent_1): Likewise.
	(ambiguous_decl): Use DECL_HIDDEN_P, ovl_skip_hidden.
	(hidden_name_p, remove_hidden_names): Delete.
	(lookup_name_real_1): Do not strip hidden names.
	* name-lookup.h (hidden_name_p, remove_hidden_names): Delete.

From-SVN: r248423
2017-05-24 15:56:06 +00:00
Sheldon Lobo
657e5f8326 Fix a SPARC -mcbcond compare-and-branch out of range failure.
* config/sparc/sparc.md (length): Return the correct value for -mflat
	sibcalls to match output_sibcall.

From-SVN: r248422
2017-05-24 14:46:05 +00:00
Segher Boessenkool
6938e7f1d8 rs6000: Fix for separate shrink-wrapping for fp (PR80860, PR80843)
After my r248256, rs6000_components_for_bb allocates an sbitmap of size
only 32 while it can use up to 64.  This patch fixes it.  It moves the
n_components variable into the machine_function struct so that other
hooks can use it.


	PR bootstrap/80860
	PR bootstrap/80843
	* config/rs6000/rs6000.c (struct machine_function): Add new field
	n_components.
	(rs6000_get_separate_components): Init that field, use it.
	(rs6000_components_for_bb): Use the field.

From-SVN: r248421
2017-05-24 16:33:11 +02:00
Andreas Schwab
e1b6749586 baseline_symbols.txt: Update.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r248420
2017-05-24 14:33:07 +00:00
Thomas Preud'homme
5bd5d23644 [ARM] Fix typo in comment in arm_expand_prologue
2017-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (arm_expand_prologue): Fix typo in comment.

From-SVN: r248419
2017-05-24 14:12:00 +00:00
Tom de Vries
8d0c9b36dd Reinstate absolute line number in gcc.dg/cpp/19940712-1.c
2017-05-24  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/cpp/19940712-1.c: Reinstate absolute line number.

From-SVN: r248418
2017-05-24 14:08:37 +00:00
Thomas Schwinge
7ce6440371 OpenACC 1.0 compatibility: acc_async_wait, acc_async_wait_all
libgomp/
	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
	* libgomp.map (OACC_2.0.1): Add these.
	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
	for "acc_wait", and "acc_wait_all", respectively.
	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
	for "acc_wait", and "acc_wait_all", respectively.
	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
	* libgomp.texi (acc_wait, acc_wait_all): Update.
	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.

From-SVN: r248413
2017-05-24 15:25:01 +02:00
Thomas Schwinge
318686c21a Fortran OpenACC "openacc_lib.h": acc_pcopyin, acc_pcreate
libgomp/
	* openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
	acc_present_or_copyin and acc_present_or_create procedures,
	respectively.
	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
	generally different variants of OpenACC Runtime Library functions.
	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.

From-SVN: r248412
2017-05-24 15:23:55 +02:00
Thomas Schwinge
a674553480 Translate libgomp.oacc-c-c++-common/lib-32.c into Fortran
libgomp/
	* testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.

From-SVN: r248411
2017-05-24 15:23:45 +02:00
Thomas Schwinge
9b94fbc7e4 C/C++ OpenACC: acc_pcopyin, acc_pcreate
libgomp/
	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
	of preprocessor definitions.
	* libgomp.h (strong_alias): Guard by "#ifdef
	HAVE_ATTRIBUTE_ALIAS".
	* oacc-mem.c: Provide "acc_pcreate" as alias for
	"acc_present_or_create", and "acc_pcopyin" as alias for
	"acc_present_or_copyin".
	* libgomp.map: New version "OACC_2.0.1".
	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
	its content into...
	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
	Extend testing.

From-SVN: r248410
2017-05-24 15:23:34 +02:00
Peter Bergner
3f3fb6c913 re PR middle-end/80823 (ICE: verify_flow_info failed)
gcc/
	PR middle-end/80823
	* tree-cfg.c (group_case_labels_stmt): Delete increment of "i";

gcc/testsuite/
	PR middle-end/80823
	* gcc.dg/pr80823.c: New test.

From-SVN: r248408
2017-05-24 07:10:54 -05:00
Andreas Krebbel
00e0af8d15 S/390: Fix PR80725.
gcc/ChangeLog:

2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/80725
	* config/s390/s390.c (s390_check_qrst_address): Check incoming
	address against address_operand predicate.
	* config/s390/s390.md ("*indirect_jump"): Swap alternatives.

gcc/testsuite/ChangeLog:

2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* gcc.target/s390/pr80725.c: New test.

From-SVN: r248407
2017-05-24 11:36:54 +00:00
Nathan Sidwell
ef4c5e7855 cp-tree.h (OVL_HIDDEN_P): New.
gcc/cp/
	* cp-tree.h (OVL_HIDDEN_P): New.
	(ovl_iterator::hidden_p, ovl_iterator::reveal_node): New.
	(ovl_iterator::reveal_node): Declare.
	* tree.c (ovl_copy): Copy OVL_HIDDEN_P.
	(ovl_insert): Order on hiddenness.
	(ovl_iterator::reveal_node): New.
	* name-lookup.c (anticipated_builtin_p): New.
	(supplement_binding_1): Use it.
	(set_local_extern_decl_linkage): Use hidden_p.
	(do_pushdecl): Deal with unhiding a hidden decl, use
	anticipated_builtin_p.
	(do_nonmember_using_decl): Use anticipated_decl_p.
	(lookup_name_real_1): Use DECL_HIDDEN_P.

	gcc/testsuite/
	* g++.dg/lookup/extern-c-hidden.C: New.
	* g++.dg/lookup/extern-redecl1.C: New.

From-SVN: r248406
2017-05-24 11:28:54 +00:00
Tom de Vries
b7fc9ae0aa check_GNU_style.py: print usage if no file specified
2017-05-24  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py: New file, factored out of ...
	* check_GNU_style.py: ... here.  Call main unconditionally.

From-SVN: r248403
2017-05-24 08:49:56 +00:00
Eric Botcazou
258dfcb78d var-tracking.c (track_expr_p): Do not return 0 for tracked record parameters passed indirectly.
* var-tracking.c (track_expr_p): Do not return 0 for tracked record
	parameters passed indirectly.

From-SVN: r248402
2017-05-24 08:12:27 +00:00
Thomas Schwinge
78672bd8fd libgomp nvptx plugin: Debugging output when disabling nvptx offloading
libgomp/
	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
	when disabling nvptx offloading.

From-SVN: r248400
2017-05-24 08:59:05 +02:00
Jason Merrill
5726acd7d7 -Wunused and C++17 structured bindings
* decl.c (poplevel): Don't warn about unused structured bindings,
	only real variables.
	* error.c (dump_simple_decl): Handle structured bindings.
	* expr.c (mark_exp_read): Look through DECL_VALUE_EXPR.

From-SVN: r248399
2017-05-23 21:46:16 -04:00
GCC Administrator
c15394ee0d Daily bump.
From-SVN: r248398
2017-05-24 00:16:23 +00:00
Ian Lance Taylor
8be04b48a4 compiler: detect failure to set init priority for package
This would have caught the problem fixed by https://golang.org/cl/43610.
    
    Reviewed-on: https://go-review.googlesource.com/43999

From-SVN: r248394
2017-05-23 23:55:59 +00:00
Matthias Klose
4b3e231475 gcc_release (XZ): Default to xz --best.
2017-05-23  Matthias Klose  <doko@ubuntu.com>

        * gcc_release (XZ): Default to xz --best.

From-SVN: r248392
2017-05-23 23:14:10 +00:00
Nathan Sidwell
3a9cc6853a cp-tree.h (PUSH_GLOBAL, [...]): Delete.
* cp-tree.h (PUSH_GLOBAL, PUSH_LOCAL, PUSH_USING): Delete.
	* name-lookup.c (create_local_binding): New.
	(update_binding): New.
	(pushdecl_maybe_friend_1): Rename to ...
	(do_pushdecl): ... this.  Reimplement.
	(pushdecl): Adjust.
	(push_overloaded_decl_1, push_overloaded_decl): Delete.

From-SVN: r248387
2017-05-23 21:15:48 +00:00
Jason Merrill
f0c1ade45a PR c++/80396 - built-in for make_integer_sequence.
* pt.c (builtin_pack_fn_p, builtin_pack_call_p)
	(expand_integer_pack, expand_builtin_pack_call): New.
	(find_parameter_packs_r): Check builtin_pack_call_p.
	(check_for_bare_parameter_packs): Handle it.
	(tsubst_pack_expansion): Call expand_builtin_pack_call.
	(declare_integer_pack): New.
	(init_template_processing): Call it.
	* decl2.c (mark_used): Check builtin_pack_fn_p.

From-SVN: r248384
2017-05-23 16:14:01 -04:00
Uros Bizjak
f6744083c8 i386.md (*movdi_internal): Remove SSE4 alternative 18 (?r, *v).
* config/i386/i386.md (*movdi_internal): Remove SSE4
	alternative 18 (?r, *v).  Update insn attributes.
	(*movsi_internal): Remove SSE4 alternative 13 (?r, *v).
	Update insn attributes.
	(*zero_extendsidi2): Remove SSE4 alternative (?r, *x).
	Update insn attributes.
	* config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4
	alternative 1 (r, v). Remove isa attribute.
	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
	Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC
	and !TARGET_INTER_UNIT_MOVES_TO_VEC targets.

From-SVN: r248383
2017-05-23 21:47:40 +02:00
Nathan Sidwell
aa7bda5f27 name-lookup.c (find_namespace_binding): New.
* name-lookup.c (find_namespace_binding): New.
	(pushdecl_maybe_friend_1): Use CP_DECL_CONTEXT.
	(set_identifier_type_value_with_scope): Use
	find_namespace_binding.
	(find_binding, cp_binding_level_find_binding_for_name)
	binding_for_name, namespace_binding_1): Delete.
	(push_overloaded_decl_1): Use CP_DECL_CONTEXT.
	(get_namespace_binding, set_namespace_binding)
	finish_namespace_using_decl, unqualified_namespace_lookup_1,
	qualified_lookup_using_namespace, lookup_type_scope_1,
	lookup_name_innermost_nonclass_level_1): Use
	find_namespace_binding.
((--This line, and those below, will be ignored--

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

From-SVN: r248382
2017-05-23 19:37:03 +00:00
Nathan Sidwell
6131102ce3 re PR c++/80866 (segfault in is_overloaded_fn())
PR c++/80866
	* parser.c (cp_parser_template_id): Keep the lookup when stashing
	the template_id.

	PR c++/80866
	* g++.dg/parse/pr80866.C: New.

From-SVN: r248377
2017-05-23 17:04:56 +00:00
Tom de Vries
1b4b1fc7ca Document dg-line directive
2017-05-23  Tom de Vries  <tom@codesourcery.com>

	* doc/sourcebuild.texi (Directives, Verify compiler message): Document
	dg-line directive.

From-SVN: r248376
2017-05-23 16:38:31 +00:00
Jan Hubicka
d2db2e6b05 cgraphunit.c (symbol_table::process_new_functions): Update.
* cgraphunit.c (symbol_table::process_new_functions): Update.
	* ipa-fnsummary.c (pass_data_inline_parameters): Remove.
	(inline_generate_summary): Rename to ...
	(ipa_fn_summary_generate): ... this one.
	(inline_read_summary): Rename to ...
	(ipa_fn_summary_read): ... this one.
	(inline_write_summary): Rename to ...
	(ipa_fn_summary_write): ... this one.
	(inline_free_summary): Rename to ...
	(ipa_free_fn_summary): ... this one.
	(pass_data_local_fn_summary, pass_local_fn_summary,
	make_pass_local_fn_summary, pass_data_ipa_free_fn_summary,
	pass_ipa_free_fn_summary, make_pass_ipa_free_fn_summary,
	pass_data_ipa_fn_summary, pass_ipa_fn_summary,
	make_pass_ipa_fn_summary): New.
	* ipa-fnsummary.h (inline_generate_summary, inline_read_summary,
	inline_write_summary, inline_free_summary): Remove.
	(ipa_free_fn_summary) : New.
	* ipa-inline.c (ipa_inline): Update.
	(pass_ipa_inline): Do not generate summaries.
	* ipa.c (pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary):
	Remove.
	* passes.def: Replace pass_inline_parameters by pass_local_fn_summary
	and add pass_ipa_fn_summary.
	* tree-pass.h (make_pass_ipa_fn_summary, make_pass_local_fn_summary):
	New.
	(make_pass_inline_parameters): Remove.

	* lto.c (do_whole_program_analysis): Replace inline_free_summary
	by ipa_free_fn_summary.

	* gcc.dg/ipa/ctor-empty-1.c: Update template.
	* gcc.dg/ipa/inline-5.c: Likewise.
	* gfortran.dg/pr48636.f90: Likewise.

From-SVN: r248375
2017-05-23 16:20:53 +00:00
Xi Ruoyao
78aa76df40 PR libstdc++/67578 Implement non-trivial std::random_device::entropy
2017-05-23  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/67578
	* acinclude.m4: Bump libtool_VERSION.
	* config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Add test for <linux/random.h>.
	* doc/xml/manual/abi.xml: Document new library version.
	* include/bits/random.h (random_device::entropy)
	[_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member.
	(random_device::_M_getentropy): Declare.
	* src/c++11/random.cc (random_device::_M_getentropy): Define.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known
	versions, and make it the latest version.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r248374
2017-05-23 17:11:57 +01:00
Nathan Sidwell
e4ea7a4cfe cp-tree.h (DECL_HIDDEN_P): New.
gcc/cp/
	* cp-tree.h (DECL_HIDDEN_P): New.
	* name-lookup.c (set_decl_context)
	set_local_extern_decl_linkage):	New, broken out of ...
	(pushdecl_maybe_friend_1): ... here.  Call them.

	gcc/testsuite/
	* g++.dg/parse/ctor9.C: Adjust expected error.
(--This line, and those below, will be ignored--

M    cp/name-lookup.c
M    cp/ChangeLog
M    cp/cp-tree.h
M    testsuite/ChangeLog
M    testsuite/g++.dg/parse/ctor9.C

From-SVN: r248373
2017-05-23 16:03:34 +00:00
Thomas Schwinge
8a4674bb23 Remove unused "default_kind" member from gcc/omp-low.c's "struct omp_context"
gcc/
	* omp-low.c (struct omp_context): Remove "default_kind" member.
	Adjust all users.

From-SVN: r248372
2017-05-23 18:00:56 +02:00