Commit Graph

131083 Commits

Author SHA1 Message Date
Arnaud Charlet
8942b30c7c [multiple changes]
2014-07-16  Vadim Godunko  <godunko@adacore.com>

	* a-coinho-shared.adb (Adjust): Create
	copy of internal shared object and element when source container
	is locked.
	(Copy): Likewise.
	(Query_Element): Likewise.
	(Update_Element): Likewise.
	(Constant_Reference): Likewise. Raise Constraint_Error on attempt
	to get reference for empty holder.
	(Reference): Likewise.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Find_Hook_Context): New subprogram, extracted
	from Process_Transient_Oject.
	* exp_ch4.ads: Ditto.
	* exp_ch9.adb (Build_Class_Wide_Master): Insert the _master
	declaration as an action on the topmost enclosing expression,
	not on a possibly conditional subexpreession.

From-SVN: r212645
2014-07-16 15:57:28 +02:00
Vadim Godunko
d6f824bf7f a-coinho.adb, [...]: Fix parameter mode of Update_Element.
2014-07-16  Vadim Godunko  <godunko@adacore.com>

	* a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads:
	Fix parameter mode of Update_Element.

From-SVN: r212644
2014-07-16 15:54:43 +02:00
Arnaud Charlet
ab47663882 [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* a-coinho.adb, a-coinho-shared.adb, a-coinho-shared.ads: Minor
	reformatting.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-cohase.ads: Type Iterator must be controlled, so that the
	tampering bit is properly set through an iteration.
	* a-cohase.adb: Add Finalize operation for type Iterator.

From-SVN: r212643
2014-07-16 15:53:37 +02:00
Ed Schonberg
3a859cff11 a-coinho-shared.adb, [...]: Proper structures for tampering checks.
2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-coinho-shared.adb, a-coinho-shared.ads: Proper structures for
	tampering checks.

From-SVN: r212642
2014-07-16 15:52:30 +02:00
Ed Schonberg
88c90b68a0 a-coinho-shared.adb: Fix spurious accessibility check.
2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-coinho-shared.adb: Fix spurious accessibility check.

From-SVN: r212641
2014-07-16 15:49:23 +02:00
Dodji Seketeli
f41373b65d PR preprocessor/60723 - missing system-ness marks for macro tokens
When a system macro is expanded in a non-system file during
out-of-line preprocessing, it can happen that the preprocessor forgets
to emit line markers to express the system-ness status of tokens that
come after the expansion of the macro.

That can lead to situations where the entire non-system file can be
considered as being a system file and thus have its warnings be
discarded during the compilation of the resulting preprocessed file.

My understanding is that this is due to the preprocessor not
systematically detecting (and reporting) the change in system-ness of
tokens.

And this is what this patch does.  Each time the system-ness of a
given token is different from the previous token that was emitted by
the preprocessor, it emits a line marker for the sole purpose of
marking the new system-ness of the subsequent tokens to come.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/ChangeLog:
	* c-ppoutput.c (struct print::prev_was_system_token): New data
	member.
	(init_pp_output): Initialize it.
	(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
	(do_line_change): Return a flag saying if a line marker was
	emitted or not.
	(scan_translation_unit): Detect if the system-ness of the token we
	are about to emit is different from the one of the previously
	emitted token.  If so, emit a line marker.  Avoid emitting useless
	adjacent line markers.  Avoid emitting line markers for tokens
	originating from the expansion of built-in macros.
	(scan_translation_unit_directives_only): Adjust.

gcc/testsuite/ChangeLog:
	* gcc.dg/cpp/syshdr{4,5}.{c,h}: New test files.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

From-SVN: r212638
2014-07-16 12:33:36 +02:00
Dodji Seketeli
c468587ac2 Support location tracking for built-in macro tokens
When a built-in macro is expanded, the location of the token in the
epansion list is the location of the expansion point of the built-in
macro.

This patch creates a virtual location for that token instead,
effectively tracking locations of tokens resulting from built-in macro
tokens.

libcpp/
	* include/line-map.h (line_maps::builtin_location): New data
	member.
	(line_map_init): Add a new parameter to initialize the new
	line_maps::builtin_location data member.
	* line-map.c (linemap_init): Initialize the
	line_maps::builtin_location data member.
	* macro.c (builtin_macro): Create a macro map and track the token
	resulting from the expansion of a built-in macro.
gcc/
	* input.h (is_location_from_builtin_token): New function
	declaration.
	* input.c (is_location_from_builtin_token): New function
	definition.
	* toplev.c (general_init): Tell libcpp what the pre-defined
	spelling location for built-in tokens is.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

From-SVN: r212637
2014-07-16 12:33:27 +02:00
Paolo Carlini
185b22783a 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
* Minor ChangeLog adjustments.

From-SVN: r212584
2014-07-16 09:03:31 +00:00
Jakub Jelinek
f5989b06ef omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS on the FUNCTION_DECL.
* omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
	on the FUNCTION_DECL.

From-SVN: r212582
2014-07-16 10:31:22 +02:00
Richard Biener
3defdb1499 re PR web/61782 (always_inline incorrectly documented)
2014-07-16  Richard Biener  <rguenther@suse.de>

	PR other/61782
	* doc/extend.texi (always_inline): Clarify.

From-SVN: r212581
2014-07-16 07:53:59 +00:00
GCC Administrator
408210e9e5 Daily bump.
From-SVN: r212579
2014-07-16 00:16:50 +00:00
Jason Merrill
1b60eaedde re PR c++/61811 (Firefox LTO build error due to undefined symbols)
PR c++/61811
	* decl2.c (maybe_emit_vtables): Return true for -fuse-all-virtuals.

From-SVN: r212576
2014-07-15 17:38:48 -04:00
Eric Christopher
a6d0b75042 invoke.texi (Link Options): Document -z option.
2014-07-15  Eric Christopher  <echristo@gmail.com>

        * doc/invoke.texi (Link Options): Document -z option.

From-SVN: r212575
2014-07-15 21:32:05 +00:00
Jason Merrill
0090cacae6 re PR c++/60848 (Crash while experimenting with c++-0x initializer lists)
PR c++/60848
	PR c++/61723
	* call.c (is_std_init_list): Don't check CLASSTYPE_TEMPLATE_INFO.
	* class.c (finish_struct): Reject invalid definition of
	std::initializer_list.

From-SVN: r212574
2014-07-15 15:16:29 -04:00
Uros Bizjak
e27989c4f4 * gfortran.dg/ieee/ieee_1.F90: Revert rename.
From-SVN: r212573
2014-07-15 20:46:50 +02:00
Uros Bizjak
befdff2609 rounding_1.f90: Rename from ieee_rounding_1.f90.
* gfortran.dg/ieee/rounding_1.f90: Rename from ieee_rounding_1.f90.
	* gfortran.dg/ieee/ieee_1.f90: Rename from ieee_1.F90.
	(dg-additional-options): Add -mieee-with-inexact for alpha*-*-*.

From-SVN: r212570
2014-07-15 18:12:38 +02:00
Uros Bizjak
286934b46d alpha.c (alpha_atomic_assign_expand_fenv): New.
* config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): New.
	(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.

testsuite/ChangeLog:

	* lib/target-supports.exp (check_effective_target_fenv_exceptions):
	Add IEEE options to compile flags.
	* gcc.dg/atomic/c11-atomic-exec-5.c: Ditto.  Add -mieee-with-inexact
	additional option and lower ITER_COUNT to 100 for alpha*-*-* targets.

From-SVN: r212568
2014-07-15 18:03:07 +02:00
Jan Hubicka
6259a78ac3 * fold-const.c (fold_checksum_tree): Fix typo in previous patch.
From-SVN: r212566
2014-07-15 15:49:11 +00:00
Bernd Schmidt
c99c885ee1 Change an assignment to an assert.
* asan.c (asan_finish_file): Use varpool_finalize_decl instead of
	varpool_assemble_decl.
	* varpool.c (varpool_assemble_decl): Assert that node->definition is
	true.

From-SVN: r212564
2014-07-15 14:30:44 +00:00
Michael Matz
441f96ff9e re PR rtl-optimization/61772 (RTL if-conversion removes asm volatile goto)
PR rtl-optimization/61772
        * ifcvt.c (dead_or_predicable): Check jump to be free of side
        effects.

testsuite/
        * gcc.dg/torture/pr61772.c: New test.

From-SVN: r212563
2014-07-15 14:11:06 +00:00
Paolo Carlini
603a0084b1 call.c (convert_like_real): Call print_z_candidate and inform only if permerror returns true.
2014-07-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (convert_like_real): Call print_z_candidate and inform only
	if permerror returns true.

From-SVN: r212560
2014-07-15 13:41:58 +00:00
Richard Biener
78d22941b3 opts.c (default_options_table): Disable bit-ccp at -Og.
2014-07-15  Richard Biener  <rguenther@suse.de>

	* opts.c (default_options_table): Disable bit-ccp at -Og.

From-SVN: r212559
2014-07-15 13:13:39 +00:00
Jonathan Wakely
6f440cceb4 printers.py (SingleObjContainerPrinter): New base class for experimental::any and experimental::optional printers.
* python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
	base class for experimental::any and experimental::optional printers.
	(StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
	New printers for Fundamentals TS types.
	* testsuite/libstdc++-prettyprinters/libfundts.cc: New.

From-SVN: r212556
2014-07-15 13:00:18 +01:00
Jonathan Wakely
077aa95ec7 printers.py (TemplateTypePrinter): Add type printer for class templates.
* python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
	printer for class templates.
	(register_type_printers): Use TemplateTypePrinter for containers
	and other class templates with default template arguments.
	* testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.

From-SVN: r212555
2014-07-15 13:00:12 +01:00
Marek Polacek
4d661eaacb c-ubsan.c (ubsan_instrument_bounds): Don't instrument if TYPE_MAX_VALUE is NULL.
* c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
	TYPE_MAX_VALUE is NULL.

	* gcc.dg/ubsan/bounds-1.c: New test.

From-SVN: r212552
2014-07-15 11:06:07 +00:00
Jan Hubicka
6ae5064251 fold-const.c (fold_checksum_tree): Move checking of DECL_RESULT.
* fold-const.c (fold_checksum_tree): Move checking of
	DECL_RESULT.

From-SVN: r212550
2014-07-15 10:51:45 +00:00
Jan Hubicka
ad115a3c32 tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL, NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL...
* tree.c (tree_code_size): Add TRANSLATION_UNIT_DECL,
	NAMESPACE_DECL, IMPORTED_DECL and NAMELIST_DECL;
	call langhook for unknown declaration.
	(find_decls_types_r): Do not walk DECL_ARGUMENT_FLD.
	* tree.h (DECL_ARGUMENTS): Update.
	* print-tree.c (print_node): Update.
	* tree-core.h (tree_decl_non_common): Remove arguments.
	(tree_function_decl): Add arguments.

	* class.c (build_clone): Do not clear assembler names of
	templates.
	* decl.c (cp_tree_node_structure): Add TEMPLATE_DECL.
	* cp-objcp-common.c (cp_tree_size): Add TEMPLATE_DECL
	as a special case return sizeof (struct tree_decl_non_common)
	for other decls.
	(cp_common_init_ts): Do not initialize NAMESPACE_DECL;
	initialize TEMPLATE_DECL as MARK_TS_DECL_COMMON.
	* cp/cp-tree.h (tree_template_decl): New structure.
	(cp_tree_node_structure_enum): Add TS_CP_TEMPLATE_DECL.
	(union cp_lang_tree_node): Add template_decl.
	(DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT): Update.

	* lto/lto.c (mentions_vars_p_decl_non_common): Skip
	DECL_ARGUMENT_FLD.
	mentions_vars_p_function): Do DECL_ARGUMENTS.
	(lto_fixup_prevailing_decls): Update.

	* objc-act.c (objc_common_tree_size): New function.
	* objc-act.h (KEYWORD_KEY_NAME, KEYWORD_ARG_NAME): Add type
	checking.
	(INSTANCE_METHOD_OR_CLASS_METHOD_DECL_CHECK): New macro.
	(METHOD_SEL_NAME, METHOD_SEL_ARGS, METHOD_ADD_ARGS,
 	METHOD_ADD_ARGS_ELLIPSIS_P, METHOD_DEFINITION, METHOD_ENCODING,
	METHOD_TYPE_ATTRIBUTES, METHOD_PROPERTY_CONTEXT): Add type checking.
	(METHOD_SEL_ARGS): Use decl_common.size instead of
	decl_non_common.result.
	(PROPERTY_NAME, PROPERTY_GETTER_NAME, PROPERTY_SETTER_NAME,
	PROPERTY_READONLY, PROPERTY_NONATOMIC, PROPERTY_ASSIGN_SEMANTICS,
	PROPERTY_IVAR_NAME, PROPERTY_DYNAMIC, PROPERTY_HAS_NO_GETTER,
	PROPERTY_HAS_NO_SETTER, PROPERTY_OPTIONAL): Add type checking.
	(objc_common_tree_size): Declare.
	* objc/objc-lang.c (LANG_HOOKS_TREE_SIZE): New macro.

From-SVN: r212549
2014-07-15 10:17:32 +00:00
Tobias Burnus
80def90870 symbol.c (check_conflict): Add codimension conflict with pointer; fix cray-pointee check.
2014-06-15  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * symbol.c (check_conflict): Add codimension conflict with
        pointer; fix cray-pointee check.

gcc/testsuite/
        * gfortran.dg/coarray_34.f90: New.
        * gfortran.dg/coarray_6.f90: Update test case.

From-SVN: r212540
2014-07-15 07:36:35 +02:00
Tim Shen
4228f9328c re PR libstdc++/61720 (std::regex_search matches incorrectly)
PR libstdc++/61720
	* include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
	Clear match queue for next use.
	* testsuite/28_regex/algorithms/regex_search/61720.cc: New file.

From-SVN: r212539
2014-07-15 04:28:51 +00:00
GCC Administrator
29ba39116e Daily bump.
From-SVN: r212537
2014-07-15 00:16:49 +00:00
Tobias Burnus
d4b29c1370 trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling for kind mismatch with -fcoarray=lib.
2014-06-14  Tobias Burnus  <burnus@net-b.de>

        * trans-intrinsic.c (conv_intrinsic_atomic_ref): Fix handling
        for kind mismatch with -fcoarray=lib.

From-SVN: r212525
2014-07-14 22:40:12 +02:00
Jason Merrill
d110c52ee3 re PR c++/61445 ([C++11] ice in instantiate_decl at cp/pt.c:19770)
PR c++/61445
	PR c++/56947
	* pt.c (instantiate_decl): Don't check defer_ok for local class
	members.

From-SVN: r212524
2014-07-14 16:39:35 -04:00
Richard Earnshaw
d8e11262f0 * aarch64.md (add_losym_<mode>): Set type to alu_imm.
From-SVN: r212522
2014-07-14 14:31:10 +00:00
Richard Biener
236aff7251 re PR c/61779 (gcc -Og fails with impossible constraint on legal C code)
2014-07-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61779
	* tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
	simplifying a condition.

	* gcc.dg/tree-ssa/ssa-copyprop-2.c: New testcase.

From-SVN: r212521
2014-07-14 13:52:38 +00:00
Richard Biener
72602c6cb4 libgcov.h (struct gcov_fn_info): Make ctrs size 1.
2014-07-14  Richard Biener  <rguenther@suse.de>

	* libgcov.h (struct gcov_fn_info): Make ctrs size 1.

From-SVN: r212520
2014-07-14 13:22:02 +00:00
Ulrich Drepper
b40d9361f9 random.tcc: Unfortunately more fixes for operator>> and operator<< for...
* include/ext/random.tcc: Unfortunately more fixes for
	operator>> and operator<< for uniform_on_sphere_distribution.

From-SVN: r212517
2014-07-14 12:09:30 +00:00
Richard Biener
888a1049c2 re PR lto/61786 (wrong code by LTO on x86_64-linux-gnu)
2014-07-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61786
	* gcc.dg/torture/pr61786.c: New testcase.
	* gcc.dg/lto/pr61786_0.c: Likewise.
	* gcc.dg/lto/pr61786_1.c: Likewise.

From-SVN: r212515
2014-07-14 11:22:34 +00:00
Richard Biener
3b57ff81e6 builtins.c (c_strlen): Make only_value == 2 really only affect warning generation.
2014-07-14  Richard Biener  <rguenther@suse.de>

	* builtins.c (c_strlen): Make only_value == 2 really only
	affect warning generation.

From-SVN: r212514
2014-07-14 11:12:29 +00:00
Richard Biener
406bfdd39f re PR tree-optimization/61757 (genmodes failure with enable-checking)
2014-07-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61757
	PR tree-optimization/61783
	PR tree-optimization/61787
	* tree-ssa-dom.c (record_equality): Revert canonicalization
	change and add comment.
	(propagate_rhs_into_lhs): Revert previous fix, removing
	loop depth restriction again.

	* gcc.dg/torture/pr61757.c: New testcase.
	* gcc.dg/torture/pr61787.c: Likewise.

From-SVN: r212513
2014-07-14 10:50:46 +00:00
Kyrylo Tkachov
04ae06daaa [ARM] Handle clz, rbit types in arm pipeline descriptions.
* config/arm/cortex-a15.md (cortex_a15_alu): Handle clz, rbit.
	* config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
	* config/arm/cortex-a53.md (cortex_a53_alu): Likewise.
	* config/arm/cortex-a7.md (cortex_a7_alu_reg): Likewise.
	* config/arm/cortex-a9.md (cortex_a9_dp): Likewise.
	* config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
	* config/arm/cortex-r4.md (cortex_r4_alu): Likewise.

From-SVN: r212512
2014-07-14 10:19:52 +00:00
Richard Biener
0241e486d5 cgraph.h (decl_in_symtab_p): Make inline.
2014-07-14  Richard Biener  <rguenther@suse.de>

	* cgraph.h (decl_in_symtab_p): Make inline.

From-SVN: r212511
2014-07-14 10:02:48 +00:00
Jakub Jelinek
b108f48f27 re PR middle-end/61294 (erroneous memset used with constant zero length parameter warning)
PR middle-end/61294
gcc/c-family/
	* c.opt (Wmemset-transposed-args): New warning.
gcc/c/
	* c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
	If non-NULL, call c_parser_check_literal_zero.
	(c_parser_check_literal_zero): New function.
	(c_parser_postfix_expression_after_primary): Adjust
	c_parser_expr_list caller, handle -Wmemset-transposed-args.
gcc/cp/
	* cp-tree.h (LITERAL_ZERO_P): Define.
	* parser.c (cp_parser_parenthesized_expression_list): Add
	want_literal_zero_p argument, if true, for literal zeros
	insert INTEGER_CSTs with LITERAL_ZERO_P flag set.
	(cp_parser_postfix_expression): Adjust
	cp_parser_parenthesized_expression_list caller, handle
	-Wmemset-transposed-args.
	(literal_zeros): New variable.
gcc/
	* doc/invoke.texi (-Wmemset-transposed-args): Document.
gcc/testsuite/
	* c-c++-common/Wmemset-transposed-args1.c: New test.
	* c-c++-common/Wmemset-transposed-args2.c: New test.
	* g++.dg/warn/Wmemset-transposed-args-1.C: New test.

From-SVN: r212510
2014-07-14 09:36:39 +02:00
Jakub Jelinek
03e0ad94a2 re PR target/61656 (Undefined behavior in classify_argument)
PR target/61656
	* config/i386/i386.c (classify_argument): Don't merge classes above
	number of words.

From-SVN: r212509
2014-07-14 09:31:57 +02:00
Jason Merrill
e89ff446df re PR c++/58511 ([c++11] ICE using static const member variable in constexpr)
PR c++/58511
	* semantics.c (is_instantiation_of_constexpr): Return true for
	defaulted functions, too.
	(explain_invalid_constexpr_fn): Only use
	explain_implicit_non_constexpr if !DECL_DECLARED_CONSTEXPR_P.
	* method.c (explain_implicit_non_constexpr): Pass
	DECL_INHERITED_CTOR_BASE to explain_implicit_non_constexpr.

From-SVN: r212507
2014-07-14 01:25:37 -04:00
Jason Merrill
1ea3b9879b re PR c++/58611 ([c++11] ICE with invalid constexpr constructor used in array initialization)
PR c++/58611
	* decl.c (check_initializer): Don't finish_compound_literal
	on erroneous constexpr init.

From-SVN: r212506
2014-07-14 01:25:31 -04:00
Jason Merrill
22c6ea0042 re PR c++/58612 ([c++11] ICE calling non-constexpr from constexpr in template class)
PR c++/58612
	* tree.c (bot_replace): Only replace a dummy 'this' parm.

From-SVN: r212505
2014-07-14 01:25:25 -04:00
Jason Merrill
7ce5ae457b re PR c++/60628 ([c++11] ICE initializing array of auto)
PR c++/60628
	* decl.c (create_array_type_for_decl): Only check for auto once.

From-SVN: r212504
2014-07-14 01:25:19 -04:00
Jason Merrill
5806f7716c re PR c++/58636 (ICE with initializer_list and rvalue references)
PR c++/58636
	* call.c (build_list_conv): Don't try to build a list of references.

From-SVN: r212503
2014-07-14 01:25:13 -04:00
GCC Administrator
2010baedf9 Daily bump.
From-SVN: r212502
2014-07-14 00:16:53 +00:00
Jan Hubicka
8933061886 cgraph.h (symtab_node): Add nonzero_address.
* cgraph.h (symtab_node): Add nonzero_address.
	(decl_in_symtab_p): Break out from ...
	(symtab_get_node): ... here.
	* fold-const.c: Include cgraph.h
	(tree_single_nonzero_warnv_p): Use symtab to determine
	if symbol is non-zero.
	* symtab.c (symtab_node::nonzero_address): New method.

	* gcc.dg/pr36901.h: Simplify because non-zero symbol folding no
	longer happens during parsing.
	* gcc.dg/pr44024.c: Update template.
	* g++.dg/tree-ssa/nonzero-2.C: New testcase.
	* g++.dg/tree-ssa/nonzero-1.C: New testcase.
	* gcc.dg/tree-ssa/nonzero-1.c: New testcase.

From-SVN: r212499
2014-07-13 22:12:54 +00:00