Commit Graph

131369 Commits

Author SHA1 Message Date
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
Jan Hubicka
69dc8208ee ipa-devirt.c (odr_subtypes_equivalent_p): Disable temporary hack forgotten in previous commit.
* ipa-devirt.c (odr_subtypes_equivalent_p): Disable temporary hack
	forgotten in previous commit.

From-SVN: r212497
2014-07-13 17:30:56 +00:00
Ulrich Drepper
5c8efaf2fb random.tcc: Fix operator>> and operator<< for uniform_on_sphere_distribution.
* include/ext/random.tcc: Fix operator>> and operator<< for
	uniform_on_sphere_distribution.

From-SVN: r212496
2014-07-13 16:43:01 +00:00
Tom de Vries
9c2c4e622c Add xmm-register version of fuse-caller-save testcase
2014-07-13  Tom de Vries  <tom@codesourcery.com>

	* gcc.target/i386/fuse-caller-save-xmm-run.c: New test.
	* gcc.target/i386/fuse-caller-save-xmm.c: New test.

From-SVN: r212495
2014-07-13 14:32:01 +00:00
Edward Smith-Rowland
c6abdc366a PR C++/60209 - Declaration of user-defined literal operator cause error
cp/
	
2014-07-13  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR C++/60209 - Declaration of user-defined literal operator cause error
	* cp/parser.c (cp_parser_operator()): Fold treatment of strings
	and user-defined string literals.  Use the full string parser.
	(cp_parser_string_literal()): Add flag to not look for literal operator.


testsuite/
	
2014-07-13  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR C++/60209 - Declaration of user-defined literal operator cause error
	* g++.dg/cpp0x/pr60209-neg.C: New.
	* g++.dg/cpp0x/pr60209.C: New.
	* g++.dg/cpp1y/udlit-empty-string-neg.C: Adjust messages.

From-SVN: r212494
2014-07-13 13:36:57 +00:00
Paolo Carlini
ca631fc2a4 re PR c++/60967 (ICE with range for in template function with C++11 and cilkplus)
2014-07-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60967
	* g++.dg/cilk-plus/pr60967.C: New.

From-SVN: r212493
2014-07-13 13:24:18 +00:00
Ulrich Drepper
863a2c7ecc random: Add uniform_on_sphere_distribution definition.
2014-07-12  Ulrich Drepper  <drepper@gmail.com>

	* include/ext/random: Add uniform_on_sphere_distribution definition.
	* include/ext/random.tcc: Add out-of-band member function definitions
	for uniform_on_sphere_distribution.
	* testsuite/ext/random/uniform_on_sphere_distribution/
	cons/default.cc: New file.
	* testsuite/ext/random/uniform_on_sphere_distribution/
	operators/equal.cc: New file.
	* testsuite/ext/random/uniform_on_sphere_distribution/
	operators/inequal.cc: New file.
	* testsuite/ext/random/uniform_on_sphere_distribution/
	operators/serialize.cc: New file.

From-SVN: r212492
2014-07-13 11:07:44 +00:00
Tobias Burnus
4a05a9a8d2 coarray_atomic_4.f90: Avoid using a kind=16 integer.
2014-07-13  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_atomic_4.f90: Avoid using a kind=16
        integer.

From-SVN: r212491
2014-07-13 10:10:40 +02:00
Tobias Burnus
60ab4b449c pr34020.f90: Make compile with TS 18508/Fortran 2015
2014-07-13  Tobias Burnus  <burnus@net-b.de>

        * testsuite/libgomp.fortran/pr34020.f90: Make compile
        with TS 18508/Fortran 2015

From-SVN: r212490
2014-07-13 08:40:16 +02:00
GCC Administrator
b8bcddcdd9 Daily bump.
From-SVN: r212489
2014-07-13 00:16:50 +00:00
Paul Thomas
f8ec056116 re PR fortran/61780 (Wrong code when shifting elements of a multidimensional array)
2014-07-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61780
	* dependency.c (gfc_dep_resolver): Index the 'reverse' array so
	that elements are skipped. This then correctly aligns 'reverse'
	with the scalarizer loops.

2014-07-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61780
	* gfortran.dg/dependency_44.f90 : New test

From-SVN: r212486
2014-07-12 19:09:11 +00:00
Tobias Burnus
fae3018dcd re PR fortran/61628 ([MinGW)Write of medium sized or larger matrix fails without error message.)
2014-07-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/61628
        * trans-types.c (gfc_init_types): Fix data-type bug
        with gfc_max_array_element_size.

From-SVN: r212485
2014-07-12 21:05:52 +02:00
Tobias Burnus
42a8246dbd libgfortran.h (libcaf_atomic_codes): Add.
2014-07-12  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * libgfortran.h (libcaf_atomic_codes): Add.
        * trans-decl.c (gfor_fndecl_caf_atomic_def,
        gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
        gfor_fndecl_caf_atomic_op): New variables.
        (gfc_build_builtin_function_decls): Initialize them.
        * trans.h (gfor_fndecl_caf_atomic_def,
        gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas,
        gfor_fndecl_caf_atomic_op): New variables.
        * trans-intrinsic.c (conv_intrinsic_atomic_op,
        conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas):
        Add library calls with -fcoarray=lib.

libgfortran/
        * caf/libcaf.h (_gfortran_caf_atomic_define,
        _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
        _gfortran_caf_atomic_cas): New prototypes.
        * caf/single.c (_gfortran_caf_atomic_define,
        _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
        _gfortran_caf_atomic_cas): New functions.

From-SVN: r212484
2014-07-12 21:02:57 +02:00
Tobias Burnus
7f4aaf912b check.c (gfc_check_atomic): Update for STAT=.
gcc/fortran/
2014-07-12  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_atomic): Update for STAT=.
        (gfc_check_atomic_def, gfc_check_atomic_ref): Update call.
        (gfc_check_atomic_op, gfc_check_atomic_cas,
        gfc_check_atomic_fetch_op): New.
        * gfortran.h (gfc_isym_id): GFC_ISYM_ATOMIC_CAS,
        * GFC_ISYM_ATOMIC_ADD,
        GFC_ISYM_ATOMIC_AND, GFC_ISYM_ATOMIC_OR, GFC_ISYM_ATOMIC_XOR,
        GFC_ISYM_ATOMIC_FETCH_ADD, GFC_ISYM_ATOMIC_FETCH_AND,
        GFC_ISYM_ATOMIC_FETCH_OR and GFC_ISYM_ATOMIC_FETCH_XOR.
        * intrinsic.c (add_subroutines): Handle them.
        * intrinsic.texi: Add documentation for them.
        (ATOMIC_REF, ATOMIC_DEFINE): Add STAT=.
        (ISO_FORTRAN_ENV): Add STAT_FAILED_IMAGE.
        * intrinsic.h (gfc_check_atomic_op, gfc_check_atomic_cas,
        gfc_check_atomic_fetch_op): New
        prototypes.
        * libgfortran.h (libgfortran_stat_codes): Add
        * GFC_STAT_FAILED_IMAGE.
        * iso-fortran-env.def: Add it.
        * trans-intrinsic.c (conv_intrinsic_atomic_op): Renamed from
        conv_intrinsic_atomic_ref; handle more atomics.
        (conv_intrinsic_atomic_def): Handle STAT=.
        (conv_intrinsic_atomic_cas): New.
        (gfc_conv_intrinsic_subroutine): Handle new atomics.

gcc/testsuite/
2014-07-12  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_atomic_1.f90: Update dg-error.
        * gfortran.dg/coarray_atomic_2.f90: New.
        * gfortran.dg/coarray_atomic_3.f90: New.
        * gfortran.dg/coarray_atomic_4.f90: New.
        * gfortran.dg/coarray/atomic_2.f90: New.

From-SVN: r212483
2014-07-12 21:00:47 +02:00
Jason Merrill
0eb5f1586f re PR c++/22434 (ICE in simplify_{,gen_}subreg)
PR c++/22434
	PR c++/61288
	* call.c (build_conditional_expr_1): Avoid reading freed memory.

From-SVN: r212482
2014-07-12 12:36:25 -04:00