platform/upstream/gcc.git
10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Wed, 29 Jan 2014 14:45:44 +0000 (14:45 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

2014-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_pointerplus): Rename to
associate_pointerplus_align.
(associate_pointerplus_diff): New function.
(associate_pointerplus): Likewise.  Call associate_pointerplus_align
and associate_pointerplus_diff.

* gcc.dg/pr58742-1.c: New testcase.
* gcc.dg/pr58742-2.c: Likewise.
* gcc.dg/pr58742-3.c: Likewise.

From-SVN: r207239

10 years agolto-streamer.h (LTO_major_version): Bump to 3.
Richard Biener [Wed, 29 Jan 2014 14:19:23 +0000 (14:19 +0000)]
lto-streamer.h (LTO_major_version): Bump to 3.

2014-01-29  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (LTO_major_version): Bump to 3.
(LTO_minor_version): Reset to 0.

From-SVN: r207238

10 years ago[ARM] Add -march=armv7ve
Renlin Li [Wed, 29 Jan 2014 13:46:39 +0000 (13:46 +0000)]
[ARM] Add -march=armv7ve

gcc/
2014-01-29  Renlin Li  <Renlin.Li@arm.com>

* config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
* config/arm/arm.c (FL_FOR_ARCH7VE): New.
(arm_file_start): Generate correct asm header for armv7ve.
* config/arm/bpabi.h: Add multilib support for armv7ve.
* config/arm/driver-arm.c: Change the architectures of cortex-a7
and cortex-a15 to armv7ve.
* config/arm/t-aprofile: Add multilib support for armv7ve.
* doc/invoke.texi: Document -march=armv7ve.

gcc/testsuite/
2014-01-29  Renlin Li  <Renlin.Li@arm.com>

* gcc.target/arm/ftest-armv7ve-arm.c: New.
* gcc.target/arm/ftest-armv7ve-thumb.c: New.
* lib/target-supports.exp: New armfunc, armflag and armdef for armv7ve.

From-SVN: r207237

10 years agore PR c++/59315 (g++.dg/warn/Wunused-3.C FAILs with -fno-use-cxa-atexit)
Jason Merrill [Wed, 29 Jan 2014 13:40:49 +0000 (08:40 -0500)]
re PR c++/59315 (g++.dg/warn/Wunused-3.C FAILs with -fno-use-cxa-atexit)

PR c++/59315
* decl.c (cxx_maybe_build_cleanup): Call mark_used.

From-SVN: r207236

10 years agore PR c++/58702 (ICE with undeclared variable in OpenMP reduction clause)
Paolo Carlini [Wed, 29 Jan 2014 13:36:22 +0000 (13:36 +0000)]
re PR c++/58702 (ICE with undeclared variable in OpenMP reduction clause)

/cp
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58702
* semantics.c (finish_omp_reduction_clause): Check type for
error_mark_node.

/testsuite
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58702
* g++.dg/gomp/pr58702.C: New.

From-SVN: r207235

10 years agoFix test c-c++-common/cpp/warning-zero-location-2.c
Dodji Seketeli [Wed, 29 Jan 2014 11:27:32 +0000 (11:27 +0000)]
Fix test c-c++-common/cpp/warning-zero-location-2.c

gcc/testsuite/ChangeLog:

* c-c++-common/cpp/warning-zero-location-2.c: Fix error message
specifier.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
From-SVN: r207234

10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Wed, 29 Jan 2014 11:08:59 +0000 (11:08 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

2014-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_plusminus): Return true
if we changed sth, defer EH cleanup to ...
(ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
(simplify_mult): New function.

From-SVN: r207232

10 years agore PR middle-end/59917 (ICE in calc_dfs_tree, at dominance.c:401)
Jakub Jelinek [Wed, 29 Jan 2014 11:02:46 +0000 (12:02 +0100)]
re PR middle-end/59917 (ICE in calc_dfs_tree, at dominance.c:401)

PR middle-end/59917
PR tree-optimization/59920
* tree.c (build_common_builtin_nodes): Remove
__builtin_setjmp_dispatcher initialization.
* omp-low.h (make_gimple_omp_edges): Add a new int * argument.
* profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
instead of gsi_after_labels + manually skipping debug stmts.
Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
ignore bbs with IFN_ABNORMAL_DISPATCHER.
* tree-inline.c (copy_edges_for_bb): Remove
can_make_abnormal_goto argument, instead add abnormal_goto_dest
argument.  Ignore computed_goto_p stmts.  Don't call
make_abnormal_goto_edges.  If a call might need abnormal edges
for non-local gotos, see if it already has an edge to
IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
with true argument, don't do anything then, otherwise add
EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
(copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
caller.
* gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
(lower_function_body): Don't emit __builtin_setjmp_dispatcher.
(lower_stmt): Don't set data->calls_builtin_setjmp.
(lower_builtin_setjmp): Adjust comment.
* builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
* tree-cfg.c (found_computed_goto): Remove.
(factor_computed_gotos): Remove.
(make_goto_expr_edges): Return bool, true for computed gotos.
Don't call make_abnormal_goto_edges.
(build_gimple_cfg): Don't set found_computed_goto, don't call
factor_computed_gotos.
(computed_goto_p): No longer static.
(make_blocks): Don't set found_computed_goto.
(get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
(make_edges): If make_goto_expr_edges returns true, push bb
into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
instead of calling make_abnormal_goto_edges push bb into ab_edge_call
vector.  Record mapping between bbs and OpenMP regions if there
are any, adjust make_gimple_omp_edges caller.  Call
handle_abnormal_edges.
(make_abnormal_goto_edges): Remove.
* tree-cfg.h (make_abnormal_goto_edges): Remove.
(computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
* internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
* builtins.c (expand_builtin): Don't handle
BUILT_IN_SETJMP_DISPATCHER.
* internal-fn.def (ABNORMAL_DISPATCHER): New.
* omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
filling *region also set *region_idx to (*region)->entry->index.

* gcc.dg/pr59920-1.c: New test.
* gcc.dg/pr59920-2.c: New test.
* gcc.dg/pr59920-3.c: New test.
* c-c++-common/gomp/pr59917-1.c: New test.
* c-c++-common/gomp/pr59917-2.c: New test.

From-SVN: r207231

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Jakub Jelinek [Wed, 29 Jan 2014 10:35:15 +0000 (11:35 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)

PR other/58712
* read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
For REGs set ORIGINAL_REGNO.

From-SVN: r207230

10 years agomd.texi: Mention that a target shouldn't implement vec_widen_(s|u)mul_even/odd pair...
Bingfeng Mei [Wed, 29 Jan 2014 10:10:20 +0000 (10:10 +0000)]
md.texi: Mention that a target shouldn't implement vec_widen_(s|u)mul_even/odd pair if...

2014-01-29  Bingfeng Mei  <bmei@broadcom.com>

* doc/md.texi: Mention that a target shouldn't implement
vec_widen_(s|u)mul_even/odd pair if it is less efficient
than hi/lo pair.

From-SVN: r207228

10 years agore PR tree-optimization/59594 (wrong code (by tree vectorizer) at -O3 on x86_64-linux...
Jakub Jelinek [Wed, 29 Jan 2014 09:27:43 +0000 (10:27 +0100)]
re PR tree-optimization/59594 (wrong code (by tree vectorizer) at -O3 on x86_64-linux-gnu)

PR tree-optimization/59594
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
a copy of the datarefs vector rather than the vector itself.

* gcc.dg/vect/no-vfa-vect-depend-2.c: New test.
* gcc.dg/vect/no-vfa-vect-depend-3.c: New test.
* gcc.dg/vect/pr59594.c: New test.

From-SVN: r207225

10 years agore PR c++/59791 (ICE: Error reporting routines re-entered. with -fcompare-debug)
Jason Merrill [Wed, 29 Jan 2014 04:10:58 +0000 (23:10 -0500)]
re PR c++/59791 (ICE: Error reporting routines re-entered. with -fcompare-debug)

PR c++/59791
* pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
(tsubst_copy): Use it if lookup fails.

From-SVN: r207224

10 years agoDaily bump.
GCC Administrator [Wed, 29 Jan 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207223

10 years agore PR c++/59818 (Bogus error: call of overloaded .... is ambiguous)
Jason Merrill [Tue, 28 Jan 2014 22:00:05 +0000 (17:00 -0500)]
re PR c++/59818 (Bogus error: call of overloaded .... is ambiguous)

PR c++/59818
* pt.c (tsubst_function_type): Make sure we keep the same function
quals.

From-SVN: r207215

10 years agocompiler: Put nointerface methods in unique sections.
Ian Lance Taylor [Tue, 28 Jan 2014 21:44:53 +0000 (21:44 +0000)]
compiler: Put nointerface methods in unique sections.

From-SVN: r207214

10 years agore PR c++/58701 ([c++11] ICE initializing member of static union)
Jason Merrill [Tue, 28 Jan 2014 21:04:44 +0000 (16:04 -0500)]
re PR c++/58701 ([c++11] ICE initializing member of static union)

PR c++/58701
* semantics.c (build_anon_member_initialization): Stop walking
when we run out of COMPONENT_REFs.

From-SVN: r207209

10 years agore PR c++/58632 (ICE reusing template parameter name as class name)
Jason Merrill [Tue, 28 Jan 2014 21:04:29 +0000 (16:04 -0500)]
re PR c++/58632 (ICE reusing template parameter name as class name)

PR c++/58632
* decl.c (lookup_and_check_tag): Ignore template parameters if
scope == ts_current.
* pt.c (check_template_shadow): Don't complain about the injected
class name.

From-SVN: r207208

10 years agoaccidental addition
Paul Thomas [Tue, 28 Jan 2014 20:12:40 +0000 (20:12 +0000)]
accidental addition

From-SVN: r207205

10 years agore PR fortran/59414 ([OOP] ICE in in gfc_conv_expr_descriptor on ALLOCATE inside...
Paul Thomas [Tue, 28 Jan 2014 20:10:22 +0000 (20:10 +0000)]
re PR fortran/59414 ([OOP] ICE in in gfc_conv_expr_descriptor on ALLOCATE inside SELECT TYPE)

2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/59414
* trans-stmt.c (gfc_trans_allocate): Before the pointer
assignment to transfer the source _vptr to a class allocate
expression, the final class reference should be exposed. The
tail that includes the _data and array references is stored.
This reduced expression is transferred to 'lhs' and the _vptr
added. Then the tail is restored to the allocate expression.

2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/59414
* gfortran.dg/allocate_class_3.f90 : New test

From-SVN: r207204

10 years agoAvoid "'dc' may be uninitialized" warning.
Thomas Schwinge [Tue, 28 Jan 2014 19:06:44 +0000 (20:06 +0100)]
Avoid "'dc' may be uninitialized" warning.

libiberty/
* cp-demangle.c (d_demangle_callback): Put an abort call in place,
to help the compiler.

From-SVN: r207200

10 years ago* gcc.target/arm/thumb-cbranchqi.c: Accept bls also.
Kazu Hirata [Tue, 28 Jan 2014 17:35:37 +0000 (17:35 +0000)]
* gcc.target/arm/thumb-cbranchqi.c: Accept bls also.

From-SVN: r207199

10 years ago* decl.c (duplicate_decls): Tweak.
Jason Merrill [Tue, 28 Jan 2014 17:06:47 +0000 (12:06 -0500)]
* decl.c (duplicate_decls): Tweak.

From-SVN: r207198

10 years agore PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with...
Jason Merrill [Tue, 28 Jan 2014 17:06:40 +0000 (12:06 -0500)]
re PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and operator auto ())

PR c++/53756
gcc/
* dwarf2out.c (auto_die): New static.
(gen_type_die_with_usage): Handle C++1y 'auto'.
(gen_subprogram_die): If in-class DIE had 'auto', emit type again
on definition.
gcc/cp/
* mangle.c (write_unqualified_name): Handle operator auto.

From-SVN: r207197

10 years agoAdd -m16 support for x86
H.J. Lu [Tue, 28 Jan 2014 16:22:45 +0000 (16:22 +0000)]
Add -m16 support for x86

The .code16gcc directive was added to binutils back in 1999:

---
   '.code16gcc' provides experimental support for generating 16-bit code
from gcc, and differs from '.code16' in that 'call', 'ret', 'enter',
'leave', 'push', 'pop', 'pusha', 'popa', 'pushf', and 'popf'
instructions default to 32-bit size.  This is so that the stack pointer
is manipulated in the same way over function calls, allowing access to
function parameters at the same stack offsets as in 32-bit mode.
'.code16gcc' also automatically adds address size prefixes where
necessary to use the 32-bit addressing modes that gcc generates.
---

It encodes 32-bit assembly instructions generated by GCC in 16-bit format
so that GCC can be used to generate 16-bit instructions.  To do that, the
.code16gcc directive must be placed at the very beginning of the assembly
code.  This patch adds -m16 to x86 backend by:

1. Add -m16 and make it mutually exclusive with -m32, -m64 and -mx32.
2. Treat -m16 like -m32 so that --32 is passed to assembler.
3. Output .code16gcc at the very beginning of the assembly code.
4. Turn off 64-bit ISA when -m16 is used.

PR target/59672
* config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
(SPEC_X32): Likewise.
(SPEC_64): Likewise.
* config/i386/i386.c (ix86_option_override_internal): Turn off
OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
for TARGET_16BIT.
(x86_file_start): Output .code16gcc for TARGET_16BIT.
* config/i386/i386.h (TARGET_16BIT): New macro.
(TARGET_16BIT_P): Likewise.
* config/i386/i386.opt: Add m16.
* doc/invoke.texi: Document -m16.

From-SVN: r207196

10 years agoPR preprocessor/59935 - caret diagnostics crashes on non-file locations
Dodji Seketeli [Tue, 28 Jan 2014 15:03:19 +0000 (16:03 +0100)]
PR preprocessor/59935 - caret diagnostics crashes on non-file locations

gcc/ChangeLog

* input.c (location_get_source_line): Bail out on when line number
is zero, and test the return value of
lookup_or_add_file_to_cache_tab.

gcc/testsuite/ChangeLog

* c-c++-common/cpp/warning-zero-location.c: New test.
* c-c++-common/cpp/warning-zero-location-2.c: Likewise.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
From-SVN: r207195

10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Tue, 28 Jan 2014 14:53:52 +0000 (14:53 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

2014-01-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_plusminus): Handle
pointer subtraction of the form (T)(P + A) - (T)P.

From-SVN: r207194

10 years agoarm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost.
Kyrylo Tkachov [Tue, 28 Jan 2014 14:17:09 +0000 (14:17 +0000)]
arm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost.

* config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
at const_int_cost.

From-SVN: r207193

10 years agorevert: re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very...
Richard Biener [Tue, 28 Jan 2014 13:13:54 +0000 (13:13 +0000)]
revert: re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long time)

2014-01-28  Richard Biener  <rguenther@suse.de>

Revert
2014-01-28  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/45364
PR rtl-optimization/59890
* var-tracking.c (local_get_addr_clear_given_value): Handle
already cleared slot.
(val_reset): Handle not allocated local_get_addr_cache.
(vt_find_locations): Use post-order on the inverted CFG.

From-SVN: r207182

10 years agotree-data-ref.h (ddr_is_anti_dependent, [...]): Remove.
Richard Biener [Tue, 28 Jan 2014 12:49:08 +0000 (12:49 +0000)]
tree-data-ref.h (ddr_is_anti_dependent, [...]): Remove.

2014-01-28  Richard Biener  <rguenther@suse.de>

* tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps):
Remove.

From-SVN: r207181

10 years agore PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-excep...
Jonathan Wakely [Tue, 28 Jan 2014 10:23:27 +0000 (10:23 +0000)]
re PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-exceptions flag)

2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
    Kyle Lippincott  <spectral@google.com>

PR libstdc++/59656
* include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
constructor and grant friendship to weak_ptr.
(weak_ptr::lock()): Use new constructor.
* include/bits/shared_ptr_base.h
(_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
and define specializations.
(__shared_count): Add new non-throwing constructor.
(__shared_ptr): Add new non-throwing constructor and grant friendship
to __weak_ptr.
(__weak_ptr::lock()): Use new constructor.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

Co-Authored-By: Kyle Lippincott <spectral@google.com>
From-SVN: r207180

10 years agore PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long...
Richard Biener [Tue, 28 Jan 2014 09:02:59 +0000 (09:02 +0000)]
re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long time)

2014-01-28  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/45364
PR rtl-optimization/59890
* var-tracking.c (local_get_addr_clear_given_value): Handle
already cleared slot.
(val_reset): Handle not allocated local_get_addr_cache.
(vt_find_locations): Use post-order on the inverted CFG.

From-SVN: r207172

10 years agoMakefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
Alan Modra [Tue, 28 Jan 2014 07:08:22 +0000 (17:38 +1030)]
Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.

* Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
* configure.ac <recursive call for build != host>: Define
GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
and LD_FOR_BUILD too.
* configure: Regenerate.

From-SVN: r207171

10 years agore PR c++/59823 (conversion operator to const X& causes copy-construction of temporary)
Jason Merrill [Tue, 28 Jan 2014 04:31:39 +0000 (23:31 -0500)]
re PR c++/59823 (conversion operator to const X& causes copy-construction of temporary)

PR c++/59823
Core DR 1138
* call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
list-initialization.  A conversion to rvalue ref that involves
an lvalue-rvalue conversion is bad.
(convert_like_real): Give helpful error message.

From-SVN: r207170

10 years agore PR c++/54652 (ICE with -g)
Jason Merrill [Tue, 28 Jan 2014 04:31:30 +0000 (23:31 -0500)]
re PR c++/54652 (ICE with -g)

PR c++/54652
* decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.

From-SVN: r207169

10 years agore PR c++/58504 (ICE with type trait as default template parameter)
Jason Merrill [Tue, 28 Jan 2014 04:31:23 +0000 (23:31 -0500)]
re PR c++/58504 (ICE with type trait as default template parameter)

PR c++/58504
* pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
types.

From-SVN: r207168

10 years agore PR c++/58606 ([c++11] ICE with specialization in variadic template)
Jason Merrill [Tue, 28 Jan 2014 04:31:14 +0000 (23:31 -0500)]
re PR c++/58606 ([c++11] ICE with specialization in variadic template)

PR c++/58606
* pt.c (template_parm_to_arg): Call convert_from_reference.
(tsubst_template_arg): Don't strip reference refs.

From-SVN: r207167

10 years agore PR c++/58639 (ICE on self-referential struct member)
Jason Merrill [Tue, 28 Jan 2014 04:31:07 +0000 (23:31 -0500)]
re PR c++/58639 (ICE on self-referential struct member)

PR c++/58639
* call.c (build_aggr_conv): Reject value-initialization of reference.

From-SVN: r207166

10 years agore PR c++/58812 (ICE initializing an r-value reference with an initializer list)
Jason Merrill [Tue, 28 Jan 2014 04:31:01 +0000 (23:31 -0500)]
re PR c++/58812 (ICE initializing an r-value reference with an initializer list)

PR c++/58812
* call.c (convert_like_real): Give helpful error about excess braces
for ck_rvalue of scalar type.

From-SVN: r207165

10 years agoCore DR 1288
Jason Merrill [Tue, 28 Jan 2014 04:30:55 +0000 (23:30 -0500)]
Core DR 1288

Core DR 1288
* call.c (reference_binding): Only elide braces if the single
element is reference-related.

From-SVN: r207164

10 years agore PR c++/58814 (ICE with volatile and attribute vector_size)
Jason Merrill [Tue, 28 Jan 2014 04:30:38 +0000 (23:30 -0500)]
re PR c++/58814 (ICE with volatile and attribute vector_size)

PR c++/58814
* typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
stabilizing.

From-SVN: r207163

10 years agore PR c++/58837 ([c++11] ICE using invalid condition in static_assert)
Jason Merrill [Tue, 28 Jan 2014 04:30:26 +0000 (23:30 -0500)]
re PR c++/58837 ([c++11] ICE using invalid condition in static_assert)

PR c++/58837
* typeck.c (cp_truthvalue_conversion): Use explicit comparison for
FUNCTION_DECL.

From-SVN: r207162

10 years agore PR c++/59097 (ICE with invalid statement expression as array size)
Jason Merrill [Tue, 28 Jan 2014 04:30:16 +0000 (23:30 -0500)]
re PR c++/59097 (ICE with invalid statement expression as array size)

PR c++/59097
* decl.c (compute_array_index_type): Don't call
maybe_constant_value for a non-integral expression.

From-SVN: r207161

10 years agoDaily bump.
GCC Administrator [Tue, 28 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r207159

10 years agopr52125.c: Add -mno-optgp option.
Steve Ellcey [Mon, 27 Jan 2014 23:05:05 +0000 (23:05 +0000)]
pr52125.c: Add -mno-optgp option.

2014-01-27  Steve Ellcey  <sellcey@mips.com>

* gcc.target/mips/pr52125.c: Add -mno-optgp option.

From-SVN: r207156

10 years agoi386.c (get_builtin_code_for_version): Separate Westmere from Nehalem...
Allan Sandfeld Jensen [Mon, 27 Jan 2014 22:45:02 +0000 (23:45 +0100)]
i386.c (get_builtin_code_for_version): Separate Westmere from Nehalem...

* config/i386/i386.c (get_builtin_code_for_version): Separate
Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
Broadwell from Haswell.

testsuite/ChangeLog:

* g++.dg/ext/mv16.C: New tests.

From-SVN: r207155

10 years agomips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT...
Steve Ellcey [Mon, 27 Jan 2014 22:38:42 +0000 (22:38 +0000)]
mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.

2014-01-27  Steve Ellcey  <sellcey@mips.com>

* common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
* config/mips/mips.c (mips_option_override): Change setting
of TARGET_DSP.
* config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
* config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD,
MIPS3D) Change from Mask to Var.

From-SVN: r207154

10 years agomklog: Fix description at top of file.
Jonathan Wakely [Mon, 27 Jan 2014 21:43:09 +0000 (21:43 +0000)]
mklog: Fix description at top of file.

2014-01-27  Jonathan Wakely  <jwakely@redhat.com>

* mklog: Fix description at top of file.

From-SVN: r207153

10 years ago* ipa-inline.c (inline_small_functions): Fix typo.
Jeff Law [Mon, 27 Jan 2014 21:00:04 +0000 (14:00 -0700)]
* ipa-inline.c (inline_small_functions): Fix typo.

From-SVN: r207151

10 years agoavx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
Ilya Tocar [Mon, 27 Jan 2014 19:25:32 +0000 (19:25 +0000)]
avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.

gcc/
* config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
(_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
(_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
(_mm512_mask_cvtepi32_storeu_epi16): Ditto.
(_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
(_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
(_mm512_mask_cvtepi64_storeu_epi32): Ditto.
(_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
(_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
(_mm512_mask_cvtepi64_storeu_epi16): Ditto.
(_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
(_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
(_mm512_mask_cvtepi64_storeu_epi8): Ditto.
(_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
(_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
(_mm512_storeu_epi64): Ditto.
(_mm512_cmpge_epi32_mask): Ditto.
(_mm512_cmpge_epu32_mask): Ditto.
(_mm512_cmpge_epi64_mask): Ditto.
(_mm512_cmpge_epu64_mask): Ditto.
(_mm512_cmple_epi32_mask): Ditto.
(_mm512_cmple_epu32_mask): Ditto.
(_mm512_cmple_epi64_mask): Ditto.
(_mm512_cmple_epu64_mask): Ditto.
(_mm512_cmplt_epi32_mask): Ditto.
(_mm512_cmplt_epu32_mask): Ditto.
(_mm512_cmplt_epi64_mask): Ditto.
(_mm512_cmplt_epu64_mask): Ditto.
(_mm512_cmpneq_epi32_mask): Ditto.
(_mm512_cmpneq_epu32_mask): Ditto.
(_mm512_cmpneq_epi64_mask): Ditto.
(_mm512_cmpneq_epu64_mask): Ditto.
(_mm512_expand_pd): Ditto.
(_mm512_expand_ps): Ditto.
* config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
* config/i386/i386.c (ix86_builtins): Add
IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
IX86_BUILTIN_PMOVUSQW512_MEM.
(bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
__builtin_ia32_pmovsqd512mem_mask,
__builtin_ia32_pmovqd512mem_mask,
__builtin_ia32_pmovusqw512mem_mask,
__builtin_ia32_pmovsqw512mem_mask,
__builtin_ia32_pmovqw512mem_mask,
__builtin_ia32_pmovusdw512mem_mask,
__builtin_ia32_pmovsdw512mem_mask,
__builtin_ia32_pmovdw512mem_mask,
__builtin_ia32_pmovqb512mem_mask,
__builtin_ia32_pmovusqb512mem_mask,
__builtin_ia32_pmovsqb512mem_mask,
__builtin_ia32_pmovusdb512mem_mask,
__builtin_ia32_pmovsdb512mem_mask,
__builtin_ia32_pmovdb512mem_mask.
(bdesc_args): Add __builtin_ia32_expanddf512,
__builtin_ia32_expandsf512.
(ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
* config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
(avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
(*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
(avx512f_<code>v8div16qi2_mask_store): This.
(avx512f_expand<mode>): New.

testsuite/
* gcc.target/i386/avx512f-vexpandpd-1.c: Also test _mm512_expand_pd.
* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto.
* gcc.target/i386/avx512f-vexpandps-1.c: Also test _mm512_expand_ps.
* gcc.target/i386/avx512f-vexpandps-2.c: Ditto.
* gcc.target/i386/avx512f-vmovdqu64-1.c: Also test _mm512_storeu_epi64.
* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpged-1.c: New.
* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovdb-1.c: Also test
_mm512_mask_cvtepi32_storeu_epi8.
* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovdw-1.c: Also test
_mm512_mask_cvtepi32_storeu_epi16.
* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovqb-1.c: Also test
_mm512_mask_cvtepi64_storeu_epi8.
* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovqw-1.c: Also test
_mm512_mask_cvtepi64_storeu_epi16.
* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovqd-1.c: Also test
_mm512_mask_cvtepi64_storeu_epi32.
* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsdb-1.c: Also test
_mm512_mask_cvtsepi32_storeu_epi8.
* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsdw-1.c: Also test
_mm512_mask_cvtsepi32_storeu_epi16.
* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqb-1.c: Also test
_mm512_mask_cvtsepi64_storeu_epi8.
* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqw-1.c: Also test
_mm512_mask_cvtsepi64_storeu_epi16.
* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqd-1.c: Also test
_mm512_mask_cvtsepi64_storeu_epi32.
* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusdb-1.c: Also test
_mm512_mask_cvtusepi32_storeu_epi8.
* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusdw-1.c: Also test
_mm512_mask_cvtusepi32_storeu_epi16.
* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqb-1.c: Also test
_mm512_mask_cvtusepi64_storeu_epi8.
* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqw-1.c: Also test
_mm512_mask_cvtusepi64_storeu_epi16.
* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqd-1.c: Also test
_mm512_mask_cvtusepi64_storeu_epi32.
* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto.
* gcc.target/i386/m128-check.h: Add checkVs, checkVb.

From-SVN: r207150

10 years agoavx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
Kirill Yukhin [Mon, 27 Jan 2014 19:21:02 +0000 (19:21 +0000)]
avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.

gcc/
        * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
(_mm512_mask_prefetch_i64gather_pd): Ditto.
(_mm512_prefetch_i32scatter_pd): Ditto.
(_mm512_mask_prefetch_i32scatter_pd): Ditto.
(_mm512_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i32gather_ps): Fix operand type.
(_mm512_mask_prefetch_i64gather_ps): Ditto.
(_mm512_prefetch_i32scatter_ps): Ditto.
(_mm512_mask_prefetch_i32scatter_ps): Ditto.
(_mm512_prefetch_i64scatter_ps): Ditto.
(_mm512_mask_prefetch_i64scatter_ps): Ditto.
* config/i386/i386-builtin-types.def: Define
VOID_FTYPE_QI_V8SI_PCINT64_INT_INT and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
* config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
IX86_BUILTIN_SCATTERPFQPD.
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
__builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
__builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
__builtin_ia32_scatterpfqps.
(ix86_expand_builtin): Expand new built-ins.
* config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
fix memory access data type.
(*avx512pf_gatherpf<mode>_mask): Ditto.
(*avx512pf_gatherpf<mode>): Ditto.
(avx512pf_scatterpf<mode>): Ditto.
(*avx512pf_scatterpf<mode>_mask): Ditto.
(*avx512pf_scatterpf<mode>): Ditto.
(GATHER_SCATTER_SF_MEM_MODE): New.
(avx512pf_gatherpf<mode>df): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.

testsuite/
        * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: New.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
* gcc.target/i386/sse-14.c: Add new built-ins, fix AVX-512ER
built-ins roudning immediate.
* gcc.target/i386/sse-22.c: Add new built-ins.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx-1.c: Ditto.

From-SVN: r207149

10 years agore PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)
Jonathan Wakely [Mon, 27 Jan 2014 17:56:40 +0000 (17:56 +0000)]
re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)

PR libstdc++/59215
* include/bits/shared_ptr_base.h
(_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
load.

From-SVN: r207147

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:58:19 +0000 (17:58 +0100)]
[multiple changes]

2014-01-27  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Comparison_Op): Add type name/location
to unordered msg.
(Resolve_Range): Add type name/location to unordered msg.

2014-01-27  Claire Dross  <dross@adacore.com>

* a-cofove.adb/s (Copy): Add precondition so that Copy (Source,
Capacity) is only called with Capacity >= Length (Source) and
Capacity in Capacity_Range.
* a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s,
a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity)
is only called with Capacity >= Source.Capacity. Raise Capacity_Error
in the code is this is not the case.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Fix handling of
selected component in an instance where the component of the
actual is not visibile at instantiation.

From-SVN: r207146

10 years agosem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate...
Ed Schonberg [Mon, 27 Jan 2014 16:55:30 +0000 (16:55 +0000)]
sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate...

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type
has a dynamic predicate, generate freeze node for Actual_Subtype
at once, because the declaration of the corresponding predicate
function will make reference to it.

From-SVN: r207145

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:54:37 +0000 (17:54 +0100)]
[multiple changes]

2014-01-27  Tristan Gingold  <gingold@adacore.com>

* exp_ch7.adb, exp_ch9.adb: Adjust comments.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
for 2**X optimization.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* a-suenst.adb: strings.utf_encoding.strings (Decode): Check
explicitly whether value is in range of Character, because the
library is typically compiled with range checks disabled, and
we cannot rely on the implicit check on the argument of 'Val.

2014-01-27  Vincent Celier  <celier@adacore.com>

* a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
not the Target to itself.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
changes to avoid incorrect use of unordered enum types.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb: Minor reformatting.

From-SVN: r207144

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:52:29 +0000 (17:52 +0100)]
[multiple changes]

2014-01-27  Robert Dewar  <dewar@adacore.com>

* scn.adb (Check_End_Of_Line): Removed.
(Error_Long_Line): Removed.
(Determine_License): Use versions of above routines from Scanner.
* scng.adb (Check_End_Of_Line): Moved to spec.
(Error_Long_Line): Removed, no longer used.
* scng.ads (Check_End_Of_Line): Moved here from body.

2014-01-27  Tristan Gingold  <gingold@adacore.com>

* exp_ch7.adb (Build_Cleanup_Statements): Call
Build_Protected_Subprogram_Call_Cleanup to insert the cleanup
for protected body.
* exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise.
 Remove Service_Name variable.
(Build_Protected_SUbprogam_Call_Cleanup): New procedure that
factorize code from the above subprograms.
* exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure.

From-SVN: r207143

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:49:44 +0000 (17:49 +0100)]
[multiple changes]

2014-01-27  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Has_Option): Reimplemented.
* sem_prag.adb (Analyze_Refinement_Clause): Add global
variables AR_Constit, AW_Constit, ER_Constit, EW_Constit,
External_Constit_Seen and State. Add local variables Body_Ref,
Body_Ref_Elmt and Extra_State. Reimplement part of the logic to
avoid a cumbersome while pool. Verify the legality of an external
state and relevant properties.
(Check_External_Property): New routine.
(Check_Matching_State): Remove parameter profile
and update comment on usage.
(Collect_Constituent): Store the
relevant external property of a constituent.
* sem_util.adb (Async_Readers_Enabled): Update the call to
Has_Enabled_Property.
(Async_Writers_Enabled): Update the call to Has_Enabled_Property.
(Effective_Reads_Enabled): Update the call to Has_Enabled_Property.
(Effective_Writes_Enabled): Update the call to Has_Enabled_Property.
(Has_Enabled_Property): Rename formal parameter Extern to State_Id.
Update comment on usage. Reimplement the logic to recognize the various
formats of properties.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* par-ch5.adb: Minor reformatting.

2014-01-27  Tristan Gingold  <gingold@adacore.com>

* s-tposen.ads: Harmonize style and comments.

2014-01-27  Vincent Celier  <celier@adacore.com>

* projects.texi: Document that shared library projects, by
default, cannot import projects that are not shared library
projects.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb (Find_Selected_Component): Use Replace instead
of Rewrite.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if
any other exception is raised.
(Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is
still necessary to perform a conversion in order to remove overlong
encodings.

From-SVN: r207142

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:43:29 +0000 (17:43 +0100)]
[multiple changes]

2014-01-27  Robert Dewar  <dewar@adacore.com>

* exp_smem.adb: Minor reformatting.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* a-calfor.ads: Fix incorrect reference to operator "-" in comment.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate
nodes for operands to the original node for the call, to preserve
Original_Node pointers within the resolved operands, given that
they may have been rewritten as well. Previous approach copied
the operands into a new tree and lost those pointers.

2014-01-27  Claire Dross  <dross@adacore.com>

* a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Check_Internal_Protected_Use): A call through
an anonymous access parameter of the current protected function
is not a potential modification of the current object.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* a-cobove.adb (Reserve_Capacity): Procedure raises
Capacity_Error, not Constraint_Error, when request cannot be
satisfied.

2014-01-27  Vincent Celier  <celier@adacore.com>

* a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target,
not the Target to itself.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_Concatenate): If the target of the
concatenation is a library-level entity, always use the off-line
version of concatenation, regardless of optimization level. This
is space-efficient, and prevents linking problems when some
units are compiled with different optimization levels.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb: Code clean up.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* par-ch5.adb (P_Iterator_Specification): Improve error recovery
when an array or container iterator includes a subtype indication,
which is only legal in an element iterator.

From-SVN: r207141

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:39:57 +0000 (17:39 +0100)]
[multiple changes]

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb: Minor reformatting.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* opt.adb (SPARK_Mode): Default for library units is None rather
than Off.
* opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is
no longer ordered.
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO
possibility.
* snames.ads-tmpl (Name_Auto): Removed, no longer used.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* par-ch5.adb (P_Sequence_Of_Statements): Make entry in
Suspicious_Labels table if we have identifier; followed by loop
or block.
* par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table.
* par.adb (Suspicious_Labels): New table.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb (Check_Bounds): Reason is range check, not
length check.

2014-01-27  Yannick Moy  <moy@adacore.com>

* get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for
reference.
* lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless
function now.
(Add_SPARK_Xrefs): Include references to constants.
* spark_xrefs.ads Document new character 'c' for references to
constants.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* exp_smem.adb (Add_Write_After): For a function call, insert write as
an after action in a transient scope.

From-SVN: r207140

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:37:28 +0000 (17:37 +0100)]
[multiple changes]

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* exp_smem.adb (Expand_Shared_Passive_Variable): For a reference
to a shared variable as an OUT formal in a call to an init proc,
the 'Read call must be emitted after, not before, the call.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma.

From-SVN: r207139

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:35:08 +0000 (17:35 +0100)]
[multiple changes]

2014-01-27  Robert Dewar  <dewar@adacore.com>

* a-wichha.adb (Character_Set_Version): Change to output proper
value.

2014-01-27  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Is_Input_Only_State): Removed.
(Is_Non_Volatile_State): Removed.
(Is_Output_State): Removed.
* einfo.ads (Is_Input_Only_State): Remove attribute and
subprogram. Update related entity.
(Is_Non_Volatile_State):
Remove attribute and subprogram. Update related entity.
(Is_Output_State): Removed attribute and subprogram. Update
related entity.
* exp_ch6.adb (Expand_Subprogram_Contract): Update comment on
generated code.
* sem_ch3.adb (Analyze_Declarations): Analyze the contract of
an object, not just variables.
(Analyze_Object_Contract): New routine.
(Analyze_Variable_Contract): Removed.
(Process_Discriminants): Detect an illegal use of volatile
discriminant in SPARK mode.
* sem_ch5.adb (Analyze_Iterator_Specification):
Detect an illegal use of volatile loop variable.
(Analyze_Loop_Parameter_Specification): Detect an illegal use
of volatile loop variable.
* sem_ch6.adb (Process_Formals): Update the volatile object
detection. Detect an illegal formal of mode IN OUT or OUT in
SPARK mode. Enhance the error messages with references.
* sem_ch12.adb (Instantiate_Object): Update the volatile object
detection. Enhance the error messages with references.
* sem_prag.adb (Analyze_Abstract_State): Enhance the error
messages with references.
(Analyze_Contract_Case): Enhance the error messages with references.
(Analyze_External_Property): Call Check_Duplicate_Property to process
an external property.
(Analyze_External_Property_In_Decl_Part): New routine.
(Analyze_External_State_In_Decl_Part): Removed.
(Analyze_Global_Item): Detect an illegal
use of a volatile constant. Detect an illegal use
of a variable with enabled Effective_Reads. Enhance
the error messages with references. Remove obsolete
checks concerning Input_Only and Output_Only states.
(Analyze_Initialization_Item): Enhance the error messages
with references.
(Analyze_Initializes_In_Decl_Part): Do not
collect the states and variables when the initialization list
is null.
(Analyze_Input_Item): Enhance the error messages with references.
(Analyze_Input_Output): Enhance the error messages with references.
(Analyze_Pragma): Enhance the error messages with references.
(Analyze_Refinement_Clause): Code reformatting.
(Analyze_Refined_Depends_In_Decl_Part):
Rename global variable Global to Reg_Global and update all
occurrences. Add local variables D7 and D8. Update the error
messages with references. Update the call to Collect_Global_Items.
(Analyze_Refined_Global_In_Decl_Part): Add local variables
Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update
the call to Collect_Global_Items.  Account for a Proof_In state
in null / useless refinement checks. Verify the coverage of
Proof_In states.
(Check_Dependency_Clause): Remove local variable
Out_Constits. Remove the retrieval and removal of constituents
for an Output_Only state. Remove the reporting of unused
Output_Only state constituents.
(Check_Duplicate_Mode): Enhance
the error message with a reference.
(Check_Duplicate_Property): New routine.
(Check_Duplicate_Option): Enhance the error message with a reference.
(Check_External_Properties): Enhance the error message with a reference.
(Check_Function_Return): Enhance the error message with a reference.
(Check_In_Out_States): Update
comment on usage. Add a specialized error message for Proof_In
constituents. Enhance the error message with a reference.
(Check_Input_States): Update comment on usage. Account for
possible Proof_In constituents. Enhance the error message
with a areference.
(Check_Matching_Constituent): Enhance the error message with a
reference.
(Check_Matching_State): Enchance the error message with a reference.
(Check_Mode): Add local variable From_Global. Update the call to
Find_Mode.  Emit more precise error messages concerning extra items
(Check_Mode_Restriction_In_Enclosing_Context): Consider
pragma Refined_Global. Enhance the error message with a
reference.
(Check_Mode_Restriction_In_Function): Enhance the error message with
a reference.
(Check_Output_States): Update comment on usage. Add local variable
Posted.  Account for possible Proof_In constituents. Produce a detailed
list of missing constituents.
(Check_Proof_In_States): New routine.
(Check_Refined_Global_Item): Handle Proof_In
constituents. Enchance the error message with a reference.
(Collect_Global_Items): Add formal parameters Proof_In_Items
and Has_Proof_In_State. Update the comment on usage. Account
for Proof_In items.
(Create_Or_Modify_Clause): Enchance
the error message with a reference.
(Find_Mode): Add
formal parameter From_Global. Update the comment on usage.
Detect when the mode is governed by pragma [Refined_]Global.
(Output_Constituents): Removed.
(Report_Extra_Constituents):
Report extra Proof_In constituents.
(Report_Unused_Constituents): Removed.
(Usage_Error): Code reformatting. Enhance the error
messages with reference.
* sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine.
(Analyze_External_State_In_Decl_Part): Removed.
* sem_res.adb (Resolve_Actuals): Update the volatile object
detection. Enhance the error message with a reference.
(Resolve_Entity_Name): Update the volatile object
detection. Enhance the error message with a reference.
* sem_util.adb (Is_Refined_State): Add a guard to avoid a crash.
(Is_SPARK_Volatile_Object): New routine.
(Has_Volatile_Component): New routine.
* sem_util.ads (Is_Delegate): Alphabetized.
(Is_SPARK_Volatile_Object): New routine.
(Has_Volatile_Component): New routine.
* snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb: Resolve fully prefix of 'Update.

From-SVN: r207138

10 years agore PR bootstrap/59934 (Bootstrap fail since r206941: expmed.h:252:33: error: array...
Jakub Jelinek [Mon, 27 Jan 2014 16:33:39 +0000 (17:33 +0100)]
re PR bootstrap/59934 (Bootstrap fail since r206941: expmed.h:252:33: error: array subscript is above array bounds)

       PR bootstrap/59934
        * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
        know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
        reached.

From-SVN: r207137

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:31:19 +0000 (17:31 +0100)]
[multiple changes]

2014-01-27  Ben Brosgol  <brosgol@adacore.com>

* gnat_rm.texi: Minor clarifications.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining
about call that is generated as part of an Initial_Condition
check.
* sem_prag.adb: Minor spelling correction.

From-SVN: r207136

10 years agosem_prag.adb (Set_Convention_From_Pragma): Check that convention Ghost can only apply...
Robert Dewar [Mon, 27 Jan 2014 16:28:28 +0000 (16:28 +0000)]
sem_prag.adb (Set_Convention_From_Pragma): Check that convention Ghost can only apply to functions.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Set_Convention_From_Pragma): Check that
convention Ghost can only apply to functions.
* einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment.

From-SVN: r207135

10 years agognat_ugn.texi: Add Short_Enums to documentation of -gnatet/-gnateT.
Robert Dewar [Mon, 27 Jan 2014 16:27:02 +0000 (16:27 +0000)]
gnat_ugn.texi: Add Short_Enums to documentation of -gnatet/-gnateT.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Add Short_Enums to documentation of
-gnatet/-gnateT.

2014-01-27  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Input_Item): Correct check for input
item in same package.
* sem_util.ads, sem_util.adb (Within_Scope): New function.

From-SVN: r207134

10 years ago[ARM] fix big.LITTLE spec rewriting
James Greenhalgh [Mon, 27 Jan 2014 15:51:42 +0000 (15:51 +0000)]
[ARM] fix big.LITTLE spec rewriting

gcc/

* common/config/arm/arm-common.c
(arm_rewrite_mcpu): Handle multiple names.
* config/arm/arm.h
(BIG_LITTLE_SPEC): Do not discard mcpu switches.

From-SVN: r207133

10 years agoCore DR 475 PR c++/41174 PR c++/59224
Jason Merrill [Mon, 27 Jan 2014 13:57:39 +0000 (08:57 -0500)]
Core DR 475 PR c++/41174 PR c++/59224

Core DR 475
PR c++/41174
PR c++/59224
* libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
(__cxa_allocate_exception): Don't set it here.

From-SVN: r207129

10 years ago[PATCH - obvious] Remove unused create_gimple_tmp declaration
James Greenhalgh [Mon, 27 Jan 2014 09:39:21 +0000 (09:39 +0000)]
[PATCH - obvious] Remove unused create_gimple_tmp declaration

gcc/

* gimple-builder.h (create_gimple_tmp): Delete.

From-SVN: r207127

10 years agosh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after words comparisons.
Christian Bruel [Mon, 27 Jan 2014 08:39:49 +0000 (09:39 +0100)]
sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after words comparisons.

2014-01-27  Christian Bruel  <christian.bruel@st.com>

* config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
words comparisons.

From-SVN: r207126

10 years agoconfigure.ac (*-*-lynxos*): Delete.
Eric Botcazou [Mon, 27 Jan 2014 08:18:29 +0000 (08:18 +0000)]
configure.ac (*-*-lynxos*): Delete.

* configure.ac (*-*-lynxos*): Delete.
* configure: Regenerate.

From-SVN: r207125

10 years agoDaily bump.
GCC Administrator [Mon, 27 Jan 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207124

10 years agopa.md (call): Generate indirect long calls to non-local functions when outputing...
John David Anglin [Sun, 26 Jan 2014 16:30:27 +0000 (16:30 +0000)]
pa.md (call): Generate indirect long calls to non-local functions when outputing 32-bit code.

* config/pa/pa.md (call): Generate indirect long calls to non-local
functions when outputing 32-bit code.
(call_value): Likewise except for special call to buggy powf function.

From-SVN: r207121

10 years agopa.c (pa_attr_length_indirect_call): Adjust length of portable runtime and PIC indire...
John David Anglin [Sun, 26 Jan 2014 16:07:28 +0000 (16:07 +0000)]
pa.c (pa_attr_length_indirect_call): Adjust length of portable runtime and PIC indirect calls.

* config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
portable runtime and PIC indirect calls.
(pa_output_indirect_call): Remove unnecessary nop from portable runtime
and PIC call sequences.  Use ldo instead of blr to set return register
in PIC call sequence.

From-SVN: r207120

10 years agore PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups...
Mikael Morin [Sun, 26 Jan 2014 14:12:50 +0000 (14:12 +0000)]
re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix)

fortran/
        PR fortran/58007
        * module.c (read_module): Assert for component name correctness.

From-SVN: r207118

10 years agoacinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
Jonathan Wakely [Sun, 26 Jan 2014 11:23:07 +0000 (11:23 +0000)]
acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.

* acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
* configure: Regenerate.

From-SVN: r207116

10 years agostl_map.h: Remove anachronistic comment.
Jonathan Wakely [Sun, 26 Jan 2014 11:22:58 +0000 (11:22 +0000)]
stl_map.h: Remove anachronistic comment.

* include/bits/stl_map.h: Remove anachronistic comment.
* include/bits/stl_multimap.h: Add whitespace.
* testsuite/23_containers/map/modifiers/emplace/1.cc: Use
-std=gnu++11 instead of -std=c++11.
* testsuite/23_containers/map/operators/2.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
* testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.

From-SVN: r207115

10 years agoa-intnam-lynxos.ads, [...]: Removed, no longer maintained.
Arnaud Charlet [Sun, 26 Jan 2014 10:05:39 +0000 (10:05 +0000)]
a-intnam-lynxos.ads, [...]: Removed, no longer maintained.

2014-01-26  Arnaud Charlet  <charlet@adacore.com>

* a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb,
s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb,
system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer
maintained.

From-SVN: r207114

10 years agoComplete previous changes.
Arnaud Charlet [Sun, 26 Jan 2014 10:04:03 +0000 (11:04 +0100)]
Complete previous changes.

From-SVN: r207113

10 years agoDaily bump.
GCC Administrator [Sun, 26 Jan 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r207110

10 years agoFix pilot error in previous checkin
Eric Botcazou [Sat, 25 Jan 2014 22:41:48 +0000 (22:41 +0000)]
Fix pilot error in previous checkin

From-SVN: r207098

10 years agoatomic.c: Include tconfig.h.
Walter Lee [Sat, 25 Jan 2014 20:37:01 +0000 (20:37 +0000)]
atomic.c: Include tconfig.h.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c: Include tconfig.h.  Don't include
            config.h or system.h.
            (bool) Define.

From-SVN: r207088

10 years agoatomic.c (pre_atomic_barrier): Mark inline.
Walter Lee [Sat, 25 Jan 2014 20:35:56 +0000 (20:35 +0000)]
atomic.c (pre_atomic_barrier): Mark inline.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
            (post_atomic_barrier): Ditto.
            (__fetch_and_do): New macro.
            (__atomic_fetch_and_do): Use __fetch_and_do.
            (__sync_fetch_and_do): New macro.
            (__sync_fetch_and_add_4): New function.
            (__sync_fetch_and_sub_4): New function.
            (__sync_fetch_and_or_4): New function.
            (__sync_fetch_and_and_4): New function.
            (__sync_fetch_and_xor_4): New function.
            (__sync_fetch_and_nand_4): New function.
            (__sync_fetch_and_add_8): New function.
            (__sync_fetch_and_sub_8): New function.
            (__sync_fetch_and_or_8): New function.
            (__sync_fetch_and_and_8): New function.
            (__sync_fetch_and_xor_8): New function.
            (__sync_fetch_and_nand_8): New function.
            (__do_and_fetch): New macro.
            (__atomic_do_and_fetch): Use __do_and_fetch.
            (__sync_do_and_fetch): New macro.
            (__sync_add_and_fetch_4): New function.
            (__sync_sub_and_fetch_4): New function.
            (__sync_or_and_fetch_4): New function.
            (__sync_and_and_fetch_4): New function.
            (__sync_xor_and_fetch_4): New function.
            (__sync_nand_and_fetch_4): New function.
            (__sync_add_and_fetch_8): New function.
            (__sync_sub_and_fetch_8): New function.
            (__sync_or_and_fetch_8): New function.
            (__sync_and_and_fetch_8): New function.
            (__sync_xor_and_fetch_8): New function.
            (__sync_nand_and_fetch_8): New function.
            (__sync_exchange_methods): New macro.
            (__sync_val_compare_and_swap_4): New function.
            (__sync_bool_compare_and_swap_4): New function.
            (__sync_lock_test_and_test_4): New function.
            (__sync_val_compare_and_swap_8): New function.
            (__sync_bool_compare_and_swap_8): New function.
            (__sync_lock_test_and_test_8): New function.
            (__subword_cmpxchg_body): New macro.
            (__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
            (__atomic_compare_exchange_2): Ditto.
            (__sync_subword_cmpxchg): New macro.
            (__sync_val_compare_and_swap_1): New function.
            (__sync_bool_compare_and_swap_1): New function.
            (__sync_val_compare_and_swap_2): New function.
            (__sync_bool_compare_and_swap_2): New function.
            (__atomic_subword): Rename to ...
            (__subword): ... New name.
            (__atomic_subword_fetch): Use __subword.
            (__sync_subword_fetch): New macro.
            (__sync_fetch_and_add_1): New function.
            (__sync_fetch_and_sub_1): New function.
            (__sync_fetch_and_or_1): New function.
            (__sync_fetch_and_and_1): New function.
            (__sync_fetch_and_xor_1): New function.
            (__sync_fetch_and_nand_1): New function.
            (__sync_fetch_and_add_2): New function.
            (__sync_fetch_and_sub_2): New function.
            (__sync_fetch_and_or_2): New function.
            (__sync_fetch_and_and_2): New function.
            (__sync_fetch_and_xor_2): New function.
            (__sync_fetch_and_nand_2): New function.
            (__sync_add_and_fetch_1): New function.
            (__sync_sub_and_fetch_1): New function.
            (__sync_or_and_fetch_1): New function.
            (__sync_and_and_fetch_1): New function.
            (__sync_xor_and_fetch_1): New function.
            (__sync_nand_and_fetch_1): New function.
            (__sync_add_and_fetch_2): New function.
            (__sync_sub_and_fetch_2): New function.
            (__sync_or_and_fetch_2): New function.
            (__sync_and_and_fetch_2): New function.
            (__sync_xor_and_fetch_2): New function.
            (__sync_nand_and_fetch_2): New function.
            (__atomic_subword_lock): Use __subword.
            (__sync_subword_lock): New macro.
            (__sync_lock_test_and_set_1): New function.
            (__sync_lock_test_and_set_2): New function.

From-SVN: r207087

10 years agoatomic.c (BIT_OFFSET): Define.
Walter Lee [Sat, 25 Jan 2014 20:34:42 +0000 (20:34 +0000)]
atomic.c (BIT_OFFSET): Define.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (BIT_OFFSET): Define.
            (__atomic_subword_cmpxchg): Use BIT_OFFSET.
            (__atomic_subword): Ditto.

From-SVN: r207086

10 years agoatomic.c (__atomic_do_and_fetch): Add a prefix op argument.
Walter Lee [Sat, 25 Jan 2014 20:33:28 +0000 (20:33 +0000)]
atomic.c (__atomic_do_and_fetch): Add a prefix op argument.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (__atomic_do_and_fetch): Add a
            prefix op argument.
            (__atomic_nand_fetch_4): Add prefix op.
            (__atomic_nand_fetch_8): Ditto.

From-SVN: r207085

10 years agosync.md (atomic_fetch_sub): Fix negation and avoid clobbering a live register.
Walter Lee [Sat, 25 Jan 2014 20:31:38 +0000 (20:31 +0000)]
sync.md (atomic_fetch_sub): Fix negation and avoid clobbering a live register.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
            avoid clobbering a live register.

From-SVN: r207084

10 years agotilegx-c.c (tilegx_cpu_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
Walter Lee [Sat, 25 Jan 2014 20:27:55 +0000 (20:27 +0000)]
tilegx-c.c (tilegx_cpu_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
            Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
            * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
            Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.

From-SVN: r207083

10 years agotilegx.c (tilegx_function_arg): Start 16-byte arguments on even registers.
Walter Lee [Sat, 25 Jan 2014 20:26:31 +0000 (20:26 +0000)]
tilegx.c (tilegx_function_arg): Start 16-byte arguments on even registers.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
            arguments on even registers.
            (tilegx_function_arg_advance): Ditto.
            (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
            STACK_BOUNDARY.
            * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
            (BIGGEST_ALIGNMENT): Ditto.
            (BIGGEST_FIELD_ALIGNMENT): Ditto.

From-SVN: r207082

10 years agotilegx.c (tilegx_gen_bundles): Delete barrier insns after bundles have been formed.
Walter Lee [Sat, 25 Jan 2014 20:24:57 +0000 (20:24 +0000)]
tilegx.c (tilegx_gen_bundles): Delete barrier insns after bundles have been formed.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
            insns after bundles have been formed.
            * config/tilegx/tilegx.md (tile_network_barrier): Update
            comment.

From-SVN: r207081

10 years agotilegx.c (tilegx_expand_builtin): Set PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
Walter Lee [Sat, 25 Jan 2014 20:23:42 +0000 (20:23 +0000)]
tilegx.c (tilegx_expand_builtin): Set PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
            PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
            * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.

From-SVN: r207080

10 years agoconstraints.md (kl): Delete.
Richard Sandiford [Sat, 25 Jan 2014 20:16:14 +0000 (20:16 +0000)]
constraints.md (kl): Delete.

gcc/
* config/mips/constraints.md (kl): Delete.
* config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
define expands, using...
(divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
instructions for MIPS16.
(*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.

From-SVN: r207079

10 years agotilepro.md (ctzdi2): Use register_operand predicate.
Walter Lee [Sat, 25 Jan 2014 20:14:59 +0000 (20:14 +0000)]
tilepro.md (ctzdi2): Use register_operand predicate.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/tilepro.md (ctzdi2): Use register_operand
            predicate.
            (clzdi2): Ditto.
            (ffsdi2): Ditto.

From-SVN: r207078

10 years agotilegx.c (tilegx_expand_to_rtl_hook): New.
Walter Lee [Sat, 25 Jan 2014 20:12:23 +0000 (20:12 +0000)]
tilegx.c (tilegx_expand_to_rtl_hook): New.

2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
            (TARGET_EXPAND_TO_RTL_HOOK): Define.

From-SVN: r207077

10 years agortlanal.c (canonicalize_condition): Split out duplicated mode check.
Richard Sandiford [Sat, 25 Jan 2014 20:03:16 +0000 (20:03 +0000)]
rtlanal.c (canonicalize_condition): Split out duplicated mode check.

gcc/
* rtlanal.c (canonicalize_condition): Split out duplicated mode check.
Handle XOR.

gcc/testsuite/
* gcc.dg/unroll_1.c: Add -fenable-rtl-loop2.

From-SVN: r207076

10 years agovect-nop-move.c (main): Check for vect runtime.
Bernd Edlinger [Sat, 25 Jan 2014 18:04:46 +0000 (18:04 +0000)]
vect-nop-move.c (main): Check for vect runtime.

2014-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/vect/vect-nop-move.c (main): Check for vect runtime.

From-SVN: r207075

10 years ago* gcc-interface/Makefile.in: Fix oversight.
Eric Botcazou [Sat, 25 Jan 2014 11:01:05 +0000 (11:01 +0000)]
* gcc-interface/Makefile.in: Fix oversight.

From-SVN: r207074

10 years agoutils.c (convert_to_fat_pointer): Un-obfuscate the conversion from a thin pointer...
Eric Botcazou [Sat, 25 Jan 2014 10:51:47 +0000 (10:51 +0000)]
utils.c (convert_to_fat_pointer): Un-obfuscate the conversion from a thin pointer with a shifted value.

* gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the
conversion from a thin pointer with a shifted value.
* gcc-interface/utils2.c (gnat_build_constructor): Propagate the
read-only flag from the values onto the result.
(gnat_invariant_expr): Accept read-only CONSTRUCTORs.

From-SVN: r207073

10 years agodecl.c (gnat_to_gnu_entity): Always build a variable for E_Variable with a pragma...
Tristan Gingold [Sat, 25 Jan 2014 10:42:04 +0000 (10:42 +0000)]
decl.c (gnat_to_gnu_entity): Always build a variable for E_Variable with a pragma Linker_Section.

* gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable
for E_Variable with a pragma Linker_Section.

From-SVN: r207072

10 years agodecl.c (gnat_to_gnu_param): Make sure an Out parameter with Default_Value aspect...
Robert Dewar [Sat, 25 Jan 2014 10:34:40 +0000 (10:34 +0000)]
decl.c (gnat_to_gnu_param): Make sure an Out parameter with Default_Value aspect is passed in by copy.

* gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter
with Default_Value aspect is passed in by copy.

From-SVN: r207071

10 years agoDaily bump.
GCC Administrator [Sat, 25 Jan 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207069

10 years agoprint-rtl.c (in_call_function_usage): New var.
Jakub Jelinek [Fri, 24 Jan 2014 23:18:26 +0000 (00:18 +0100)]
print-rtl.c (in_call_function_usage): New var.

* print-rtl.c (in_call_function_usage): New var.
(print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
EXPR_LIST mode as mode and not as reg note name.

From-SVN: r207066

10 years agore PR middle-end/59561 (warning: iteration 4 invokes undefined behavior)
Jakub Jelinek [Fri, 24 Jan 2014 23:17:25 +0000 (00:17 +0100)]
re PR middle-end/59561 (warning: iteration 4 invokes undefined behavior)

PR middle-end/59561
* cfgloopmanip.c (copy_loop_info): If
loop->warned_aggressive_loop_optimizations, make sure
the flag is set in target loop too.

From-SVN: r207065