]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agoIA MCU psABI support: changes to libraries
hjl [Tue, 30 Jun 2015 16:42:07 +0000 (16:42 +0000)] 
IA MCU psABI support: changes to libraries

Patch in the bottom adds support of IA MCU psABI to libgcc (enables
soft-fp) and libdecnumber (enables it for IA MCU).

config/

* dfp.m4 (enable_decimal_float): Also set to yes for
i?86*-*-elfiamcu target.

gcc/

* configure: Regenerated.

libdecnumber/

* configure: Regenerated.

libgcc/

* config.host: Support i[34567]86-*-elfiamcu target.
* config/t-softfp-sfdftf: New file.
* config/i386/32/t-iamcu: Likewise.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225198 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoIA MCU psABI support: GCC changes
hjl [Tue, 30 Jun 2015 16:40:19 +0000 (16:40 +0000)] 
IA MCU psABI support: GCC changes

This patch introduces basic IA MCU psABI support into GCC.

* configure.ac (ospace_frag): Enable for i?86*-*-elfiamcu
target.
* configure: Regenerate.

gcc/

* config.gcc: Support i[34567]86-*-elfiamcu target.
* config/i386/iamcu.h: New.
* config/i386/i386.opt: Add -miamcu.
* doc/invoke.texi: Document -miamcu.
* common/config/i386/i386-common.c  (ix86_handle_option): Turn
off x87/MMX/SSE/AVX codegen for -miamcu.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__iamcu/__iamcu__ for -miamcu.
* config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
(BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
* config/i386/i386.c (ix86_option_override_internal): Ignore and
warn -mregparm for Intel MCU.  Turn on -mregparm=3 for Intel
MCU by default.  Default long double to 64-bit for Intel MCU.
Turn on -freg-struct-return for Intel MCU.  Issue an error when
-miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
AVX is turned on.
(function_arg_advance_32): Pass value whose size is no larger
than 8 bytes in registers for Intel MCU.
(function_arg_32): Likewise.
(ix86_return_in_memory): Return value whose size is no larger
than 8 bytes in registers for Intel MCU.
(iamcu_alignment): New function.
(ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
true.
(ix86_local_alignment): Don't increase alignment for Intel MCU.
(x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225197 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
mpolacek [Tue, 30 Jun 2015 16:36:44 +0000 (16:36 +0000)] 
* match.pd (~x | x): Don't use tree_nop_conversion_p.  Build
the final expression with the operand's type and then convert
it to the type of the expression.

* gcc.dg/fold-ior-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225196 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
mpolacek [Tue, 30 Jun 2015 16:35:16 +0000 (16:35 +0000)] 
* match.pd (X - (X / Y) * Y): Use convert1 and convert2.  Convert
both operands of the resulting expression.

* gcc.dg/fold-minus-6.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225195 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRun testsuite/libgomp.oacc-c++/c++.exp at -O2 by default
vries [Tue, 30 Jun 2015 15:43:55 +0000 (15:43 +0000)] 
Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default

2015-06-30  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
already set.  Use DEFAULT_CFLAGS in dg-runtest.
* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
"-O2".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225194 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/66653
jason [Tue, 30 Jun 2015 15:40:38 +0000 (15:40 +0000)] 
PR debug/66653
* decl2.c (is_late_template_attribute): True for tls_model.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225193 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/66653
jason [Tue, 30 Jun 2015 14:31:36 +0000 (14:31 +0000)] 
PR debug/66653
* cp-tree.h (CP_DECL_THREAD_LOCAL_P): New.
(DECL_GNU_TLS_P): Use DECL_LANG_SPECIFIC field.
(SET_DECL_GNU_TLS_P): New.
* call.c (make_temporary_var_for_ref_to_temp): Use
CP_DECL_THREAD_LOCAL_P.
(set_up_extended_ref_temp): Likewise.
* decl.c (duplicate_decls, expand_static_init): Likewise.
(redeclaration_error_message, grokvardecl): Likewise.
(start_decl, register_dtor_fn, grokdeclarator): Likewise.
* decl2.c (get_guard, var_needs_tls_wrapper): Likewise.
(handle_tls_init): Likewise.
* pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
* semantics.c (finish_id_expression): Likewise.
(handle_omp_array_sections_1, finish_omp_clauses): Likewise.
(finish_omp_threadprivate): Likewise.
* tree.c (decl_storage_duration): Likewise.
* cp-gimplify.c (omp_var_to_track): Likewise.
(cp_genericize_r): Check that it matches DECL_THREAD_LOCAL_P.
* lex.c (retrofit_lang_decl): Return if DECL_LANG_SPECIFIC is
already set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225192 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
redi [Tue, 30 Jun 2015 14:22:14 +0000 (14:22 +0000)] 
* doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
* doc/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225191 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * include/bits/stl_pair.h: Replace class keyword with typename.
redi [Tue, 30 Jun 2015 13:35:36 +0000 (13:35 +0000)] 
* include/bits/stl_pair.h: Replace class keyword with typename.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225190 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
redi [Tue, 30 Jun 2015 13:26:49 +0000 (13:26 +0000)] 
2015-06-30  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement N4387, "Improving pair and tuple", and LWG 2367.

* include/bits/stl_pair.h (_ConstructiblePair,
_ImplicitlyConvertiblePair, _MoveConstructiblePair,
_ImplicitlyMoveConvertiblePair): New.
(pair()): Constrain it.
(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
pair(pair<_U1, _U2>&&)): Make conditionally explicit.
* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
(tuple()): Constrain it.
(tuple(const _UElements&...), tuple(_UElements&&...),
tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
conditionally explicit.
* include/experimental/functional (__boyer_moore_array_base): Name
array type explicitly instead of using an empty braced-init-list.
* testsuite/20_util/pair/cons/explicit_construct.cc: New.
* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
* testsuite/20_util/pair/requirements/dr2367.cc: New.
* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
* testsuite/20_util/tuple/requirements/dr2367.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225189 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agolibcpp:
emsr [Tue, 30 Jun 2015 12:58:48 +0000 (12:58 +0000)] 
libcpp:

2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4197 - Adding u8 character literals
* include/cpplib.h (UTF8CHAR, UTF8CHAR_USERDEF): New cpp tokens;
(struct cpp_options): Add utf8_char_literals.
* init.c (struct lang_flags): Add utf8_char_literals;
(struct lang_flags lang_defaults): Add column for utf8_char_literals.
* macro.c (stringify_arg()): Treat CPP_UTF8CHAR token;
* expr.c (cpp_userdef_char_remove_type(), cpp_userdef_char_add_type()):
Treat CPP_UTF8CHAR_USERDEF, CPP_UTF8CHAR tokens;
(cpp_userdef_char_p()): Treat CPP_UTF8CHAR_USERDEF token;
(eval_token(), _cpp_parse_expr()): Treat CPP_UTF8CHAR token.
* lex.c (lex_string(), _cpp_lex_direct()): Include CPP_UTF8CHAR tokens.
* charset.c (converter_for_type(), cpp_interpret_charconst()):
Treat CPP_UTF8CHAR token.

gcc/c-family:

2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4197 - Adding u8 character literals
* c-family/c-ada-spec.c (print_ada_macros()): Treat CPP_UTF8CHAR
like CPP_CHAR.
* c-family/c-common.c (c_parse_error()): print CPP_UTF8CHAR
and CPP_UTF8CHAR_USERDEF tokens.
* c-family/c-lex.c (c_lex_with_flags()): Treat CPP_UTF8CHAR_USERDEF
and CPP_UTF8CHAR tokens; (lex_charconst()): Treat CPP_UTF8CHAR token.

gcc/cp:

2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4197 - Adding u8 character literals
* parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
and CPP_UTF8CHAR_USERDEF tokens;
(cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.

gcc/testsuite:

2015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4197 - Adding u8 character literals
* g++.dg/cpp1z/utf8.C: New.
* g++.dg/cpp1z/utf8-neg.C: New.
* g++.dg/cpp1z/udlit-utf8char.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225185 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Jun 2015 12:54:23 +0000 (12:54 +0000)] 
2015-06-30  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
(X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
* match.pd: ... to patterns here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225184 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * configure: Regenerate.
redi [Tue, 30 Jun 2015 12:53:14 +0000 (12:53 +0000)] 
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225183 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Jun 2015 12:52:55 +0000 (12:52 +0000)] 
2015-06-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66704
* tree-vect-data-refs.c (vect_setup_realignment): Use
make_ssa_name for non-SSA name source.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225182 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRun testsuite/libgomp.c++/c++.exp at -O2 by default
vries [Tue, 30 Jun 2015 12:22:04 +0000 (12:22 +0000)] 
Run testsuite/libgomp.c++/c++.exp at -O2 by default

2015-06-30  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
already set.  Use DEFAULT_CFLAGS in dg-runtest.
* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
* testsuite/libgomp.c++/pr64824.C: Same.
* testsuite/libgomp.c++/pr64868.C: Same.
* testsuite/libgomp.c++/pr66199-1.C: Same.
* testsuite/libgomp.c++/pr66199-2.C: Same.
* testsuite/libgomp.c++/target-2.C: Same.
* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
-std=<standard> option.
* testsuite/libgomp.c++/udr-11.C: Same.
* testsuite/libgomp.c++/udr-12.C: Same.
* testsuite/libgomp.c++/udr-13.C: Same.
* testsuite/libgomp.c++/udr-14.C: Same.
* testsuite/libgomp.c++/udr-15.C: Same.
* testsuite/libgomp.c++/udr-16.C: Same.
* testsuite/libgomp.c++/udr-17.C: Same.
* testsuite/libgomp.c++/udr-18.C: Same.
* testsuite/libgomp.c++/udr-19.C: Same.
* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
* testsuite/libgomp.c++/simd-1.C: Same.
* testsuite/libgomp.c++/simd-2.C: Same.
* testsuite/libgomp.c++/simd-3.C: Same.
* testsuite/libgomp.c++/simd-4.C: Same.
* testsuite/libgomp.c++/simd-5.C: Same.
* testsuite/libgomp.c++/simd-6.C: Same.
* testsuite/libgomp.c++/simd-7.C: Same.
* testsuite/libgomp.c++/simd-8.C: Same.
* testsuite/libgomp.c++/simd-9.C: Same.
* testsuite/libgomp.c++/simd10.C: Same.
* testsuite/libgomp.c++/simd11.C: Same.
* testsuite/libgomp.c++/simd12.C: Same.
* testsuite/libgomp.c++/simd13.C: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225181 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/66702
jakub [Tue, 30 Jun 2015 12:12:42 +0000 (12:12 +0000)] 
PR middle-end/66702
* omp-low.c (simd_clone_adjust): Handle addressable linear
or uniform parameters or non-gimple type uniform parameters.

* testsuite/libgomp.c++/pr66702-1.C: New test.
* testsuite/libgomp.c++/pr66702-2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225179 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Jun 2015 11:58:48 +0000 (11:58 +0000)] 
2015-06-30  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
* match.pd: ... here.
Add a few cases of A - B -> A + (-B) when B "easily" negates.
Move (x & y) | x -> x and friends before
(x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225178 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.dg/fold-ior-2.c (fn4): Swap operands.
mpolacek [Tue, 30 Jun 2015 11:05:13 +0000 (11:05 +0000)] 
* gcc.dg/fold-ior-2.c (fn4): Swap operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225174 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/sparc/leon.md (leon_load): Enable for all LEON variants if
ebotcazou [Tue, 30 Jun 2015 11:05:11 +0000 (11:05 +0000)] 
* config/sparc/leon.md (leon_load): Enable for all LEON variants if
-mfix-ut699 is not specified.
(leon3_load): Rename into...
(ut699_load): ...this.  Enable for all LEON variants if -mfix-ut699
is specified.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225173 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd parloops-exit-first-loop-alt-{5,6,7}.c
vries [Tue, 30 Jun 2015 11:00:32 +0000 (11:00 +0000)] 
Add parloops-exit-first-loop-alt-{5,6,7}.c

2015-06-30  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/parloops-exit-first-loop-alt-5.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-6.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-7.c: New test.
* gcc.dg/parloops-exit-first-loop-alt.c: Update comment.

* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225172 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * fold-const.c (fold_binary_loc): Move ~X | X folding ...
mpolacek [Tue, 30 Jun 2015 09:02:00 +0000 (09:02 +0000)] 
* fold-const.c (fold_binary_loc): Move ~X | X folding ...
* match.pd: ... here.

* gcc.dg/fold-ior-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225164 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Jun 2015 08:52:48 +0000 (08:52 +0000)] 
2015-06-30  Richard Biener  <rguenther@suse.de>

* target-insns.def (canonicalize_funcptr_for_compare): Add.
* fold-const.c (build_range_check): Replace uses of
HAVE_canonicalize_funcptr_for_compare.
(fold_widened_comparison): Likewise.
(fold_sign_changed_comparison): Likewise.
* dojump.c: Include "target.h".
(do_compare_and_jump): Replace uses of
HAVE_canonicalize_funcptr_for_compare and
gen_canonicalize_funcptr_for_compare.
* expr.c (do_store_flag): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225163 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse max_loop_iterations in transform_to_exit_first_loop_alt
vries [Tue, 30 Jun 2015 08:35:57 +0000 (08:35 +0000)] 
Use max_loop_iterations in transform_to_exit_first_loop_alt

2015-06-30  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66652
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
max_loop_iterations to determine if nit + 1 overflows.

* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
using restrict pointers.
(main): Add arguments to calls to f.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.

* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-3.c (f):  Rewrite using restrict
pointers.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225162 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-30 Richard Biener <rguenther@suse.de>
rguenth [Tue, 30 Jun 2015 08:35:30 +0000 (08:35 +0000)] 
2015-06-30  Richard Biener  <rguenther@suse.de>

* tree-vrp.c (register_edge_assert_for_2): Also register
asserts for dominating conversion results.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225161 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * lex.c (search_line_sse42) [__GCC_ASM_FLAG_OUTPUTS__]: New main
uros [Tue, 30 Jun 2015 08:26:57 +0000 (08:26 +0000)] 
* lex.c (search_line_sse42) [__GCC_ASM_FLAG_OUTPUTS__]: New main
loop using asm flag outputs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225160 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
amker [Tue, 30 Jun 2015 02:39:54 +0000 (02:39 +0000)] 
* tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
field in struct iv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225159 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/66509
mrs [Tue, 30 Jun 2015 02:10:43 +0000 (02:10 +0000)] 
PR target/66509
* configure.ac: Fix filds and fildq test for 64-bit.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225158 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 30 Jun 2015 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225157 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
nathan [Mon, 29 Jun 2015 23:23:10 +0000 (23:23 +0000)] 
* config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
(nvptx_reorg): Here.  Keep the non-subreg pieces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225154 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago/cp
paolo [Mon, 29 Jun 2015 22:02:08 +0000 (22:02 +0000)] 
/cp
2015-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65977
* decl.c (grokfndecl): Allow constexpr declarations of friend
template specializations.

/testsuite
2015-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65977
* g++.dg/cpp0x/constexpr-friend-3.C: New.
* g++.dg/cpp0x/constexpr-friend-2.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225148 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse PIE_SPEC/NO_PIE_SPEC for crtend.o/crtendS.o
hjl [Mon, 29 Jun 2015 20:50:57 +0000 (20:50 +0000)] 
Use PIE_SPEC/NO_PIE_SPEC for crtend.o/crtendS.o

We need to link with crtend.o and crtendS.o properly for GCC configured
to generate PIE by default.

* config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225144 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 29 Jun 2015 20:17:56 +0000 (20:17 +0000)] 
2015-06-29  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
to pre-C++11 mode.
* include/debug/functions.h
(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
* include/debug/safe_iterator.h
(__gnu_debug::_Sequence_traits): New.
(__gnu_debug::__get_distance_from_begin): New.
(__gnu_debug::__get_distance_to_end): New.
(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
distance information. Add optional check_dereferenceable parameter,
default true.
(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
default definition...
(__gnu_debug::__get_distance): New overload for _Safe_iterator.
(__gnu_debug::__unsafe): Likewise.
* include/debug/helper_functions.h: ...here. New.
(__gnu_debug::__unsafe): New helper function to remove safe iterator
layer.
* include/debug/stl_iterator.h: New. Include latter.
* include/bits/stl_iterator.h: Include latter in debug mode.
* include/debug/stl_iterator.tcc: Adapt.
* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
overload for _Safe_local_iterator.
(__gnu_debug::__unsafe): Likewise.
* include/debug/safe_local_iterator.tcc: Adapt.
* include/debug/macros.h (__glibcxx_check_valid_range2): New.
(__glibcxx_check_insert_range): Add _Dist parameter.
(__glibcxx_check_insert_range_after): Likewise.
(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
_GLIBCXX_DEBUG_PEDASSERT.
* include/debug/deque (deque<>::assign): Remove iterator debug layer
when possible.
(deque<>::insert): Likewise.
* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
(forward_list<>::splice_after): Use latter.
(forward_list<>::assign): Remove iterator debug layer when possible.
(forward_list<>::insert_after): Likewise.
(__gnu_debug::_Sequence_traits<>): Partial specialization.
* include/debug/list (list<>::assign): Remove iterator debug layer when
possible.
(list<>::insert): Likewise.
[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
* include/debug/map.h (map<>::insert): Remove iterator debug layer when
possible.
* include/debug/multimap.h (multimap<>::insert): Likewise.
* include/debug/set.h (set<>::insert): Likewise.
* include/debug/multiset.h (multiset<>::insert): Likewise.
* include/debug/string (basic_string<>::append, basic_string<>::assign,
basic_string<>::insert, basic_string<>::replace): Likewise.
* include/debug/unordered_map
(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
* include/debug/unordered_set
(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
* include/debug/vector
(vector<>::assign, vector<>::insert): Likewise.
* include/Makefile.am: Add new debug headers.
* include/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225143 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR ada/63310
ebotcazou [Mon, 29 Jun 2015 17:45:34 +0000 (17:45 +0000)] 
PR ada/63310
* gcc-interface/utils.c (gnat_write_global_declarations): Always
build the dummy global variable if code was generated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225139 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.md (*jcc_1): Use %! in asm template.
uros [Mon, 29 Jun 2015 17:18:17 +0000 (17:18 +0000)] 
* config/i386/i386.md (*jcc_1): Use %! in asm template.
Set attribute "length_nobnd" instead of "length".
(*jcc_2): Ditto.
(jump): Ditto.
(*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225138 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
sandra [Mon, 29 Jun 2015 17:01:52 +0000 (17:01 +0000)] 
2015-06-29  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (nios2_delegitimize_address): Make
assert less restrictive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225137 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoWunused-parameter warnings are given from cgraph::finalize_function,
manu [Mon, 29 Jun 2015 16:25:26 +0000 (16:25 +0000)] 
Wunused-parameter warnings are given from cgraph::finalize_function,
which is the middle-end. This is an oddity compared to other
-Wunused-* warnings. Moreover, Fortran has its own definition of
-Wunused-parameter that conflicts with the middle-end definition.

This patch moves the middle-end part of Wunused-parameter to the C/C++
FEs. I'm not sure if other FEs expected this warning to work. If so,
they do not seem to test for it. Ada, for example, explicitly disables
it.

gcc/ChangeLog:

2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/66605
* cgraphunit.c (cgraph_node::finalize_function): Do not call
do_warn_unused_parameter.
* function.c (do_warn_unused_parameter): Move from here.
* function.h (do_warn_unused_parameter): Do not declare.

gcc/c-family/ChangeLog:

2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/66605
* c-common.c (do_warn_unused_parameter): Move here.
* c-common.h (do_warn_unused_parameter): Declare.

gcc/ada/ChangeLog:

2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/66605
* gcc-interface/misc.c (gnat_post_options): No need to disable
warn_unused_parameter anymore.

gcc/cp/ChangeLog:

2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/66605
* decl.c (finish_function): Call do_warn_unused_parameter.

gcc/testsuite/ChangeLog:

2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/66605
* gfortran.dg/wunused-parameter.f90: New test.

gcc/c/ChangeLog:

2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/66605
* c-decl.c (finish_function): Call do_warn_unused_parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225135 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
mwahab [Mon, 29 Jun 2015 16:12:12 +0000 (16:12 +0000)] 
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>

PR target/65697
* gcc.target/arm/armv-sync-comp-swap.c: New.
* gcc.target/arm/armv-sync-op-acquire.c: New.
* gcc.target/arm/armv-sync-op-full.c: New.
* gcc.target/arm/armv-sync-op-release.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225134 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
mwahab [Mon, 29 Jun 2015 16:09:10 +0000 (16:09 +0000)] 
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>

PR target/65697
* config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
initial acquire barrier with final barrier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225133 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
mwahab [Mon, 29 Jun 2015 16:03:34 +0000 (16:03 +0000)] 
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>

PR target/65697
* config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
initial acquire barrier with final barrier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225132 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * sv.po: Update.
jsm28 [Mon, 29 Jun 2015 15:58:13 +0000 (15:58 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225130 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoi386: Implement asm flag outputs
rth [Mon, 29 Jun 2015 14:35:19 +0000 (14:35 +0000)] 
i386: Implement asm flag outputs

        * config/i386/constraints.md (Bf): New constraint.
        * config/i386/i386-c.c (ix86_target_macros): Define
        __GCC_ASM_FLAG_OUTPUTS__.
        * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
        as flags outputs.
        * doc/extend.texi (FlagOutputOperands): Document them.
testsuite/
        * gcc.target/i386/asm-flag-1.c: New.
        * gcc.target/i386/asm-flag-2.c: New.
        * gcc.target/i386/asm-flag-3.c: New.
        * gcc.target/i386/asm-flag-4.c: New.
        * gcc.target/i386/asm-flag-5.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225122 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Generalize TLSLE macro and pattern names
jiwang [Mon, 29 Jun 2015 14:20:50 +0000 (14:20 +0000)] 
[AArch64] Generalize TLSLE macro and pattern names

2015-06-29  Jiong Wang  <jiong.wang@arm.com>

* config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
* config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
unspec name.
(tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
* config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
(aarch64_symbol_context): Ditto.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
and use new pattern name.
(aarch64_expand_mov_immediate): Ditto.
(aarch64_print_operand): Ditto.
(aarch64_classify_tls_symbol): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225121 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
mpolacek [Mon, 29 Jun 2015 14:17:13 +0000 (14:17 +0000)] 
* fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
* match.pd: ... pattern here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225120 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSimplify structure try_transform_to_exit_first_loop_alt
vries [Mon, 29 Jun 2015 13:53:32 +0000 (13:53 +0000)] 
Simplify structure try_transform_to_exit_first_loop_alt

2015-06-29  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
function structure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225119 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
mwahab [Mon, 29 Jun 2015 13:50:42 +0000 (13:50 +0000)] 
2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>

* doc/invoke.texi (Aarch64 Options, -march): Split out arch and
feature description, split out the native option, add a link to
the feature documentation, rearrange and slightly rewrite text.
(Aarch64 options, -mcpu): Likewise.
(Aarch64 options, Feature Modifiers): Add an anchor.  Mention
+rdma implies Adv. SIMD.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225118 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/66322
mpolacek [Mon, 29 Jun 2015 13:12:44 +0000 (13:12 +0000)] 
PR c/66322
* c-common.c (check_case_bounds): Add bool * parameter.  Set
OUTSIDE_RANGE_P.
(c_add_case_label): Add bool * parameter.  Pass it down to
check_case_bounds.
(c_do_switch_warnings): Add bool parameters.  Implement -Wswitch-bool
warning here.
* c-common.h (c_add_case_label, c_do_switch_warnings): Update
declarations.

* c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
(c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P.  Don't warn
about -Wswitch-bool here.
(do_case): Update c_add_case_label call.
(c_finish_case): Update c_do_switch_warnings call.

* decl.c (struct cp_switch): Add OUTSIDE_RANGE_P.
(push_switch): Set OUTSIDE_RANGE_P.
(pop_switch): Update c_do_switch_warnings call.
(finish_case_label): Update c_add_case_label call.
* semantics.c (finish_switch_cond): Don't warn about -Wswitch-bool
here.

* function.c (stack_protect_epilogue): Remove a cast to int.
* doc/invoke.texi: Update -Wswitch-bool description.

* c-c++-common/pr60439.c: Add dg-prune-output and add switch cases.
* c-c++-common/pr66322.c: New test.
* g++.dg/eh/scope1.C: Remove dg-warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225116 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Jun 2015 11:28:17 +0000 (11:28 +0000)] 
2015-06-29  Richard Biener  <rguenther@suse.de>

* genmatch.c (add_operator): Treat ADDR_EXPR as atom.
* fold-const.c (fold_binary_loc): Move &A - &B simplification
via ptr_difference_const ...
* match.pd: ... here.
When matching (X ^ Y) == Y also match with swapped operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225115 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Jun 2015 08:44:56 +0000 (08:44 +0000)] 
2015-06-29  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (LTO_major_version): Bump to 5.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225113 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-29 Richard Biener <rguenther@suse.de>
rguenth [Mon, 29 Jun 2015 07:30:47 +0000 (07:30 +0000)] 
2015-06-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66677
* tree-vect-stmts.c (vect_transform_stmt): Make assert about
STMT_VINFO_VEC_STMT clobbering less strict.

* gcc.dg/vect/pr66677.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225112 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 29 Jun 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225111 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/ChangeLog:
kugan [Mon, 29 Jun 2015 00:15:41 +0000 (00:15 +0000)] 
gcc/ChangeLog:

2015-06-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/64130
* tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
division, compute max and min when value ranges for dividend and
divisor are available.

gcc/testsuite/ChangeLog:

2015-06-29  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/64130
* gcc.dg/tree-ssa/pr64130.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225108 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * Add forgotten ChangeLog entry.
uros [Sun, 28 Jun 2015 21:28:07 +0000 (21:28 +0000)] 
* Add forgotten ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225107 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
sandra [Sun, 28 Jun 2015 20:46:01 +0000 (20:46 +0000)] 
2015-06-28  Chung-Lin Tang <cltang@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* regrename.h (regrename_do_replace): Change to return bool.
* regrename.c (rename_chains): Check return value of
regname_do_replace.
(regrename_do_replace): Re-validate the modified insns and
return bool status.
* config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
Update to match rename_chains changes.
* config/c6x/c6x.c (try_rename_operands): Assert that
regrename_do_replace returns true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225106 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
uros [Sun, 28 Jun 2015 19:38:56 +0000 (19:38 +0000)] 
* config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
operand 2 here.  Use copy_addr_to_reg to copy non-index
register operand 2 to a temporary.
(<mode>_stx): Ditto for operand 1.
(*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
* config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
(ix86_store_bounds): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225105 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 28 Jun 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225103 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMake debug_tree() print the length of a TREE_VEC
ppalka [Sat, 27 Jun 2015 18:43:11 +0000 (18:43 +0000)] 
Make debug_tree() print the length of a TREE_VEC

gcc/ChangeLog:

* print-tree.c (print_node) [TREE_VEC]: Print its length.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225100 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * call.c: Use VECTOR_TYPE_P.
mpolacek [Sat, 27 Jun 2015 10:40:21 +0000 (10:40 +0000)] 
* call.c: Use VECTOR_TYPE_P.
* constexpr.c: Likewise.
* cvt.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* init.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225099 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * call.c (set_up_extended_ref_temp): Use VAR_P.
mpolacek [Sat, 27 Jun 2015 10:39:31 +0000 (10:39 +0000)] 
* call.c (set_up_extended_ref_temp): Use VAR_P.
* class.c: Use VAR_P throughout.
* constexpr.c (cxx_eval_constant_expression): Use VAR_P.
* cp-array-notation.c (make_triplet_val_inv): Likewise.
* decl.c: Use VAR_OR_FUNCTION_DECL_P or VAR_P
throughout.
* decl2.c: Likewise.
* error.c (dump_decl): Use VAR_P.
* mangle.c (decl_implicit_alias_p): Likewise.
* parser.c: Use VAR_P throughout.
* pt.c: Likewise.
* semantics.c: Likewise.
* vtable-class-hierarchy.c: Likewise.
* tree.c (handle_abi_tag_attribute): Use VAR_OR_FUNCTION_DECL_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225098 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* pt.c (check_unstripped_args): Mark parameter as unused.
schwab [Sat, 27 Jun 2015 08:40:34 +0000 (08:40 +0000)] 
* pt.c (check_unstripped_args): Mark parameter as unused.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225095 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 27 Jun 2015 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225093 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-26 Andrew MacLeod <amacleod@redhat.com>
amacleod [Fri, 26 Jun 2015 23:30:37 +0000 (23:30 +0000)] 
2015-06-26  Andrew MacLeod  <amacleod@redhat.com>

* gimple.c (gimple_call_set_fndecl): Remove.
* gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
build1_loc directly instead of build_fold_addr_expr_loc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225090 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
mpolacek [Fri, 26 Jun 2015 22:35:29 +0000 (22:35 +0000)] 
* c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
or VECTOR_INTEGER_TYPE_P throughout.
* c-gimplify.c: Likewise.

* c-typeck.c: Use VECTOR_TYPE_P throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225089 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/66216
jason [Fri, 26 Jun 2015 21:31:13 +0000 (21:31 +0000)] 
PR c++/66216
* class.c (finish_struct): Call fixup_attribute_variants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225087 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/66684
jason [Fri, 26 Jun 2015 21:31:08 +0000 (21:31 +0000)] 
PR c++/66684
* typeck2.c (merge_exception_specifiers): Allow different
noexcept-specifiers if we've had errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225086 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/66255
jason [Fri, 26 Jun 2015 20:33:46 +0000 (20:33 +0000)] 
PR c++/66255
* pt.c (check_unstripped_args): Split out from...
(retrieve_specialization): ...here.  Allow typedefs in the type of
a non-type argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225084 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/66067
jason [Fri, 26 Jun 2015 20:33:41 +0000 (20:33 +0000)] 
PR c++/66067
* mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to
TYPE_DECLs.
* mangle.c (write_template_args): Handle 0 length TREE_VEC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225083 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/66654
jason [Fri, 26 Jun 2015 20:33:35 +0000 (20:33 +0000)] 
PR c++/66654
* typeck2.c (digest_init_r): Only expect reshaping if the class is
aggregate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225082 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoImplement N4258 (Cleaning-up noexcept in the Library rev 3)
redi [Fri, 26 Jun 2015 20:10:24 +0000 (20:10 +0000)] 
Implement N4258 (Cleaning-up noexcept in the Library rev 3)

* doc/xml/manual/intro.xml: Document LWG 2108 status.
* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
Define.
* include/bits/allocator.h (allocator::is_always_equal): Likewise.
* include/bits/forward_list.h
(forward_list::operator=(forward_list&&)): Use __bool_constant.
(forward_list::swap(forward_list&)): Add noexcept.
* include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
Likewise.
(_Hashtable::swap(_Hashtable&)): Likewise.
* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
Use _Alloc_traits::is_always_equal.
(deque::operator=(deque&&)): Likewise.
(deque::_M_move_assign1(deque&&, false_type)): Add comment and use
__bool_constant.
(swap(deque&, deque&)): Add noexcept.
* include/bits/stl_list.h (list::operator=(list&&)): Use
__bool_constant.
(swap(list&, list&)): Add noexcept.
* include/bits/stl_map.h (map::swap(map&)): Include _Compare in
noexcept.
(swap(map&, map&)): Add noexcept.
* include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
_Compare in noexcept.
(swap(multimap&, multimap&)): Add noexcept.
* include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
_Compare in noexcept.
(swap(multiset&, multiset&)): Add noexcept.
* include/bits/stl_set.h (set::swap(set&)): Include _Compare in
noexcept.
(swap(set&, set&)): Add noexcept.
* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
_Compare in noexcept.
(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
is_always_equal.
* include/bits/stl_vector.h (vector::operator=(vector&&)): Use
__bool_constant.
(swap(vector&, vector&)): Add noexcept.
* include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
swap(unordered_multimap& unordered_multimap&)): Add noexcept.
* include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
swap(unordered_multiset& unordered_multiset&)): Add noexcept.
* include/ext/alloc_traits.h (__allocator_always_compares_equal):
Remove.
(__alloc_traits::_S_always_equal()): Use is_always_equal instead of
__allocator_always_compares_equal.
* include/ext/array_allocator.h (array_allocator::is_always_equal):
Define.
* include/std/scoped_allocator (__any_of, __propagate_on_copy,
__propagate_on_move, __propagate_on_swap): Remove.
(scoped_allocator_adaptor::propagate_on_container_copy_assignment,
scoped_allocator_adaptor::propagate_on_container_move_assignment,
scoped_allocator_adaptor::propagate_on_container_swap): Define with
__and_ instead of __any_of.
(scoped_allocator_adaptor::is_always_equal): Define.
* testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
* testsuite/20_util/scoped_allocator/propagation.cc: Make traits
derive from true_type or false_type.
* testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
is_always_equal member and remove the trait specialization.
* testsuite/23_containers/vector/52591.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225081 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
mpolacek [Fri, 26 Jun 2015 19:55:12 +0000 (19:55 +0000)] 
* array-notation-common.c (find_rank): Use INDIRECT_REF_P.
* c-common.c (c_fully_fold_internal): Likewise.
(c_alignof_expr): Likewise.
* c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
* c-ubsan.c (ubsan_instrument_bounds): Likewise.
* cilk.c (create_parm_list): Likewise.

* c-array-notation.c (fix_builtin_array_notation_fn): Use
INDIRECT_REF_P.
* c-typeck.c (array_to_pointer_conversion): Likewise.
(build_unary_op): Likewise.
(c_finish_return): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225080 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
redi [Fri, 26 Jun 2015 17:26:38 +0000 (17:26 +0000)] 
* include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
* include/bits/stl_map.h (map::map()): Likewise.
* include/bits/stl_multimap.h (multimap::multimap()): Likewise.
* include/bits/stl_multiset.h (multiset::multiset()): Likewise.
* include/bits/stl_set.h (set::set()): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225024 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
rsandifo [Fri, 26 Jun 2015 16:50:19 +0000 (16:50 +0000)] 
gcc/
* hash-map.h (hash_map::traverse): Use the definition of the
Key typedef rather than the typedef itself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225021 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR 66301 - check for dump_file in eliminate_dom_walker::before_dom_children
jamborm [Fri, 26 Jun 2015 14:59:11 +0000 (14:59 +0000)] 
Fix PR 66301 - check for dump_file in eliminate_dom_walker::before_dom_children

2015-06-26  Martin Jambor  <mjambor@suse.cz>

PR debug/66301
* tree-ssa-pre.c (before_dom_children): Check that dump_file is not
NULL instead of calling dump_enabled_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225019 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64 4/4] Add -moverride tuning command, and wire it up for
jgreenhalgh [Fri, 26 Jun 2015 14:04:12 +0000 (14:04 +0000)] 
[Patch AArch64 4/4] Add -moverride tuning command, and wire it up for
 control of fusion and fma-steering

gcc/

* config/aarch64/aarch64.opt: (override): New.
* doc/invoke.texi (override): Document.
* config/aarch64/aarch64.c (aarch64_flag_desc): New
(aarch64_fusible_pairs): Likewise.
(aarch64_tuning_flags): Likewise.
(aarch64_tuning_override_function): Likewise.
(aarch64_tuning_override_functions): Likewise.
(aarch64_parse_one_option_token): Likewise.
(aarch64_parse_boolean_options): Likewise.
(aarch64_parse_fuse_string): Likewise.
(aarch64_parse_tune_string): Likewise.
(aarch64_parse_one_override_token): Likewise.
(aarch64_parse_override_string): Likewise.
(aarch64_override_options): Parse the -override string if it
is present.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225018 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][2/2] Implement -fpic for -mcmodel=small
jiwang [Fri, 26 Jun 2015 14:00:56 +0000 (14:00 +0000)] 
[AArch64][2/2] Implement -fpic for -mcmodel=small

2015-06-26  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
  SYMBOL_SMALL_GOT_28K.
  * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
  relocation modifiers.
  (unspec): New enum "UNSPEC_GOTMALLPIC28K.
  (ldr_got_small_28k_<mode>): New.
  (ldr_got_small_28k_sidi): New.
  * config/aarch64/iterators.md (got_modifier): New mode iterator.
  * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
  * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
  SYMBOL_SMALL_GOT_28K.
  (aarch64_rtx_costs): Add costs for new instruction sequences.
  (initialize_aarch64_code_model): Initialize new model.
  (aarch64_classify_symbol): Recognize new model and new symbol classification.
  (aarch64_asm_preferred_eh_data_format): Support new model.
  (aarch64_load_symref_appropriately): Generate new instruction
  sequences for -fpic.
  (TARGET_USE_PSEUDO_PIC_REG): New definition.
  (aarch64_use_pseudo_pic_reg): New function.

gcc/testsuite/
  * gcc.target/aarch64/pic-small.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225017 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64 3/4] De-const-ify struct tune_params
jgreenhalgh [Fri, 26 Jun 2015 13:58:29 +0000 (13:58 +0000)] 
[Patch AArch64 3/4] De-const-ify struct tune_params

gcc/

* config/aarch64/aarch64-protos.h (tune_params): Remove
const from members.
(aarch64_tune_params): Remove const, change to no longer be
a pointer.
* config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
change to no longer be a pointer, initialize to generic_tunings.
(aarch64_min_divisions_for_recip_mul): Change dereference of
aarch64_tune_params to member access.
(aarch64_reassociation_width): Likewise.
(aarch64_rtx_mult_cost): Likewise.
(aarch64_address_cost): Likewise.
(aarch64_branch_cost): Likewise.
(aarch64_rtx_costs): Likewise.
(aarch64_register_move_cost): Likewise.
(aarch64_memory_move_cost): Likewise.
(aarch64_sched_issue_rate): Likewise.
(aarch64_builtin_vectorization_cost): Likewise.
(aarch64_override_options): Take a copy of the selected tuning
struct in to aarch64_tune_params, rather than just setting
a pointer, change dereferences of aarch64_tune_params to member
accesses.
(aarch64_override_options_after_change): Change dereferences of
aarch64_tune_params to member access.
(aarch64_macro_fusion_p): Likewise.
(aarch_macro_fusion_pair_p): Likewise.
* config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225016 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64 2/4] Control the FMA steering pass in tuning structures rather than...
jgreenhalgh [Fri, 26 Jun 2015 13:57:16 +0000 (13:57 +0000)] 
[Patch AArch64 2/4] Control the FMA steering pass in tuning  structures rather than as core property

gcc/

* config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
(aarch64_tune_flags): Likewise.
(AARCH64_TUNE_FMA_STEERING): Likewise.
* config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
to AARCH64_FL_USE_FMA_STEERING_PASS.
(cortex-a57.cortex-a53): Likewise.
(cortex-a72): Use cortexa72_tunings.
(cortex-a72.cortex-a53): Likewise.
(exynos-m1): Likewise.
* config/aarch64/aarch64-protos.h (tune_params): Add
a field: extra_tuning_flags.
* config/aarch64/aarch64-tuning-flags.def: New.
* config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
(aarch64_extra_tuning_flags): Likewise.
(aarch64_tune_params): Declare here.
* config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(xgene1_tunings): Likewise.
(cortexa72_tunings): New.
* config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
 (gate): Check against aarch64_tune_params.
* config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
aarch64-protos.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225015 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch AArch64 1/4] Define candidates for instruction fusion in a .def file
jgreenhalgh [Fri, 26 Jun 2015 13:54:53 +0000 (13:54 +0000)] 
[Patch AArch64 1/4] Define candidates for instruction fusion in a .def file

gcc/

* config/aarch64/aarch64-fusion-pairs.def: New.
* config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
* config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
aarch64_fusion_pairs.
(AARCH64_FUSE_MOV_MOVK): Likewise.
(AARCH64_FUSE_ADRP_ADD): Likewise.
(AARCH64_FUSE_MOVK_MOVK): Likewise.
(AARCH64_FUSE_ADRP_LDR): Likewise.
(AARCH64_FUSE_CMP_BRANCH): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225014 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][1/2] Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G
jiwang [Fri, 26 Jun 2015 13:41:24 +0000 (13:41 +0000)] 
[AArch64][1/2] Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G

2015-06-26  Jiong Wang  <jiong.wang@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
(aarch64_expand_mov_immediate): Ditto.
(aarch64_print_operand): Ditto.
(aarch64_classify_symbol): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225013 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.md (call_operation): Remove unused variables.
nathan [Fri, 26 Jun 2015 12:33:33 +0000 (12:33 +0000)] 
* config/nvptx/nvptx.md (call_operation): Remove unused variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225009 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR bootstrap/66638
amker [Fri, 26 Jun 2015 11:12:20 +0000 (11:12 +0000)] 
PR bootstrap/66638
* tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
assertion failed.  Remove assertion itself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225008 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Jun 2015 10:59:27 +0000 (10:59 +0000)] 
2015-06-26  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
and -A CMP CST -> A CMP -CST which is redundant with a pattern
in match.pd.
Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
(X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
(X ^ C1) op C2 -> X op (C1 ^ C2) to ...
* match.pd: ... patterns here.

* gcc.dg/tree-ssa/forwprop-25.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225007 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMinor comment tweak.
ebotcazou [Fri, 26 Jun 2015 10:27:01 +0000 (10:27 +0000)] 
Minor comment tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225005 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
ebotcazou [Fri, 26 Jun 2015 10:25:04 +0000 (10:25 +0000)] 
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
at-end procedures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225004 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/gigi.h (note_types_used_by_globals): Delete.
ebotcazou [Fri, 26 Jun 2015 10:21:54 +0000 (10:21 +0000)] 
* gcc-interface/gigi.h (note_types_used_by_globals): Delete.
(gnat_write_global_declarations): New prototype.
* gcc-interface/utils.c (type_decls): Rename back to...
(global_decls): ...this.
(gnat_pushdecls): Revert previous change.
(create_var_decl): Do not output global variables.
(note_types_used_by_globals): Rename back to...
(gnat_write_global_declarations): ...this.  Output variables on the
global_decls vector.
* gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225003 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/gigi.h (create_var_decl_1): Rename into...
ebotcazou [Fri, 26 Jun 2015 10:17:00 +0000 (10:17 +0000)] 
* gcc-interface/gigi.h (create_var_decl_1): Rename into...
(create_var_decl): ...this.  Add default value for last parameter.
(create_type_stub_decl): Adjust.
(create_type_decl): Likewise.
(create_field_decl): Likewise.
(create_param_decl): Likewise.
(create_label_decl): Likewise.
(create_subprog_decl): Likewise.
* gcc-interface/utils.c (create_var_decl_1): Rename into...
(create_var_decl): ...this.  Rename var_name into name and var_init
into init, move const_decl_allowed_p last and adjust accordingly.
(create_type_stub_decl): Rename type_name into name and adjust.
(create_type_decl): Likewise.
(create_field_decl): Likewise for field_name and field_type.
(create_param_decl): Likewise for param_name and param_type.
(create_label_decl): Likewise for label_name.
(create_subprog_decl): Likewise for subprog_name and subprog_type.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
to create_var_decl_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225002 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * match.pd ((x | y) & ~(x & y) -> x ^ y,
mpolacek [Fri, 26 Jun 2015 10:13:49 +0000 (10:13 +0000)] 
* match.pd ((x | y) & ~(x & y) -> x ^ y,
(x | y) & (~x ^ y) -> x & y): New patterns.

* gcc.dg/fold-and-1.c: New test.
* gcc.dg/fold-and-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225001 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
rsandifo [Fri, 26 Jun 2015 10:06:56 +0000 (10:06 +0000)] 
gcc/
* rtl.h (emit): Add an optional boolean parameter to control
whether barriers are emitted.
* emit-rtl.c (emit): Likewise.
* gensupport.c (get_emit_function): Return null rather than "emit".
* genemit.c (gen_emit_seq): Handle the null return value.
Don't emit barriers after the final instruction in the sequence.
* gentarget-def.c (main): Don't emit barriers after the instruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225000 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
mpolacek [Fri, 26 Jun 2015 10:03:35 +0000 (10:03 +0000)] 
* cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
* cp-ubsan.c (cp_ubsan_check_member_access_r): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224999 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
ebotcazou [Fri, 26 Jun 2015 10:03:22 +0000 (10:03 +0000)] 
* gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
artificial, has_checks and warned_aggressive_loop_optimizations.
(gigi): Set warn_aggressive_loop_optimizations to 0.
(inside_loop_p): New inline predicate.
(push_range_check_info): Rename into...
(find_loop_for): ...this and do not push range_check_info_d object.
(Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
fields of gnu_loop_info.  Adjust detection of checks enabled by
-funswitch-loops and adds one for -faggressive-loop-optimizations.
(gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
are enabled, warn for loops overrunning an array of size 1 not at the
end of a record.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224998 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch ARM] Fix thinko in use of TARGET_UNIFIED_ASM
ramana [Fri, 26 Jun 2015 09:08:03 +0000 (09:08 +0000)] 
[Patch ARM] Fix thinko in use of TARGET_UNIFIED_ASM

While paving the way to turn on unified syntax in ARM state I came
across this use of TARGET_UNIFIED_ASM that really doesn't make sense.

The idea that pop has different encoding sizes is a property of the
Thumb instruction set rather than a property of which form of unified
syntax was used. I still have quite a large patch set for the unified
asm switch but it seems useful to get this one out of the way to catch
any other issues.

Tested with an appropriate set of multilibs on arm-none-eabi /
applied. Bootstrapped on armhf.

Applied to trunk.

2015-06-26  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.c (arm_output_multireg_pop): Fix use of
TARGET_UNIFIED_ASM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224997 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
mpolacek [Fri, 26 Jun 2015 08:07:23 +0000 (08:07 +0000)] 
* c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224996 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Jun 2015 07:50:12 +0000 (07:50 +0000)] 
2015-06-26  Richard Biener  <rguenther@suse.de>

* match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.

* gfortran.dg/reassoc_3.f90: Adjust.

2015-06-26  Richard Biener  <rguenther@suse.de>

* match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
irrespective on whether the inner operation has a single use
of both off are constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224995 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/66412
uros [Fri, 26 Jun 2015 07:45:07 +0000 (07:45 +0000)] 
PR target/66412
* config/i386/i386.md (various splitters): Use shallow_copy_rtx
before doing PUT_MODE or PUT_CODE on operands to avoid
in-place RTX modification.

testsuite/ChangeLog:

PR target/66412
* gcc.target/i386/pr66412.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224994 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCast return of strtol to unsigned int
hjl [Fri, 26 Jun 2015 02:35:12 +0000 (02:35 +0000)] 
Cast return of strtol to unsigned int

strtol returns long, which is compared against unsigned int.  On 32-bit
hosts, it leads to

gcc/gentarget-def.c: In function void def_target_insn(const char*, const char*):
gcc/gentarget-def.c:88:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

This patch casts return of strtol to unsigned int to avoid the error.

* gentarget-def.c (def_target_insn): Cast return of strtol to
unsigned int.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224993 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 26 Jun 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224992 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 23:45:50 +0000 (23:45 +0000)] 
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* gimple.h (gimple_call_set_fn): Move inline function.
* gimple.c (gimple_call_set_fn): Relocate here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224989 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
olegendo [Thu, 25 Jun 2015 23:12:07 +0000 (23:12 +0000)] 
gcc/
PR target/65979
PR target/66611
* config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
the replacement insn will work.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224988 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoValidate -pie if PIE is enabled by default
hjl [Thu, 25 Jun 2015 21:31:04 +0000 (21:31 +0000)] 
Validate -pie if PIE is enabled by default

When PIE is enabled by default, -pie is treated as nop in driver.  We
should simply validate it, instead of issue an error.

* gcc.c (driver_handle_option): Validate -pie if PIE is enabled
by default.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224987 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 18:32:38 +0000 (18:32 +0000)] 
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
* cgraph.h: Include ipa-ref.h and plugin-api.h.
(ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
(symtab_node::address_can_be_compared_p): Move function.
* cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
definition here.
* asan.c: Remove ipa-ref.h and plugin-api.h from include list.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfgexpand.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* coverage.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* data-streamer.c: Likewise.
* dbxout.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* ggc-page.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple.c: Likewise.
* gimplify.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-comdats.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf-gimple.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* omp-low.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* ree.c: Likewise.
* sanopt.c: Likewise.
* stor-layout.c: Likewise.
* symtab.c: Likewise.
* toplev.c: Likewise.
* trans-mem.c: Likewise.
* tree-cfg.c: Likewise.
* tree-chkp.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-inline.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* value-prof.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* config/arm/arm.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/tilegx/mul-tables.c: Likewise.

ada
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
list.
* gcc-interface/utils.c: Likewise.

c
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
* c-parser.c: Likewise.

c-family
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
* c-gimplify.c: Likewise.
* c-pragma.c: Likewise.
* c-ubsan.c: Likewise.
* cilk.c: Likewise.

cp
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* call.c: Remove ipa-ref.h and plugin-api.h from include list.
* class.c: Likewise.
* cp-ubsan.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* lambda.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* vtable-class-hierarchy.c: Likewise.

fortran
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
* trans-decl.c: Likewise.

go
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.

java
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* class.c: Remove ipa-ref.h and plugin-api.h from include list.
* decl.c: Likewise.
* jcf-parse.c: Likewise.
* resource.c: Likewise.

jit
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* dummy-frontend.c: Remove ipa-ref.h and plugin-api.h from include list.
* jit-playback.c: Likewise.

lto
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
* lto-tree.h: Likewise.
* lto.c: Likewise.

objc
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c: Remove ipa-ref.h and plugin-api.h from include list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224986 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
redi [Thu, 25 Jun 2015 18:23:41 +0000 (18:23 +0000)] 
* include/bits/locale_conv.h (__do_str_codecvt): Set __count.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224985 138bc75d-0d04-0410-961f-82ee72b054a4