gcc.git
8 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Jun 2016 12:12:42 +0000 (14:12 +0200)]
[multiple changes]

2016-06-14  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Only consider
nodes from sources.

2016-06-14  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb, gnat1drv.adb (Adjust_Global_Switches): Only disable
simple value propagation in CodePeer mode when warnings are disabled.
(Scan_Front_End_Switches): Enable relevant front-end switches
when using -gnateC.

2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Is_OK_Volatile_Context): A
reference to a volatile object is considered OK if appears as
the prefix of attributes Address, Alignment, Component_Size,
First_Bit, Last_Bit, Position, Size, Storage_Size.

2016-06-14  Yannick Moy  <moy@adacore.com>

* lib-xref-spark_specific.adb (Add_SPARK_File): Do not traverse
subunits directly, as they are already traversed as part of the
top-level unit to which they belong.
(Add_SPARK_Xrefs): Add assertions to ensure correct sorting.
(Generate_Dereference): Use unique definition place for special
variable __HEAP, to ensure correct sorting of references.
* lib-xref.adb (Generate_Reference): Use top-level unit in case
of subunits.
* lib.adb, lib.ads (Get_Top_Level_Code_Unit): New functions that
compute the top-level code unit for a source location of AST node,
that go past subunits.

From-SVN: r237431

8 years agozero_bits_compound-1.c: Support aarch64.
Andre Vieira [Tue, 14 Jun 2016 11:24:51 +0000 (11:24 +0000)]
zero_bits_compound-1.c: Support aarch64.

2016-06-14  Andre Vieira  <andre.simoesdiasvieira@arm.com>

gcc/testsuite/ChangeLog:
* gcc.dg/zero_bits_compound-1.c: Support aarch64.
* gcc.dg/zero_bits_compound-1.c: Likewise.

From-SVN: r237430

8 years agore PR tree-optimization/71522 (Wrong optimization of memcpy through a var of type...
Richard Biener [Tue, 14 Jun 2016 10:42:00 +0000 (10:42 +0000)]
re PR tree-optimization/71522 (Wrong optimization of memcpy through a var of type long double)

2016-06-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71522
* tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
copying into float copying.

* gcc.dg/torture/pr71522.c: New testcase.

From-SVN: r237429

8 years agore PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
Richard Biener [Tue, 14 Jun 2016 10:28:23 +0000 (10:28 +0000)]
re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)

2016-06-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71521
* tree-vrp.c (extract_range_from_binary_expr_1): Guard
division int_const_binop against zero divisor.

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

From-SVN: r237428

8 years agore PR tree-optimization/71520 (Missing cross-jumping of switch cases)
Jakub Jelinek [Tue, 14 Jun 2016 10:20:04 +0000 (12:20 +0200)]
re PR tree-optimization/71520 (Missing cross-jumping of switch cases)

PR tree-optimization/71520
* tree-ssa-tail-merge.c (find_duplicate): Handle labels.
(replace_block_by): Move user labels from bb1 to bb2.

* gcc.dg/tree-ssa/pr71520.c: New test.

From-SVN: r237427

8 years agore PR middle-end/71310 (Bitfields cause load hit store with smaller store and larger...
Richard Biener [Tue, 14 Jun 2016 07:26:52 +0000 (07:26 +0000)]
re PR middle-end/71310 (Bitfields cause load hit store with smaller store and larger load)

2016-06-14  Richard Biener  <rguenther@suse.de>

PR middle-end/71310
PR bootstrap/71510
* expr.h (get_bit_range): Declare.
* expr.c (get_bit_range): Export.
* fold-const.c (optimize_bit_field_compare): Use get_bit_range and
word_mode again to constrain the bitfield access.

From-SVN: r237426

8 years agore PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)
Richard Biener [Tue, 14 Jun 2016 07:22:04 +0000 (07:22 +0000)]
re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer)

2016-06-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71521
* tree-vrp.c (extract_range_from_binary_expr_1): Guard
division int_const_binop against zero divisor.

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

From-SVN: r237425

8 years agoescape: Implement assign phase.
Ian Lance Taylor [Tue, 14 Jun 2016 04:29:43 +0000 (04:29 +0000)]
escape: Implement assign phase.

    Implementation of the assign/connect phase.
    Statements containing expressions which alias local, parameter,
    and global objects are analyzed and the alias relationship between
    objects containing pointers are captured in a connection graph to
    summarize the assignments within a function.

    Reviewed-on: https://go-review.googlesource.com/18302

From-SVN: r237424

8 years agoDaily bump.
GCC Administrator [Tue, 14 Jun 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237423

8 years ago* Partially revert my previous commit.
Uros Bizjak [Mon, 13 Jun 2016 23:11:27 +0000 (01:11 +0200)]
* Partially revert my previous commit.

From-SVN: r237418

8 years agoi386-builtin-types.def (INT_FTYPE_FLOAT128): New function type.
Uros Bizjak [Mon, 13 Jun 2016 21:34:07 +0000 (23:34 +0200)]
i386-builtin-types.def (INT_FTYPE_FLOAT128): New function type.

* config/i386/i386-builtin-types.def (INT_FTYPE_FLOAT128):
New function type.
* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_SIGNBITQ]: New.
(ix86_init_builtins): Add __builtin_signbitq function.
(ix86_expand_args_builtin): Handle INT_FTYPE_FLOAT128.
(ix86_expand_builtin): Handle IX86_BUILTIN_SIGNBITQ.
* config/i386/i386.md (signbittf2): New expander.
* config/i386/sse.md (ptesttf2): New insn pattern.
* doc/extend.texi (x86 Built-in Functions): Document
__builtin_signbitq.

libgcc/ChangeLog:

* config.host (i[34567]86-*-* | x86_64-*-*): Always include
i386/${host_address}/t-softfp in tmake_file.
* config/i386/32/t-softfp: Update comment for __builtin_copysignq.
* config/i386/32/tf-signs.c: Add __signbittf2 fallback function.
* config/i386/64/t-softfp: New file.
* config/i386/64/tf-signs.c: Ditto.
* config/i386/libgcc-bsd.ver: Add __signbittf2.
* config/i386/libgcc-glibc.ver: Ditto.
* config/i386/libgcc-sol2.ver: Ditto.

testsuite/ChangeLog:

* gcc.target/i386/float128-3.c: New test.
* gcc.target/i386/quad-sse4.c: Ditto.
* gcc.target/i386/quad-sse.c: Use -msse instead of -msse2.
Update scan strings.

From-SVN: r237415

8 years agoPR bootstrap/71481: fix input.c selftest
David Malcolm [Mon, 13 Jun 2016 21:20:10 +0000 (21:20 +0000)]
PR bootstrap/71481: fix input.c selftest

gcc/ChangeLog:
PR bootstrap/71481
* input.c (selftest::test_reading_source_line): Avoid reading from
__FILE__ by creating a tempfile with known content and reading
from that instead.

From-SVN: r237414

8 years agopretty-print.c: skip color selftests if GCC_COLORS is set
David Malcolm [Mon, 13 Jun 2016 21:07:18 +0000 (21:07 +0000)]
pretty-print.c: skip color selftests if GCC_COLORS is set

gcc/ChangeLog:
* pretty-print.c (assert_pp_format_colored): Skip the test if
GCC_COLORS is set.
(test_pp_format): Remove comment about GCC_COLORS.

From-SVN: r237411

8 years agoselftests: improve reported failure locations
David Malcolm [Mon, 13 Jun 2016 21:04:07 +0000 (21:04 +0000)]
selftests: improve reported failure locations

This patch introduce a selftest::location struct to wrap up __FILE__
and __LINE__ information (and __FUNCTION__) throughout the selftests,
allowing location information to be passed around.

It updates the helper functions in pretty-print.c to pass through
the precise location of each test, so that if a failure occurs, the
correct line number is printed, rather than a line within a helper
function.

gcc/ChangeLog:
* input.c (test_reading_source_line): Use SELFTEST_LOCATION.
* pretty-print.c (assert_pp_format_va): Add location param and use
it with ASSERT_STREQ_AT.
(assert_pp_format): Add location param and pass it to
assert_pp_format_va.
(assert_pp_format_colored): Likewise.
(ASSERT_PP_FORMAT_1): New.
(ASSERT_PP_FORMAT_2): New.
(ASSERT_PP_FORMAT_3): New.
(test_pp_format): Provide SELFTEST_LOCATION throughout, either
explicitly, or implicitly via the above macros.
* selftest.c (selftest::pass): Use a selftest::location rather
than file and line.
(selftest::fail): Likewise.  Print the function name.
(selftest::fail_formatted): Likewise.
(selftest::assert_streq): Use a selftest::location rather than
file and line.
* selftest.h (selftest::location): New struct.
(SELFTEST_LOCATION): New macro.
(selftest::pass): Accept a const location & rather than file
and line.
(selftest::fail): Likewise.
(selftest::fail_formatted): Likewise.
(selftest::assert_streq): Likewise.
(ASSERT_TRUE): Update for above changes, using SELFTEST_LOCATION.
(ASSERT_FALSE): Likewise.
(ASSERT_EQ): Likewise.
(ASSERT_NE): Likewise.
(ASSERT_STREQ): Likewise.
(ASSERT_PRED1): Likewise.
(ASSERT_STREQ_AT): New macro.

From-SVN: r237410

8 years agore PR sanitizer/71498 (ubsan bounds checking influenced by surrounding code)
Jakub Jelinek [Mon, 13 Jun 2016 21:01:44 +0000 (23:01 +0200)]
re PR sanitizer/71498 (ubsan bounds checking influenced by surrounding code)

PR sanitizer/71498
* c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.

* c-c++-common/ubsan/bounds-13.c: New test.

From-SVN: r237409

8 years agore PR preprocessor/71183 (gcc -E always gives __DATE__ and __TIME__ as Jan 1 1970...
Jakub Jelinek [Mon, 13 Jun 2016 21:00:07 +0000 (23:00 +0200)]
re PR preprocessor/71183 (gcc -E always gives __DATE__ and __TIME__ as Jan  1 1970 00:00:00)

PR preprocessor/71183
* c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
to cb_get_source_date_epoch.

* gcc.dg/cpp/source_date_epoch-3.c: New test.

From-SVN: r237408

8 years agoselftest: show values when ASSERT_STREQ fails
David Malcolm [Mon, 13 Jun 2016 20:58:08 +0000 (20:58 +0000)]
selftest: show values when ASSERT_STREQ fails

Rework ASSERT_STREQ so that it prints the actual and expected values
to stderr when it fails (by moving it to a helper function).

gcc/ChangeLog:
* selftest.c (selftest::fail_formatted): New function.
(selftest::assert_streq): New function.
* selftest.h (selftests::fail_formatted): New decl.
(selftest::assert_streq): New decl.
(ASSERT_STREQ): Reimplement in terms of selftest::assert_streq.

From-SVN: r237404

8 years agore PR tree-optimization/71403 (wrong code (segfault) at -O3 on x86_64-linux-gnu)
Jeff Law [Mon, 13 Jun 2016 20:55:59 +0000 (14:55 -0600)]
re PR tree-optimization/71403 (wrong code (segfault) at -O3 on x86_64-linux-gnu)

PR tree-optimization/71403
* tree-ssa-threadbackward.c
(convert_and_register_jump_thread_path): No longer accept reference
to path.  Do not pop items off the path anymore.
(fsm_find_control_statement_thread_paths): Do not allow threading
to a deeper loop nest.  Pop the last item off the path here rather
than in convert_and_register_jump_thread_path.

PR tree-optimization/71403
* c-c++-common/ubsan/pr71403-1.c: New test.
* c-c++-common/ubsan/pr71403-2.c: New test.
* c-c++-common/ubsan/pr71403-3.c: New test.

From-SVN: r237403

8 years ago[AArch64] Emit division using the Newton series
Evandro Menezes [Mon, 13 Jun 2016 19:03:00 +0000 (19:03 +0000)]
[AArch64] Emit division using the Newton series

2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
            Wilco Dijkstra  <Wilco.Dijkstra@arm.com>

gcc/
* config/aarch64/aarch64-protos.h
(cpu_approx_modes): Add new member "division".
(aarch64_emit_approx_div): Declare new function.
* config/aarch64/aarch64.c
(generic_approx_modes): New member "division".
(exynosm1_approx_modes): Likewise.
(xgene1_approx_modes): Likewise.
(aarch64_emit_approx_div): Define new function.
* config/aarch64/aarch64.md ("div<mode>3"): New expansion.
* config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise.
* config/aarch64/aarch64.opt (-mlow-precision-div): Add new option.
* doc/invoke.texi (-mlow-precision-div): Describe new option.

From-SVN: r237397

8 years ago[AArch64] Emit square root using the Newton series
Evandro Menezes [Mon, 13 Jun 2016 19:02:56 +0000 (19:02 +0000)]
[AArch64] Emit square root using the Newton series

2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
            Wilco Dijkstra  <wilco.dijkstra@arm.com>

gcc/
* config/aarch64/aarch64-protos.h
(aarch64_emit_approx_rsqrt): Replace with new function
"aarch64_emit_approx_sqrt".
(cpu_approx_modes): New member "sqrt".
* config/aarch64/aarch64.c
(generic_approx_modes): New member "sqrt".
(exynosm1_approx_modes): Likewise.
(xgene1_approx_modes): Likewise.
(aarch64_emit_approx_rsqrt): Replace with new function
"aarch64_emit_approx_sqrt".
(aarch64_override_options_after_change_1): Handle new option.
* config/aarch64/aarch64-simd.md
(rsqrt<mode>2): Use new function instead.
(sqrt<mode>2): New expansion and insn definitions.
* config/aarch64/aarch64.md: Likewise.
* config/aarch64/aarch64.opt
(mlow-precision-sqrt): Add new option description.
* doc/invoke.texi (mlow-precision-sqrt): Likewise.

From-SVN: r237396

8 years ago[AArch64] Add more choices for the reciprocal square root approximation
Evandro Menezes [Mon, 13 Jun 2016 19:02:52 +0000 (19:02 +0000)]
[AArch64] Add more choices for the reciprocal square root approximation

Allow a target to prefer such operation depending on the operation mode.

gcc/
* config/aarch64/aarch64-protos.h
(AARCH64_APPROX_MODE): New macro.
(AARCH64_APPROX_{NONE,ALL}): Likewise.
(cpu_approx_modes): New structure.
(tune_params): New member "approx_modes".
* config/aarch64/aarch64-tuning-flags.def
(AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro.
* config/aarch64/aarch64.c
({generic,exynosm1,xgene1}_approx_modes): New core
"cpu_approx_modes" structures.
(generic_tunings): New member "approx_modes".
(cortexa35_tunings): Likewise.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(cortexa72_tunings): Likewise.
(exynosm1_tunings): Likewise.
(thunderx_tunings): Likewise.
(xgene1_tunings): Likewise.
(use_rsqrt_p): New argument for the mode and use new member from
"tune_params".
(aarch64_builtin_reciprocal): Devise mode from builtin.
(aarch64_optab_supported_p): New argument for the mode.
* doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description.

From-SVN: r237395

8 years agoinclhack.def (aix_stdlib_malloc): New fix.
David Edelsohn [Mon, 13 Jun 2016 18:59:43 +0000 (18:59 +0000)]
inclhack.def (aix_stdlib_malloc): New fix.

* inclhack.def (aix_stdlib_malloc): New fix.
(aix_stdlib_realloc): New fix.
(aix_stdlib_calloc): New fix.
(aix_stdlib_valloc): New fix.
* fixincl.x: Regenerate.
* test/base/stdlib.h [AIX_STDLIB_MALLOC]: New test.
[AIX_STDLIB_REALLOC]: New test.
[AIX_STDLIB_CALLOC]: New test.
[AIX_STDLIB_VALLOC]: New test.

From-SVN: r237394

8 years agore PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)
Jakub Jelinek [Mon, 13 Jun 2016 18:54:25 +0000 (20:54 +0200)]
re PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)

PR middle-end/71478
* gcc.dg/pr71478.c: Remove dg-require-effective-target vect_int.
Add -Wno-psabi -w to dg-options.

From-SVN: r237392

8 years agors6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of flags...
Kelvin Nilsen [Mon, 13 Jun 2016 18:30:40 +0000 (18:30 +0000)]
rs6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of flags that are considered to be...

gcc/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
RS6000_BTM_MODULO flag into the set of flags that are considered
to be part of the common configuration.

From-SVN: r237391

8 years agoaltivec.h (vec_absd): New macro for vector absolute difference unsigned.
Kelvin Nilsen [Mon, 13 Jun 2016 17:59:12 +0000 (17:59 +0000)]
altivec.h (vec_absd): New macro for vector absolute difference unsigned.

gcc/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
difference unsigned.
(vec_absdb): New macro for vector absolute difference unsigned
byte.
(vec_absdh): New macro for vector absolute difference unsigned
half-word.
(vec_absdw): New macro for vector absolute difference unsigned word.
* config/rs6000/altivec.md (UNSPEC_VADU): New value.
(vadu<mode>3): New insn.
(*p9_vadu<mode>3): New insn.
* config/rs6000/rs6000-builtin.def (vadub): New built-in
definition.
(vaduh): New built-in definition.
(vaduw): New built-in definition.
(vadu): New overloaded built-in definition.
(vadub): New overloaded built-in definition.
(vaduh): New overloaded built-in definition.
(vaduw): New overloaded built-in definition.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloaded vector absolute difference unsigned functions.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
the ISA 3.0 vector absolute difference unsigned built-in functions.

gcc/testsuite/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/vadsdu-0.c: New test.
* gcc.target/powerpc/vadsdu-1.c: New test.
* gcc.target/powerpc/vadsdu-2.c: New test.
* gcc.target/powerpc/vadsdu-3.c: New test.
* gcc.target/powerpc/vadsdu-4.c: New test.
* gcc.target/powerpc/vadsdu-5.c: New test.
* gcc.target/powerpc/vadsdub-1.c: New test.
* gcc.target/powerpc/vadsdub-2.c: New test.
* gcc.target/powerpc/vadsduh-1.c: New test.
* gcc.target/powerpc/vadsduh-2.c: New test.
* gcc.target/powerpc/vadsduw-1.c: New test.
* gcc.target/powerpc/vadsduw-2.c: New test.

From-SVN: r237390

8 years agotree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update shared_lookup...
Eric Botcazou [Mon, 13 Jun 2016 17:44:12 +0000 (17:44 +0000)]
tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update shared_lookup_references only once after changing...

* tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
update shared_lookup_references only once after changing operands.

From-SVN: r237388

8 years agoC: fixits for named initializers
David Malcolm [Mon, 13 Jun 2016 17:14:42 +0000 (17:14 +0000)]
C: fixits for named initializers

gcc/c/ChangeLog:
* c-parser.c (c_parser_initelt): Provide location of name for new
location_t param of set_init_label.
* c-tree.h (set_init_label): Add location_t param.
* c-typeck.c (set_init_index): Add "fieldname_loc" location_t
param and use it when issuing error messages about unrecognized
field names.  Attempt to provide a fixit hint if appropriate,
otherwise update the error message to provide the type name.

gcc/testsuite/ChangeLog:
* gcc.dg/c99-init-2.c (c): Update expected error message.
* gcc.dg/init-bad-8.c (foo): Likewise.
* gcc.dg/spellcheck-fields-3.c: New test case.

From-SVN: r237387

8 years ago[PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c
Thomas Schwinge [Mon, 13 Jun 2016 16:37:29 +0000 (18:37 +0200)]
[PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c

gcc/
PR middle-end/71373
* tree-nested.c (convert_nonlocal_omp_clauses)
(convert_local_omp_clauses): Document missing OMP_CLAUSE_*.

From-SVN: r237386

8 years agoadded "PR bootstrap/71481" to r237383's ChangeLog
Bernd Edlinger [Mon, 13 Jun 2016 16:22:05 +0000 (16:22 +0000)]
added  "PR bootstrap/71481" to r237383's ChangeLog

From-SVN: r237385

8 years agoFix CASE_CHAIN typos
Thomas Schwinge [Mon, 13 Jun 2016 16:10:35 +0000 (18:10 +0200)]
Fix CASE_CHAIN typos

gcc/
* tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
* tree.def (CASE_LABEL_EXPR): Likewise.

From-SVN: r237384

8 years agoinput.c (test_builtins): Fix an assertion.
Bernd Edlinger [Mon, 13 Jun 2016 15:45:54 +0000 (15:45 +0000)]
input.c (test_builtins): Fix an assertion.

2016-06-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

* input.c (test_builtins): Fix an assertion.

From-SVN: r237383

8 years agoi386.md (paritydi2): Use ix86_expand_setcc.
Uros Bizjak [Mon, 13 Jun 2016 14:38:51 +0000 (16:38 +0200)]
i386.md (paritydi2): Use ix86_expand_setcc.

* config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
(paritysi2): Ditto.
(isinfxf2): Ditto.
(isinf<mode>2): Ditto.

From-SVN: r237382

8 years agoggc-tests.c (test_finalization): Only test need_finalization_p for GCC_VERSION >...
Uros Bizjak [Mon, 13 Jun 2016 14:27:01 +0000 (16:27 +0200)]
ggc-tests.c (test_finalization): Only test need_finalization_p for GCC_VERSION >= 4003.

* ggc-tests.c (test_finalization): Only test need_finalization_p
for GCC_VERSION >= 4003.

From-SVN: r237381

8 years agoMake 'loop iv compare' heuristics scanning more precise
Martin Liska [Mon, 13 Jun 2016 14:03:51 +0000 (16:03 +0200)]
Make 'loop iv compare' heuristics scanning more precise

* gcc.dg/predict-1.c: Distinguish between "loop iv compare"
and "guess loop iv compared" heuristics.
* gcc.dg/predict-2.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/predict-4.c: Likewise.
* gcc.dg/predict-5.c: Likewise.
* gcc.dg/predict-6.c: Likewise.

From-SVN: r237380

8 years agoS/390: vecintrin.h fix file description in comment
Andreas Krebbel [Mon, 13 Jun 2016 12:05:43 +0000 (12:05 +0000)]
S/390: vecintrin.h fix file description in comment

gcc/ChangeLog:

2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/vecintrin.h: Fix file description in comment.

From-SVN: r237378

8 years agoS/390: Change builtin type naming scheme to match builtin-types.def.
Andreas Krebbel [Mon, 13 Jun 2016 12:04:57 +0000 (12:04 +0000)]
S/390: Change builtin type naming scheme to match builtin-types.def.

gcc/ChangeLog:

2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-builtin-types.def: Change builtin type naming
scheme to match builtin-types.def.

From-SVN: r237377

8 years agoMove optimize_minmax_comparison to match.pd
Marc Glisse [Mon, 13 Jun 2016 11:21:45 +0000 (13:21 +0200)]
Move optimize_minmax_comparison to match.pd

2016-06-13  Marc Glisse  <marc.glisse@inria.fr>

* fold-const.c (optimize_minmax_comparison): Remove.
(fold_comparison): Remove call to the above.
* match.pd (MIN (X, Y) == X, MIN (X, 5) == 0, MIN (X, C1) < C2):
New transformations.

From-SVN: r237376

8 years agore PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux...
Alan Hayward [Mon, 13 Jun 2016 11:07:35 +0000 (11:07 +0000)]
re PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (vectorizable_live_operation))

2016-06-13  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71416
* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
multiple entries

From-SVN: r237375

8 years agoChange enum value to not to clash with a MSP430 private enum
Martin Liska [Mon, 13 Jun 2016 10:00:17 +0000 (12:00 +0200)]
Change enum value to not to clash with a MSP430 private enum

* predict.c (enum predictor_reason): Prefix enum with REASON_.
(combine_predictions_for_insn): Likewise.
(prune_predictions_for_bb): Likewise.
(combine_predictions_for_bb): Likewise.

From-SVN: r237370

8 years agore PR tree-optimization/71505 (-O3 internal compiler error in vect_analyze_data_ref_a...
Richard Biener [Mon, 13 Jun 2016 09:44:51 +0000 (09:44 +0000)]
re PR tree-optimization/71505 (-O3 internal compiler error in vect_analyze_data_ref_accesses, at tree-vect-data-refs.c:2596)

2016-06-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71505
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
assert match comment.

From-SVN: r237368

8 years agore PR middle-end/71476 (ICE in gimplify_switch_expr with -Wswitch-unreachable)
Marek Polacek [Mon, 13 Jun 2016 08:57:02 +0000 (08:57 +0000)]
re PR middle-end/71476 (ICE in gimplify_switch_expr with -Wswitch-unreachable)

PR middle-end/71476
* gimplify.c (maybe_warn_switch_unreachable): Factored out of
gimplify_switch_expr.
(warn_switch_unreachable_r): New function.

* c-c++-common/Wswitch-unreachable-4.c: New test.
* gcc.dg/Wswitch-unreachable-2.c: New test.
* g++.dg/tm/jump1.C: Move dg-warning.

From-SVN: r237367

8 years agoS/390: Fix MAX_ARGS value.
Andreas Krebbel [Mon, 13 Jun 2016 08:34:45 +0000 (08:34 +0000)]
S/390: Fix MAX_ARGS value.

gcc/ChangeLog:

2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/71379
* config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
one.

From-SVN: r237364

8 years agodownload_prerequisites (ISL): Bump version to 0.16.1
Richard Biener [Mon, 13 Jun 2016 08:18:51 +0000 (08:18 +0000)]
download_prerequisites (ISL): Bump version to 0.16.1

2016-06-13  Richard Biener  <rguenther@suse.de>

* download_prerequisites (ISL): Bump version to 0.16.1

From-SVN: r237363

8 years agodecl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the parameter...
Eric Botcazou [Mon, 13 Jun 2016 08:17:07 +0000 (08:17 +0000)]
decl.c (gnat_to_gnu_subprog_type): Build only a minimal PARM_DECL when the parameter type is dummy.

* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal
PARM_DECL when the parameter type is dummy.
* gcc-interface/trans.c (Call_to_gnu): Translate formal types before
formal objects.

From-SVN: r237362

8 years agodecl.c (gnat_to_gnu_entity): Deal with PLUS_EXPR in the expression of a renaming.
Eric Botcazou [Mon, 13 Jun 2016 08:00:17 +0000 (08:00 +0000)]
decl.c (gnat_to_gnu_entity): Deal with PLUS_EXPR in the expression of a renaming.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
PLUS_EXPR in the expression of a renaming.

From-SVN: r237360

8 years agore PR fortran/70673 (ICE with module containing functions with allocatable character...
Paul Thomas [Mon, 13 Jun 2016 07:48:25 +0000 (07:48 +0000)]
re PR fortran/70673 (ICE with module containing functions with allocatable character scalars)

2016-06-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/70673
* frontend-passes.c (realloc_string_callback): Add a call to
gfc_dep_compare_expr.

2016-06-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/70673
* gfortran.dg/pr70673.f90: New test.

From-SVN: r237358

8 years agogenerate_libstdcxx_web_docs: Use realpath to get absolute path.
Jonathan Wakely [Mon, 13 Jun 2016 07:47:13 +0000 (08:47 +0100)]
generate_libstdcxx_web_docs: Use realpath to get absolute path.

* generate_libstdcxx_web_docs: Use realpath to get absolute path.

Add comment about LaTeX errors.

From-SVN: r237357

8 years agoutils2.c (known_alignment): Deal specially with calls to malloc.
Eric Botcazou [Mon, 13 Jun 2016 07:40:47 +0000 (07:40 +0000)]
utils2.c (known_alignment): Deal specially with calls to malloc.

* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
with calls to malloc.

From-SVN: r237356

8 years agore PR middle-end/64516 (arm: wrong unaligned load generated)
Richard Biener [Mon, 13 Jun 2016 07:34:45 +0000 (07:34 +0000)]
re PR middle-end/64516 (arm: wrong unaligned load generated)

2016-06-13  Richard Biener  <rguenther@suse.de>

PR middle-end/64516
* fold-const.c (fold_unary_loc): Preserve alignment when
folding a VIEW_CONVERT_EXPR into a MEM_REF.

* gcc.dg/align-3.c: New testcase.

From-SVN: r237355

8 years agodecl.c (grokdeclarator): Fix typo in pedwarn text.
Paolo Carlini [Mon, 13 Jun 2016 07:28:33 +0000 (07:28 +0000)]
decl.c (grokdeclarator): Fix typo in pedwarn text.

2016-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Fix typo in pedwarn text.

From-SVN: r237354

8 years agoDo not enable -fcheck-pointer-bounds w/ -fsanitize=bounds
Martin Liska [Mon, 13 Jun 2016 07:17:16 +0000 (09:17 +0200)]
Do not enable -fcheck-pointer-bounds w/ -fsanitize=bounds

PR sanitizer/71458
* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
w/ -fsanitize=bounds.
* gcc.target/i386/pr71458.c: New test.

From-SVN: r237353

8 years agoDaily bump.
GCC Administrator [Mon, 13 Jun 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237349

8 years agoi386.c (ix86_init_builtins): Calculate FLOAT128_FTYPE_CONST_STRING function type...
Uros Bizjak [Sun, 12 Jun 2016 19:38:42 +0000 (21:38 +0200)]
i386.c (ix86_init_builtins): Calculate FLOAT128_FTYPE_CONST_STRING function type only once.

* config/i386/i386.c (ix86_init_builtins): Calculate
FLOAT128_FTYPE_CONST_STRING function type only once.
* doc/extend.texi (x86 Built-in Functions): Update text, __float128
built-in functions are available for x86-32 and x86-64 targets.

From-SVN: r237342

8 years agoAdd missing commit:
Uros Bizjak [Sun, 12 Jun 2016 18:05:36 +0000 (20:05 +0200)]
Add missing commit:

* doc/extend.texi (x86 Built-in Functions): Document
__builtin_nanq and __builtin_nansq.

From-SVN: r237339

8 years agore PR target/71241 ([x86] Missing built-in functions for float128 NaNs)
Uros Bizjak [Sun, 12 Jun 2016 17:22:16 +0000 (19:22 +0200)]
re PR target/71241 ([x86] Missing built-in functions for float128 NaNs)

PR target/71241
* config/i386/i386.i386-builtin-types.def (CONST_STRING):
New primitive type.
(FLOAT128_FTYPE_CONST_STRING): New function type.
* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_NANQ]: New.
[IX86_BUILTIN_NANSQ]: Ditto.
(ix86_fold_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
(ix86_init_builtin_types) Declare const_string_type_node.
Add __builtin_nanq and __builtin_nansq builtin functions.
(ix86_expand_builtin): Handle IX86_BUILTIN_NANQ and IX86_BUILTIN_NANSQ.
* doc/extend.texi (x86 Built-in Functions): Document
__builtin_nanq and __builtin_nansq.

testsuite/ChangeLog:

PR target/71241
* testsuite/gcc.dg/torture/float128-nan.c: New test.

From-SVN: r237338

8 years agoDaily bump.
GCC Administrator [Sun, 12 Jun 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237336

8 years agore PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
Dominique d'Humieres [Sat, 11 Jun 2016 22:36:50 +0000 (00:36 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)

2016-06-12  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR target/60751
* gfortran.dg/guality/pr41558.f90: Remove extra comma in WRITE
statement.

From-SVN: r237332

8 years ago[ARM] length pop* pattern in epilogue correctly
Jiong Wang [Sat, 11 Jun 2016 20:42:26 +0000 (20:42 +0000)]
[ARM] length pop* pattern in epilogue correctly

PR target/71061
* config/arm/arm-protos.h (arm_attr_length_pop_multi): New declaration.
* config/arm/arm.c (arm_attr_length_pop_multi): New function to return
length for pop patterns.
(arm_attr_length_push_multi): Update comments.
* config/arm/arm.md (*load_multiple_with_writeback): Set "length"
attribute.
(*pop_multiple_with_writeback_and_return): Likewise.
(*pop_multiple_with_return): Likewise.

From-SVN: r237331

8 years agore PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
Dominique d'Humieres [Sat, 11 Jun 2016 19:21:22 +0000 (21:21 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)

2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR target/60751
* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.

From-SVN: r237330

8 years agore PR fortran/60751 (Extra comma in WRITE statement not diagnosed)
Dominique d'Humieres [Sat, 11 Jun 2016 19:19:43 +0000 (21:19 +0200)]
re PR fortran/60751 (Extra comma in WRITE statement not diagnosed)

2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/60751
* io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.

* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.
* gfortran.dg/array_constructor_49.f90: Remove extra comma in WRITE
statement.
* gfortran.dg/graphite/pr38083.f90: Likewise.
* gfortran.dg/integer_exponentiation_6.F90: Likewise and add
missing format.

--This line

M    fortran/ChangeLog
M    fortran/io.c
M    testsuite/ChangeLog
M    testsuite/gfortran.dg/array_constructor_49.f90
M    testsuite/gfortran.dg/graphite/pr38083.f90
M    testsuite/gfortran.dg/integer_exponentiation_6.F90

From-SVN: r237329

8 years agotrans.c (build_binary_op_trapv): If no operand is a constant, use the generic impleme...
Eric Botcazou [Sat, 11 Jun 2016 12:07:54 +0000 (12:07 +0000)]
trans.c (build_binary_op_trapv): If no operand is a constant, use the generic implementation of the middle-end...

* gcc-interface/trans.c (build_binary_op_trapv): If no operand is a
constant, use the generic implementation of the middle-end; otherwise
turn the dynamic conditions into static conditions and simplify.

From-SVN: r237328

8 years ago* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.
Eric Botcazou [Sat, 11 Jun 2016 11:53:11 +0000 (11:53 +0000)]
* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.

From-SVN: r237326

8 years agodecl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary names...
Pierre-Marie de Rodat [Sat, 11 Jun 2016 11:23:54 +0000 (11:23 +0000)]
decl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary names for XUP and XUT types.

* gcc-interface/decl.c (gnat_to_gnu_entity): Do not clobber
gnat_entity_name with temporary names for XUP and XUT types.

From-SVN: r237324

8 years agoDaily bump.
GCC Administrator [Sat, 11 Jun 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237323

8 years agofold-const: Don't access bit fields with too big mode (PR71310)
Segher Boessenkool [Fri, 10 Jun 2016 23:58:09 +0000 (01:58 +0200)]
fold-const: Don't access bit fields with too big mode (PR71310)

Currently, optimize_bit_field_compare reads the bitfield in word_mode
if it can.  If the bit field is normally accessed in a smaller mode,
this might be a violation of the memory model, although the "extra"
part of the read is not used.  But also, previous stores to the bit
field will have been done in the smaller mode, and then bigger loads
from it cause a LHS problem.

PR middle-end/71310
* fold-const.c (optimize_bit_field_compare): Don't try to use
word_mode unconditionally for reading the bit field, look at
DECL_BIT_FIELD_REPRESENTATIVE instead.

gcc/testsuite/
PR middle-end/71310
* gcc.target/powerpc/pr71310.c: New testcase.

From-SVN: r237319

8 years agore PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)
Kugan Vivekanandarajah [Fri, 10 Jun 2016 21:57:01 +0000 (21:57 +0000)]
re PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564)

gcc/testsuite/ChangeLog:

2016-06-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71478
* gcc.dg/pr71478.c: New test.

gcc/ChangeLog:

2016-06-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71478
* tree-ssa-reassoc.c (reassociate_bb): Remove (-1) from ops list for
vector integer type.

From-SVN: r237318

8 years agore PR middle-end/71494 (label as value in nested function)
Jakub Jelinek [Fri, 10 Jun 2016 19:49:05 +0000 (21:49 +0200)]
re PR middle-end/71494 (label as value in nested function)

PR middle-end/71494
* tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
without LABEL_DECL, set *handled_ops_p to false instead of true.

* gcc.c-torture/execute/pr71494.c: New test.

From-SVN: r237317

8 years agore PR c/68657 ("gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion...
Jakub Jelinek [Fri, 10 Jun 2016 19:46:13 +0000 (21:46 +0200)]
re PR c/68657 ("gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion is not an option that controls warnings)

PR c/68657
* c.opt (Wpsabi): Add Warning flag.

* gcc.target/i386/pr68657.c: New test.

From-SVN: r237316

8 years agore PR inline-asm/68843 (ICE with "u" input constraint)
Jakub Jelinek [Fri, 10 Jun 2016 18:40:37 +0000 (20:40 +0200)]
re PR inline-asm/68843 (ICE with "u" input constraint)

PR inline-asm/68843
* gcc.target/i386/pr68843-2.c: Add dg-do run and empty dg-options.
(test): Add -masm=intel alternatives.

From-SVN: r237315

8 years agoPR c/71392 - SEGV calling integer overflow built-ins with a null pointer
Martin Sebor [Fri, 10 Jun 2016 17:38:19 +0000 (17:38 +0000)]
PR c/71392 - SEGV calling integer overflow built-ins with a null pointer

gcc/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro.
(ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same.
* builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use
them.
(BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same.
(BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same.
(BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same.
(BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same.
(BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same.
(BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same.
(BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same.
(BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW):

gcc/ada/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept
the nonnull attribute in type-generic builtins.

gcc/c-family/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
the nonnull attribute in type-generic builtins.

gcc/lto/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull
attribute in type-generic builtins.

gcc/testsuite/ChangeLog:
2016-06-10  Martin Sebor  <msebor@redhat.com>

PR c/71392
* c-c++-common/builtin-arith-overflow-1.c: Add test cases.

From-SVN: r237314

8 years agoarm.h (pool_vector_label, [...]): Remove.
Bernd Edlinger [Fri, 10 Jun 2016 16:27:27 +0000 (16:27 +0000)]
arm.h (pool_vector_label, [...]): Remove.

2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/arm/arm.h (pool_vector_label,
        return_used_this_function): Remove.

From-SVN: r237313

8 years agore PR tree-optimization/71335 (wrong code at -O2 and -O3 in 32-bit and 64-bit modes...
Jeff Law [Fri, 10 Jun 2016 16:23:06 +0000 (10:23 -0600)]
re PR tree-optimization/71335 (wrong code at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu)

PR tree-optimization/71335
* tree-ssa-threadbackward.c (profitable_jump_thread_path): Filter out
zero length paths here.
(convert_and_register_jump_thread_path): Remove hacks related to
duplicated blocks in the jump thread path.
(fsm_find_control_statement_thread_paths): Avoid putting the same
block on the thread path twice, but ensure the thread path is
unchanged from the caller's point of view.

PR tree-optimization/71335
* gcc.c-torture/execute/pr71335.c: New test.

From-SVN: r237312

8 years agopredict.c (predict_loops): Remove PRED_LOOP_BRANCH.
Jan Hubicka [Fri, 10 Jun 2016 16:00:24 +0000 (18:00 +0200)]
predict.c (predict_loops): Remove PRED_LOOP_BRANCH.

* predict.c (predict_loops): Remove PRED_LOOP_BRANCH.
* predict.def (PRED_LOOP_BRANCH): Remove.

From-SVN: r237311

8 years agoRemove platform-specific details from must-tail-call-2.c messages
David Malcolm [Fri, 10 Jun 2016 14:14:04 +0000 (14:14 +0000)]
Remove platform-specific details from must-tail-call-2.c messages

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/must-tail-call-2.c: Remove all details from
the various "cannot tail-call: " messages.

From-SVN: r237310

8 years agoAdd ggc-tests.c
David Malcolm [Fri, 10 Jun 2016 13:41:03 +0000 (13:41 +0000)]
Add ggc-tests.c

gcc/ChangeLog:
* Makefile.in (OBJS): Add ggc-tests.o.
(GTFILES): Add ggc-tests.c.
* ggc-tests.c: New file.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::ggc_tests_c_tests.
* selftest.h (selftest::ggc_tests_c_tests): New prototype.

From-SVN: r237309

8 years agopr37780_1.c: Use arm_arch_v6t2 effective target and options.
Christophe Lyon [Fri, 10 Jun 2016 13:37:35 +0000 (13:37 +0000)]
pr37780_1.c: Use arm_arch_v6t2 effective target and options.

* gcc.target/arm/pr37780_1.c: Use arm_arch_v6t2 effective target and options.

From-SVN: r237308

8 years ago* match.pd (-1 / B < A): Use :c to avoid pattern duplication.
Alexander Monakov [Fri, 10 Jun 2016 12:58:53 +0000 (15:58 +0300)]
* match.pd (-1 / B < A): Use :c to avoid pattern duplication.

From-SVN: r237307

8 years agore PR sanitizer/71480 (ASan should align string constants to shadow granularity.)
Maxim Ostapenko [Fri, 10 Jun 2016 12:57:14 +0000 (12:57 +0000)]
re PR sanitizer/71480 (ASan should align string constants to shadow granularity.)

2016-06-10  Maxim Ostapenko  <m.ostapenko@samsung.com>

PR sanitizer/71480
* varasm.c (place_block_symbol): Adjust alignment for asan protected
STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P.

* c-c++-common/asan/pr71480.c: New test.

From-SVN: r237306

8 years agoprofile.c: Include cfgloop.h.
Jan Hubicka [Fri, 10 Jun 2016 12:46:30 +0000 (14:46 +0200)]
profile.c: Include cfgloop.h.

* profile.c: Include cfgloop.h.
(branch_prob): Compute estimated number of iterations.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
recompute estimate number of iterations from profile.

From-SVN: r237305

8 years agoUse __USER_LABEL_PREFIX__ in asm statement
H.J. Lu [Fri, 10 Jun 2016 12:38:16 +0000 (12:38 +0000)]
Use __USER_LABEL_PREFIX__ in asm statement

A target may have a prefix in function symbol.  Update interrrupt tests
to use __USER_LABEL_PREFIX__ for function symbol in asm statement.

* gcc.dg/guality/pr68037-1.c (ASMNAME): New.
(ASMNAME2): Likewise.
(main): Replace fn in asm statement with ASMNAME ("fn").
* gcc.dg/guality/pr68037-2.c: Likewise.
* gcc.dg/guality/pr68037-3.c: Likewise.
* gcc.dg/torture/pr68037-1.c: Likewise.
* gcc.dg/torture/pr68037-2.c: Likewise.
* gcc.dg/torture/pr68037-3.c: Likewise.

From-SVN: r237304

8 years agore PR inline-asm/68843 (ICE with "u" input constraint)
Bernd Edlinger [Fri, 10 Jun 2016 12:22:21 +0000 (12:22 +0000)]
re PR inline-asm/68843 (ICE with "u" input constraint)

gcc:
2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR inline-asm/68843
        * reg-stack.c (check_asm_stack_operands): Explicit input arguments
        must be grouped on top of stack.  Don't force early clobber
        on ordinary reg outputs.

testsuite:
2016-06-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR inline-asm/68843
        * gcc.target/i386/pr68843-1.c: New test.
        * gcc.target/i386/pr68843-2.c: New test.

From-SVN: r237303

8 years agotarghooks.c (default_builtin_vectorization_cost): Adjust vec_construct cost.
Richard Biener [Fri, 10 Jun 2016 11:45:39 +0000 (11:45 +0000)]
targhooks.c (default_builtin_vectorization_cost): Adjust vec_construct cost.

2016-06-10  Richard Biener  <rguenther@suse.de>

* targhooks.c (default_builtin_vectorization_cost): Adjust
vec_construct cost.

From-SVN: r237302

8 years agogimple-fold.c (gimple_fold_builtin_memory_op): Make sure to fold the RHS to a constan...
Richard Biener [Fri, 10 Jun 2016 11:44:47 +0000 (11:44 +0000)]
gimple-fold.c (gimple_fold_builtin_memory_op): Make sure to fold the RHS to a constant if possible.

2016-06-10  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (gimple_fold_builtin_memory_op): Make sure
to fold the RHS to a constant if possible.

From-SVN: r237301

8 years agompx_wrappers.c (move_bounds): Fix overflow bug.
Ilya Enkovich [Fri, 10 Jun 2016 09:23:53 +0000 (09:23 +0000)]
mpx_wrappers.c (move_bounds): Fix overflow bug.

libmpx/

2016-06-10  Ilya Enkovich  <ilya.enkovich@intel.com>

* mpxwrap/mpx_wrappers.c (move_bounds): Fix overflow bug.

From-SVN: r237292

8 years ago[PR middle-end/71373] Handle more OMP_CLAUSE_* in nested function decomposition
Thomas Schwinge [Fri, 10 Jun 2016 09:22:51 +0000 (11:22 +0200)]
[PR middle-end/71373] Handle more OMP_CLAUSE_* in nested function decomposition

gcc/
* gimplify.c (gimplify_adjust_omp_clauses): Discard
OMP_CLAUSE_TILE.
* omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
gcc/testsuite/
* c-c++-common/goacc/combined-directives.c: XFAIL tree scanning
for OpenACC tile clauses.
* gfortran.dg/goacc/combined-directives.f90: Likewise.

gcc/
PR middle-end/71373
* tree-nested.c (convert_nonlocal_omp_clauses)
(convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC,
OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE.
gcc/testsuite/
PR middle-end/71373
* gcc.dg/goacc/nested-function-1.c: New file.
* gcc.dg/goacc/nested-function-2.c: Likewise.
* gcc.dg/goacc/pr71373.c: Likewise.
* gfortran.dg/goacc/cray-2.f95: Likewise.
* gfortran.dg/goacc/loop-1-2.f95: Likewise.
* gfortran.dg/goacc/loop-3-2.f95: Likewise.
* gfortran.dg/goacc/cray.f95: Update.
* gfortran.dg/goacc/loop-1.f95: Likewise.
* gfortran.dg/goacc/loop-3.f95: Likewise.
* gfortran.dg/goacc/subroutines.f90: Update, and rename to...
* gfortran.dg/goacc/nested-function-1.f90: ... this new file.
libgomp/testsuite/
PR middle-end/71373
* libgomp.oacc-c/nested-function-1.c: New file.
* libgomp.oacc-c/nested-function-2.c: Likewise.
* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
* libgomp.oacc-fortran/nested-function-3.f90: Likewise.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r237291

8 years ago[PR c/71381] C/C++ OpenACC cache directive rejects valid syntax
Thomas Schwinge [Fri, 10 Jun 2016 09:22:38 +0000 (11:22 +0200)]
[PR c/71381] C/C++ OpenACC cache directive rejects valid syntax

gcc/c/
PR c/71381
* c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>:
Loosen checking.
gcc/cp/
PR c/71381
* parser.c (cp_parser_omp_var_list_no_open) <OMP_CLAUSE__CACHE_>:
Loosen checking.
gcc/fortran/
PR c/71381
* openmp.c (gfc_match_oacc_cache): Add comment.
gcc/testsuite/
PR c/71381
* c-c++-common/goacc/cache-1.c: Update.  Move invalid usage tests
to...
* c-c++-common/goacc/cache-2.c: ... this new file.
* gfortran.dg/goacc/cache-1.f95: Move invalid usage tests to...
* gfortran.dg/goacc/cache-2.f95: ... this new file.
* gfortran.dg/goacc/coarray.f95: Update OpenACC cache directive
usage.
* gfortran.dg/goacc/cray.f95: Likewise.
* gfortran.dg/goacc/loop-1.f95: Likewise.
libgomp/
PR c/71381
* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.

gcc/
* omp-low.c (scan_sharing_clauses): Don't expect
OMP_CLAUSE__CACHE_.

From-SVN: r237290

8 years agocheck_GNU_style.sh: Fix paste args for BSD
Alan Hayward [Fri, 10 Jun 2016 08:53:20 +0000 (08:53 +0000)]
check_GNU_style.sh: Fix paste args for BSD

2016-06-10  Alan Hayward  <alan.hayward@arm.com>

* check_GNU_style.sh: Fix paste args for BSD

From-SVN: r237289

8 years agore PR tree-optimization/71407 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux...
Alan Hayward [Fri, 10 Jun 2016 08:46:55 +0000 (08:46 +0000)]
re PR tree-optimization/71407 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (verify_gimple: integral result type precision does not match field size of BIT_FIELD_REF))

2016-06-10  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71407
PR tree-optimization/71416
* tree-vect-loop.c (vectorizable_live_operation): Use vectype for
BIT_FIELD_REF type.

testsuite/
PR tree-optimization/71407
PR tree-optimization/71416
* gcc.dg/vect/pr71407.c: New
* gcc.dg/vect/pr71416-1.c: New
* gcc.dg/vect/pr71416-2.c: New

From-SVN: r237288

8 years agore PR tree-optimization/71477 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with...
Richard Biener [Fri, 10 Jun 2016 07:30:45 +0000 (07:30 +0000)]
re PR tree-optimization/71477 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”)

2016-06-10  Richard Biener  <rguenther@suse.de>

PR middle-end/71477
* cfgloop.c (alloc_loop): Initialize nb_iterations_likely_upper_bound.

* gcc.dg/torture/pr71477.c: New testcase.

From-SVN: r237287

8 years agocompiler: fix quoting in error message
Ian Lance Taylor [Fri, 10 Jun 2016 01:21:48 +0000 (01:21 +0000)]
compiler: fix quoting in error message

    Reviewed-on: https://go-review.googlesource.com/23966

From-SVN: r237286

8 years agoDaily bump.
GCC Administrator [Fri, 10 Jun 2016 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237285

8 years ago* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
Eric Botcazou [Thu, 9 Jun 2016 21:50:55 +0000 (21:50 +0000)]
* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.

From-SVN: r237279

8 years ago[Patch] PR70751, correct the cost for spilling non-pseudo into memory
Vladimir Makarov [Thu, 9 Jun 2016 21:28:31 +0000 (21:28 +0000)]
[Patch] PR70751, correct the cost for spilling non-pseudo into memory

PR rtl-optimization/70751
* lra-constraints.c (process_alt_operands): Recognize Non-pseudo spilled
into memory.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r237277

8 years agorevert: cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additi...
Jonathan Yong [Thu, 9 Jun 2016 20:47:48 +0000 (20:47 +0000)]
revert: cygwin.h (STARTFILE_SPEC): Explicitly search sysroot/usr/lib/32api for additional win32 libraries...

2016-06-09 Jonathan Yong  <10walls@gmail.com>

Revert:
2015-09-21  Jonathan Yong  <10walls@gmail.com>
        * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
        sysroot/usr/lib/32api for additional win32 libraries,
        fixes failing Cygwin bootstrapping.

From-SVN: r237276

8 years agodiagnostic.h (diagnostic_line_cutoff, [...]): delete.
Marcin Baczyński [Thu, 9 Jun 2016 20:43:26 +0000 (20:43 +0000)]
diagnostic.h (diagnostic_line_cutoff, [...]): delete.

2016-06-09  Marcin Baczyński <marbacz@gmail.com>

* diagnostic.h (diagnostic_line_cutoff, diagnostic_flush_buffer):
delete.

From-SVN: r237275

8 years agoFix x86 interrupt tests for -fpic and -march=corei7
Julia Koval [Thu, 9 Jun 2016 18:31:35 +0000 (20:31 +0200)]
Fix x86 interrupt tests for -fpic and -march=corei7

2016-06-09  Julia Koval  <julia.koval@intel.com>

* gcc.target/i386/interrupt-12.c: Fix test for -fpic and corei7.
* gcc.target/i386/interrupt-13.c: Likewise.
* gcc.target/i386/interrupt-15.c: Likewise.
* gcc.target/i386/interrupt-14.c: Fix test for -fpic.
* gcc.target/i386/interrupt-24.c: Likewise.
* gcc.target/i386/interrupt-3.c: Fix test for corei7.
* gcc.target/i386/interrupt-9.c: Likewise.
* gcc.target/i386/interrupt-redzone-2.c: Likewise.

From-SVN: r237272

8 years agoPR bootstrap/71471: remove selftest for pp_format (%p)
David Malcolm [Thu, 9 Jun 2016 17:27:12 +0000 (17:27 +0000)]
PR bootstrap/71471: remove selftest for pp_format (%p)

gcc/ChangeLog:
PR bootstrap/71471
* pretty-print.c (pp_indent): Specify that %p is printed in a
host-dependent manner.
(test_pp_format): Remove the test for %p.

From-SVN: r237271

8 years agoconfig-list.mk: add OPT-enable-obsolete to 4 targets
David Malcolm [Thu, 9 Jun 2016 17:06:47 +0000 (17:06 +0000)]
config-list.mk: add OPT-enable-obsolete to 4 targets

r233165 marked three deprecated rtems targets as obsolete.
r233887 marked mep-elf as obsolete.

Update config-list.mk to add OPT-enable-obsolete to these 4
targets.

contrib/ChangeLog:
* config-list.mk (LIST): Add OPT-enable-obsolete to avr-rtems,
h8300-rtems, m32r-rtems, mep-elf.

From-SVN: r237270

8 years agoconfig-list.mk: add GCC_SRC_DIR
David Malcolm [Thu, 9 Jun 2016 17:04:13 +0000 (17:04 +0000)]
config-list.mk: add GCC_SRC_DIR

contrib/ChangeLog:
* config-list.mk (GCC_SRC_DIR): New variable.
(make-log-dir): Use GCC_SRC_DIR.
($(LIST)): Likewise.

From-SVN: r237269

8 years agoPR c/70883 - inconsistent error message for calls to __builtin_add_overflow
Martin Sebor [Thu, 9 Jun 2016 16:32:25 +0000 (16:32 +0000)]
PR c/70883 - inconsistent error message for calls to __builtin_add_overflow

PR c/70883 - inconsistent error message for calls to __builtin_add_overflow
  with too few arguments

gcc/c-family/ChangeLog:
2016-06-09  Martin Sebor  <msebor@redhat.com>

PR c/70883
* c-common.c (builtin_function_validate_nargs): Make text of error
message consistent with others like it.

gcc/testsuite/ChangeLog:
2016-06-09  Martin Sebor  <msebor@redhat.com>

PR c/70883
* c-c++-common/builtin-arith-overflow-1.c: Adjust diagnostic text.
* gcc.dg/builtin-constant_p-1.c: Same.
* gcc.dg/builtins-error.c: Same.
* gcc.dg/pr70859.c: Same.

From-SVN: r237268