gcc.git
8 years agore PR fortran/69281 (gfortran ICE on temporary array in function call with -fstack...
Jakub Jelinek [Fri, 19 Aug 2016 15:27:40 +0000 (17:27 +0200)]
re PR fortran/69281 (gfortran ICE on temporary array in function call with -fstack-arrays -fopenmp)

PR fortran/69281
* trans-openmp.c (gfc_trans_omp_parallel, gfc_trans_omp_task,
gfc_trans_omp_target): Wrap gfc_trans_omp_code result in an extra
BIND_EXPR with its own forced BLOCK.

* gfortran.dg/gomp/pr69281.f90: New test.

From-SVN: r239618

8 years agordseedintrin.h (_rdseed16_step, [...]): Uglify argument names and/or local variable...
Jakub Jelinek [Fri, 19 Aug 2016 15:25:05 +0000 (17:25 +0200)]
rdseedintrin.h (_rdseed16_step, [...]): Uglify argument names and/or local variable names in inline functions.

* config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
_rdseed64_step): Uglify argument names and/or local variable names
in inline functions.
* config/i386/rtmintrin.h (_xabort): Likewise.
* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64,
_mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64,
_mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32,
_mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64,
_mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64,
_mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32,
_mm_maskz_ternarylogic_epi32): Likewise.
* config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64,
__lwpins32, __lwpins64): Likewise.
* config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd,
_mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd,
_mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd,
_mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps,
_mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps,
_mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
_mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
_mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
_mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
_mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
_mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
_mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
_mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
_mm256_mask_i64gather_epi32): Likewise.
* config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise.
* config/i386/ia32intrin.h (__writeeflags): Likewise.
* config/i386/pkuintrin.h (_wrpkru): Likewise.
* config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd,
_mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd,
_mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
_mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
_mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
_mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
_mm512_mask_prefetch_i64scatter_ps): Likewise.
* config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise.
* config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64,
_mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64,
_mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32,
_mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps,
_mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps,
_mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64,
_mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise.

From-SVN: r239617

8 years agofxsrintrin.h (_fxsave): Remove return keyword in inlines returning void.
Jakub Jelinek [Fri, 19 Aug 2016 15:24:22 +0000 (17:24 +0200)]
fxsrintrin.h (_fxsave): Remove return keyword in inlines returning void.

* config/i386/fxsrintrin.h (_fxsave): Remove return keyword in inlines
returning void.
(_fxrstor, _fxsave64, _fxrstor64): Likewise.
* config/i386/xsaveintrin.h (_xsave, _xrstor, _xsave64, _xrstor64):
Likewise.
* config/i386/xsaveoptintrin.h (_xsaveopt, _xsaveopt64): Likewise.
* config/i386/pkuintrin.h (_wrpkru): Likewise.  Add space after
function name.
(_rdpkru_u32): Add space after function name.

From-SVN: r239616

8 years agot-i386 (i386-c.o): Don't depend on i386-builtin-types.inc.
Jakub Jelinek [Fri, 19 Aug 2016 15:23:42 +0000 (17:23 +0200)]
t-i386 (i386-c.o): Don't depend on i386-builtin-types.inc.

* config/i386/t-i386 (i386-c.o): Don't depend on
i386-builtin-types.inc.
(i386.o): Depend on i386-builtin-types.inc.

From-SVN: r239615

8 years agoUse a XOR cipher instead of byte shuffling to protect against bad seeds.
Janne Blomqvist [Fri, 19 Aug 2016 14:19:51 +0000 (17:19 +0300)]
Use a XOR cipher instead of byte shuffling to protect against bad seeds.

libgfortran:
2016-08-19  Janne Blomqvist  <jb@gcc.gnu.org>

        * intrinsics/random.c (xor_keys): New array with "secret" keys.
        (scramble_seed): XOR given seed with xor_keys array rather than
        shuffling bytes.
        (unscramble_seed): Remove function.
        (random_seed_i4): Use new scramble_seed.
        (random_seed_i8): Likewise.

frontend:
2016-08-19  Janne Blomqvist  <jb@gcc.gnu.org>

        * intrinsics.texi (RANDOM_NUMBER): Remove reference to
        init_random_seed in example.
        (RANDOM_SEED): Remove warning to not set all seed values to 0.

From-SVN: r239613

8 years agoAlways initialize PRNG using random data from the OS.
Janne Blomqvist [Fri, 19 Aug 2016 14:12:32 +0000 (17:12 +0300)]
Always initialize PRNG using random data from the OS.

libgfortran:

2016-08-16  Janne Blomqvist  <jb@gcc.gnu.org>

        * intrinsics/random.c (master_init): New variable.
        (init_rand_state): Move below getosrandom (), maybe initialize
        master_state.
        (random_seed_i4): If called with no arguments, set master_init to
        false, and reinitialize. If called with PUT=, set master_init to
        true.
        (random_seed_i8): Likewise.

testsuite:

2016-08-16  Janne Blomqvist  <jb@gcc.gnu.org>

        * gfortran.dg/random_4.f90: Initialize seed before using, handle
        the last special seed value.
        * gfortran.dg/random_7.f90: Use size for last array member instead
        of hardcoded value.

From-SVN: r239611

8 years ago[ARM] Fix an invalid check for vectors of the same floating-point constants.
Matthew Wahab [Fri, 19 Aug 2016 13:59:18 +0000 (13:59 +0000)]
[ARM] Fix an invalid check for vectors of the same floating-point constants.

2016-08-19  Matthew Wahab  <matthew.wahab@arm.com>

PR target/77281
* config/arm/arm.c (neon_valid_immediate): Delete declaration.
Use const_vec_duplicate to check for duplicated elements.

From-SVN: r239610

8 years agoexpr.c (eval_token): Append "evaluates to 0" to Wundef diagnostic.
Prathamesh Kulkarni [Fri, 19 Aug 2016 13:17:09 +0000 (13:17 +0000)]
expr.c (eval_token): Append "evaluates to 0" to Wundef diagnostic.

2016-08-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

libcpp/
* expr.c (eval_token): Append "evaluates to 0" to Wundef diagnostic.

testsuite/
* gcc.dg/cpp/warn-undef.c: Append "evaluates to 0" to dg-error.
* gcc.dg/cpp/warn-undef-2.c: Likewise.

From-SVN: r239609

8 years agoUpdate C++17 library status table
Jonathan Wakely [Fri, 19 Aug 2016 08:16:13 +0000 (09:16 +0100)]
Update C++17 library status table

* doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
and variant.
* doc/html/*: Regenerate.

From-SVN: r239608

8 years agore PR tree-optimization/77290 (test case gcc.dg/tree-ssa/pr71347.c fails starting...
Richard Biener [Fri, 19 Aug 2016 07:43:11 +0000 (07:43 +0000)]
re PR tree-optimization/77290 (test case gcc.dg/tree-ssa/pr71347.c fails starting with r239565)

2016-08-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77290
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Fix flag_tree_parallelize_loops check.

From-SVN: r239607

8 years agomatch.pd (x | 0 -> x): Add.
Richard Biener [Fri, 19 Aug 2016 07:03:48 +0000 (07:03 +0000)]
match.pd (x | 0 -> x): Add.

2016-08-19  Richard Biener  <rguenther@suse.de>

* match.pd (x | 0 -> x): Add.

From-SVN: r239606

8 years agore PR tree-optimization/77286 (ICE in fold_convert_loc, at fold-const.c:2248 building...
Richard Biener [Fri, 19 Aug 2016 07:02:05 +0000 (07:02 +0000)]
re PR tree-optimization/77286 (ICE in fold_convert_loc, at fold-const.c:2248 building 435.gromacs)

2016-08-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77286
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
Deal with virtual PHIs being out-of-order.

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

From-SVN: r239605

8 years agoAdd source information to -fverbose-asm
David Malcolm [Fri, 19 Aug 2016 00:18:18 +0000 (00:18 +0000)]
Add source information to -fverbose-asm

gcc/ChangeLog:
* doc/invoke.texi (fverbose-asm): Note that source code lines
are emitted, and provide an example.
* final.c (asm_show_source): New function.
(final_scan_insn): Call asm_show_source.

From-SVN: r239604

8 years agoDaily bump.
GCC Administrator [Fri, 19 Aug 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239603

8 years agoImplement the latest proposed resolution of LWG 2756.
Ville Voutilainen [Thu, 18 Aug 2016 20:33:57 +0000 (23:33 +0300)]
Implement the latest proposed resolution of LWG 2756.

* include/std/optional (Optional_base(const _Tp&))
(Optional_base(_Tp&&), using _Base::_Base): Remove.
(optional(nullopt_t)): New.
(optional(_Up&&)): Invoke base directly with in_place
rather than creating a temporary, add default template
argument, change constraints.
(optional(const optional<_Up>&)): Invoke base directly
with in_place, remove unnecessary constraints.
(optional(optional<_Up>&& __t)): Likewise.
(optional(in_place_t, _Args&&...)): New.
(optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
(operator=(_Up&&)): Add default template argument, change constraints.
(operator=(const optional<_Up>&)): Put is_same first in the
constraints.
(operator=(optional<_Up>&&)): Likewise.
* testsuite/20_util/optional/assignment/5.cc: Add a test to
verify assignment from something that can't be perfect-forwarded.
* testsuite/20_util/optional/cons/value.cc: Add tests to verify
that a nested optional is disengaged when constructed
from a disengaged element type, and to verify that assignments
from an engaged element type engage the optional.

From-SVN: r239593

8 years agoImplement <variant>
Tim Shen [Thu, 18 Aug 2016 20:31:26 +0000 (20:31 +0000)]
Implement <variant>

* include/Makefile.am: Add new file std/variant.
* include/Makefile.in: Generated from Makefile.am.
* include/bits/enable_special_members.h: Add a tag type to allow
the construction in non-default constructor.
* include/bits/uses_allocator.h: Add convenience traits to
detect constructibility.
* include/std/variant: Implement <variant>.
* testsuite/20_util/variant/compile.cc: Compile-time tests.
* testsuite/20_util/variant/run.cc: Runtime tests.

From-SVN: r239590

8 years agoAllow calling diagnostic_show_locus without a diagnostic_info
David Malcolm [Thu, 18 Aug 2016 19:12:54 +0000 (19:12 +0000)]
Allow calling diagnostic_show_locus without a diagnostic_info

Much of diagnostic-show-locus.c currently expects a diagnostic_info *,
but it only uses the rich_location and the diagnostic_t.

Change the signature of diagnostic_show_locus from:

  void
  diagnostic_show_locus (diagnostic_context *,
                         const diagnostic_info *);

to:

  void
  diagnostic_show_locus (diagnostic_context *,
                         rich_location *richloc,
                         diagnostic_t diagnostic_kind);

so that it can be used for things other than diagnostics.

Use this flexibility to add selftests for diagnostic_show_locus.

gcc/c-family/ChangeLog:
* c-opts.c (c_diagnostic_finalizer): Update for change to
diagnostic_show_locus.

gcc/ChangeLog:
* diagnostic-show-locus.c (colorizer::colorizer): Replace diagnostic
param with diagnostic_kind.
(class colorizer): Similarly replace field m_diagnostic with
m_diagnostic_kind.
(colorizer::colorizer): Replace diagnostic
param with diagnostic_kind.
(colorizer::begin_state): Update for above field change.
(layout::layout): Replace diagnostic param with rich_location *
and diagnostic_kind.
(diagnostic_show_locus): Replace diagnostic param with richloc
and diagnostic_kind.
(class selftest::test_diagnostic_context): New class.
(selftest::test_diagnostic_show_locus_unknown_location): New
function.
(selftest::test_one_liner_simple_caret): New function.
(selftest::test_one_liner_caret_and_range): New function.
(selftest::test_one_liner_multiple_carets_and_ranges): New
function.
(selftest::test_one_liner_fixit_remove): New function.
(selftest::test_one_liner_fixit_replace): New function.
(selftest::test_diagnostic_show_locus_one_liner): New function.
(selftest::diagnostic_show_locus_c_tests): Call the new test
functions.
* diagnostic.c (diagnostic_initialize): Initialize
colorize_source_p, show_ruler_p and parseable_fixits_p.
(default_diagnostic_finalizer): Update for change to
diagnostic_show_locus.
(diagnostic_append_note): Likewise.
* diagnostic.h (diagnostic_show_locus): Replace
const diagnostic_info * param with location * and diagnostic_t.

gcc/fortran/ChangeLog:
* error.c (gfc_diagnostic_starter): Update for change to
diagnostic_show_locus.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(custom_diagnostic_finalizer): Update for change to
diagnostic_show_locus.

From-SVN: r239586

8 years agoSpelling suggestions for misspelled preprocessor directives
David Malcolm [Thu, 18 Aug 2016 18:52:43 +0000 (18:52 +0000)]
Spelling suggestions for misspelled preprocessor directives

This patch allows the preprocessor to offer suggestions for misspelled
directives, taking us from e.g.:

test.c:5:2: error: invalid preprocessing directive #endfi
 #endfi
  ^~~~~

to:

test.c:5:2: error: invalid preprocessing directive #endfi; did you mean #endif?
 #endfi
  ^~~~~
  endif

gcc/c-family/ChangeLog:
* c-common.c: Include "spellcheck.h".
(cb_get_suggestion): New function.
* c-common.h (cb_get_suggestion): New decl.
* c-lex.c (init_c_lex): Initialize cb->get_suggestion to
cb_get_suggestion.

gcc/testsuite/ChangeLog:
* gcc.dg/cpp/misspelled-directive-1.c: New testcase.
* gcc.dg/cpp/misspelled-directive-2.c: New testcase.

libcpp/ChangeLog:
* directives.c (directive_names): New array.
(_cpp_handle_directive): Offer spelling suggestions for misspelled
directives.
* errors.c (cpp_diagnostic_at_richloc): New function.
(cpp_error_at_richloc): New function.
* include/cpplib.h (struct cpp_callbacks): Add field
"get_suggestion".
(cpp_error_at_richloc): New decl.

From-SVN: r239585

8 years agore PR c/71514 (ICE on C11 code with atomic exchange at -O1 and above on x86_64-linux...
Marek Polacek [Thu, 18 Aug 2016 16:38:49 +0000 (16:38 +0000)]
re PR c/71514 (ICE on C11 code with atomic exchange at -O1 and above on x86_64-linux-gnu: in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:879)

PR c/71514
* c-common.c (get_atomic_generic_size): Disallow pointer-to-function
and pointer-to-VLA.

* gcc.dg/pr71514.c: New test.

From-SVN: r239581

8 years agoselftest.h: add class line_table_test
David Malcolm [Thu, 18 Aug 2016 16:22:10 +0000 (16:22 +0000)]
selftest.h: add class line_table_test

input.c has a fixture class for running each selftest with a fresh
line_table, and logic for looping over various interesting line_table
test cases.

This patch exposes the above in selftest.h so that such
location-handling tests can be written in other files, renaming the
class from temp_line_table to line_table_test.

Also, the patch moves the stored line table ptr from being a member of
the test class to being a global GC-root, to avoid it being collected
if the GC runs during such a test.

gcc/ChangeLog:
* input.c (saved_line_table): New global.
(class selftest::temp_line_table): Rename to line_table_test and
move declaration to selftest.h, and drop field m_old_line_table.
(selftest::temp_line_table::temp_line_table): Rename ctor to...
(selftest::line_table_test::line_table_test): ...this.  Add a
default ctor.  Store current value of line_table within
saved_line_table.
(selftest::temp_line_table::~temp_line_table): Rename dtor to...
(selftest::line_table_test::~line_table_test): ...this, and
restore line_table from the saved_line_table, rather than
m_old_line_table.
(selftest::test_accessing_ordinary_linemaps): Update for above
renaming.
(selftest::test_lexer): Likewise.
(struct selftest::lexer_test): Likewise.
(selftest::lexer_test::lexer_test): Likewise.
(selftest::input_c_tests): Move the looping over test cases from
here into...
(selftest::for_each_line_table_case): New function.
* input.h (saved_line_table): New decl.
* selftest.h (struct selftest::line_table_case): New forward decl.
(class selftest::line_table_test): New class, moved here from
selftest::temp_line_table in input.c, and renamed.
(selftest::for_each_line_table_case): New decl.

From-SVN: r239580

8 years agoIncrease MOVE_RATIO to 17 for Lakemont
H.J. Lu [Thu, 18 Aug 2016 14:59:46 +0000 (14:59 +0000)]
Increase MOVE_RATIO to 17 for Lakemont

Larger MOVE_RATIO will always make code faster.  17 is the number with
smaller code sizes for Lakemont.

gcc/

PR target/72839
* config/i386/i386.c (lakemont_cost): Set MOVE_RATIO to 17.

gcc/testsuite/

PR target/72839
* gcc.target/i386/pr72839.c: New test.

From-SVN: r239578

8 years agore PR middle-end/70895 (OpenACC: loop reduction does not work. Output is zero.)
Chung-Lin Tang [Thu, 18 Aug 2016 14:46:19 +0000 (14:46 +0000)]
re PR middle-end/70895 (OpenACC: loop reduction does not work. Output is zero.)

2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>

PR middle-end/70895
gcc/
* gimplify.c (omp_add_variable): Adjust/add variable mapping on
enclosing parallel construct for reduction variables on OpenACC loop
directives.

gcc/testsuite/
* gfortran.dg/goacc/loop-tree-1.f90: Add gimple scan-tree-dump test.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.

libgomp/
* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
firstprivate clauses.
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
copy clauses.
* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.

From-SVN: r239576

8 years agoDWARF: do not emit DW_TAG_variable to materialize DWARF procedures
Pierre-Marie de Rodat [Thu, 18 Aug 2016 14:39:22 +0000 (14:39 +0000)]
DWARF: do not emit DW_TAG_variable to materialize DWARF procedures

Hello,

For -gdwarf-3 and newer, the DWARF back-end sometimes generates DWARF
procedures to factorize complex location descriptions.  DWARF procedures
can be materialized as DW_TAG_dwarf_procedure DIEs, but actually any DIE
that can hold a DW_AT_location attribute is also accepted.

Unlike what I thought at some point, the DW_TAG_dwarf_procedure tag was
introduced in the DWARFv3 standard, not the DWARFv4 one, so the back-end
can always emit DW_TAG_dwarf_procedure DIEs, as this simplifies code and
prevents the types pruning pass from missing a DWARF procedure.

Boostrapped and regtested on x86_64-linux: no regression.  Ok to commit?
Thank you in advance!

gcc/

* dwarf2out.c (copy_dwarf_procedure): Remove obsolete comment.
(new_dwarf_proc_die): Emit DW_TAG_dwarf_procedure DIEs even for
-gdwarf-3.
(function_to_dwarf_procedure): Update comment.

From-SVN: r239575

8 years agoExpand libstdc++ docs on testing
Jonathan Wakely [Thu, 18 Aug 2016 13:47:42 +0000 (14:47 +0100)]
Expand libstdc++ docs on testing

* doc/xml/manual/test.xml (test.run.permutations): Expand section.
(test.new_tests): Rewrite section.
(tests.dg.directives): New section.
* doc/html/*: Regenerate.

From-SVN: r239574

8 years agoImprove documentation of libstdc++ test targets
Jonathan Wakely [Thu, 18 Aug 2016 13:47:37 +0000 (14:47 +0100)]
Improve documentation of libstdc++ test targets

* doc/xml/manual/test.xml: Improve documentation of test targets.
Document new-abi-baseline, check-debug, and check-parallel targets.

From-SVN: r239573

8 years agoDocument libstdc++.so versioning in manual
Jonathan Wakely [Thu, 18 Aug 2016 13:47:33 +0000 (14:47 +0100)]
Document libstdc++.so versioning in manual

* doc/xml/manual/build_hacking.xml: New section on shared library
versioning.

From-SVN: r239572

8 years agoImprove markup in libstdc++ manual
Jonathan Wakely [Thu, 18 Aug 2016 13:47:28 +0000 (14:47 +0100)]
Improve markup in libstdc++ manual

* doc/xml/manual/build_hacking.xml: Improve markup.
* doc/xml/manual/test.xml: Likewise. Change section title from "Test"
to "Testing".
* doc/xml/faq.xml: Change link text to "Testing".

From-SVN: r239571

8 years agoEvict selftest tempfiles from the diagnostics file cache
David Malcolm [Thu, 18 Aug 2016 13:07:53 +0000 (13:07 +0000)]
Evict selftest tempfiles from the diagnostics file cache

Selftests can use class selftest::temp_source_file to write out files
for testing input-handling, and the files are unlinked in the dtor.

This leads to stale entries in input.c's cache of file content, which
could lead to errors if a temporary filename gets reused during a run
of the selftests.

We don't normally expect files to be "deleted from under us", so
special-case this by adding a special way for temp_source_file's
dtor to purge any cache entries referring to it.

gcc/ChangeLog:
* input.c (diagnostics_file_cache_forcibly_evict_file): New
function.
* input.h (diagnostics_file_cache_forcibly_evict_file): New
declaration.
* selftest.c (selftest::temp_source_file::~temp_source_file):
Evict m_filename from the diagnostic file cache.

From-SVN: r239570

8 years agotree-pass.h (make_pass_materialize_all_clones): Declare.
Richard Biener [Thu, 18 Aug 2016 10:41:53 +0000 (10:41 +0000)]
tree-pass.h (make_pass_materialize_all_clones): Declare.

2016-08-18  Richard Biener  <rguenther@suse.de>

* tree-pass.h (make_pass_materialize_all_clones): Declare.
* ipa.c (pass_data_materialize_all_clones, pass_materialize_all_clones,
make_pass_materialize_all_clones): New simple IPA pass encapsulating
clone materialization.
* passes.def (all_late_ipa_passes): Start with
pass_materialize_all_clones.
* cgraphunit.c (symbol_table::compile): Remove call to
materialize_all_clones.
* tree-into-ssa.c: Include statistics.h.
(update_ssa): Count number of times we do incremental/rewrite
SSA update.

From-SVN: r239567

8 years agore PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
Marek Polacek [Thu, 18 Aug 2016 10:28:03 +0000 (10:28 +0000)]
re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)

PR c/7652
gcc/cp/
* call.c (add_builtin_candidate): Add gcc_fallthrough.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.
* parser.c (cp_parser_skip_to_end_of_statement): Likewise.
(cp_parser_cache_defarg): Likewise.
libcpp/
* pch.c (write_macdef): Add CPP_FALLTHRU.

From-SVN: r239566

8 years agore PR tree-optimization/77282 (test case gcc.dg/autopar/pr46193.c fails starting...
Richard Biener [Thu, 18 Aug 2016 10:06:03 +0000 (10:06 +0000)]
re PR tree-optimization/77282 (test case gcc.dg/autopar/pr46193.c fails starting with r239414)

2016-08-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77282
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
When doing auto-parallelizing also prevent use of PHIs that
carry dependences across loop backedges.

From-SVN: r239565

8 years agoRemove unintended dg-options directive
Jonathan Wakely [Thu, 18 Aug 2016 09:58:28 +0000 (10:58 +0100)]
Remove unintended dg-options directive

* testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
dg-options directive.

From-SVN: r239564

8 years ago[PATCH] [GCC] Don't use section anchors for declarations that don't fit in a single...
Tamar Christina [Thu, 18 Aug 2016 08:45:53 +0000 (08:45 +0000)]
[PATCH] [GCC] Don't use section anchors for declarations that don't fit in a single anchor range

On behalf of Tamar Christina  <tamar.christina@arm.com>.

gcc/

* varasm.c (default_use_anchors_for_symbol_p): Reject too large decls.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r239561

8 years agossa-iterators.h (ssa_vuse_operand): New inline.
Richard Biener [Thu, 18 Aug 2016 07:21:11 +0000 (07:21 +0000)]
ssa-iterators.h (ssa_vuse_operand): New inline.

2016-08-18  Richard Biener  <rguenther@suse.de>

* ssa-iterators.h (ssa_vuse_operand): New inline.
* tree-if-conv.c (ifc_temp_var): Update virtual operand.
(predicate_all_scalar_phis): Use remove_phi_node to remove
phi nodes predicated.  Delay removing virtual PHIs.
(predicate_mem_writes): Update virtual operands.
(combine_blocks): Likewise.  Propagate out remaining virtual PHIs.
(tree_if_conversion): Do not rewrite virtual SSA form.
* tree-phinodes.c (release_phi_node): Make static.
* tree-phinodes.h (release_phi_node): Remove.

From-SVN: r239560

8 years agoi386.c (enum ix86_builtins): Remove IX86_BUILTIN_* codes that appear in bdesc_* arrays...
Jakub Jelinek [Thu, 18 Aug 2016 06:58:46 +0000 (08:58 +0200)]
i386.c (enum ix86_builtins): Remove IX86_BUILTIN_* codes that appear in bdesc_* arrays...

* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_*
codes that appear in bdesc_* arrays, instead include i386-builtin.def
twice to define those.
(bdesc_comi, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_special_args,
bdesc_args, bdesc_round_args, bdesc_mpx, bdesc_mpx_const,
bdesc_multi_arg): Define by including i386-builtin.def the third time.
* config/i386/i386-builtin.def: New file.

From-SVN: r239559

8 years agoDaily bump.
GCC Administrator [Thu, 18 Aug 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239553

8 years agoinput.c: move test functions within #CHECKING_P and into selftest::
David Malcolm [Thu, 18 Aug 2016 00:13:26 +0000 (00:13 +0000)]
input.c: move test functions within #CHECKING_P and into selftest::

gcc/ChangeLog:
* input.c (get_source_range_for_char): Rename to...
(selftest::get_source_range_for_char): ...this, and move within
the #if CHECKING_P guard.
(get_num_source_ranges_for_substring): Rename to...
(selftest::get_num_source_ranges_for_substring): ...this, move
within the #if CHECKING_P guard, and make static.
(selftest::assert_num_substring_ranges): Initialize
actual_num_ranges.

From-SVN: r239550

8 years ago[RELOAD] Don't assume subreg mem address is ok
Alan Modra [Wed, 17 Aug 2016 22:41:22 +0000 (08:11 +0930)]
[RELOAD] Don't assume subreg mem address is ok

This patch fixes a case where reload blindly assumes a subreg mem is
OK if its address has been partially reloaded by legitimize_reload_address.

PR rtl-optimization/72771
* reload.c (find_reloads): Don't assume that a subreg mem is OK
when find_reloads_toplev returns address_reloaded==-1.
(alternative_allows_const_pool_ref): Update comment.
testsuite/
* gcc.c-torture/compile/pr72771.c: New.

From-SVN: r239549

8 years agoFix invalid dg-do directive
Jonathan Wakely [Wed, 17 Aug 2016 19:58:44 +0000 (20:58 +0100)]
Fix invalid dg-do directive

* testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
directive and use effective target instead of dg-options.

From-SVN: r239548

8 years agoUse effective target instead of -std in dg-options
Jonathan Wakely [Wed, 17 Aug 2016 19:43:13 +0000 (20:43 +0100)]
Use effective target instead of -std in dg-options

* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
instead of -std in dg-options.
* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
* testsuite/20_util/hash/quality.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.

From-SVN: r239547

8 years agoAdd c++11 effective target to tests for C++11 features
Jonathan Wakely [Wed, 17 Aug 2016 19:23:15 +0000 (20:23 +0100)]
Add c++11 effective target to tests for C++11 features

* testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
* testsuite/27_io/rvalue_streams.cc: Likewise.

From-SVN: r239545

8 years agore PR fortran/67496 (trans-array.c sanitizer runtime error: load of value 124, which...
Jakub Jelinek [Wed, 17 Aug 2016 19:08:49 +0000 (21:08 +0200)]
re PR fortran/67496 (trans-array.c sanitizer runtime error: load of value 124, which is not a valid value for type 'bool')

PR fortran/67496
* trans-array.c (trans_array_constructor): Load
expr->ts.u.cl->length_from_typespec only if expr->ts.type is
BT_CHARACTER.

* gfortran.dg/pr67496.f90: New test.

From-SVN: r239544

8 years agoAdd comment explaining why -std=c++14 is needed.
Jonathan Wakely [Wed, 17 Aug 2016 16:09:15 +0000 (17:09 +0100)]
Add comment explaining why -std=c++14 is needed.

* testsuite/26_numerics/complex/literals/types.cc: Add comment.

From-SVN: r239543

8 years agore PR tree-optimization/71752 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip...
Alan Hayward [Wed, 17 Aug 2016 15:31:44 +0000 (15:31 +0000)]
re PR tree-optimization/71752 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:229 w/ -O1 -ftree-vectorize)

2015-08-17  Alan Hayward <alan.hayward@arm.com>

PR tree-optimization/71752
* tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.

PR tree-optimization/71752
* gcc.dg/vect/pr71752.c: New

From-SVN: r239542

8 years agodec_init_2.f90: Use dg-add-options ieee.
Uros Bizjak [Wed, 17 Aug 2016 14:33:20 +0000 (16:33 +0200)]
dec_init_2.f90: Use dg-add-options ieee.

* gfortran.dg/dec_init_2.f90: Use dg-add-options ieee.

From-SVN: r239540

8 years agogimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p instead of testing ECF_N...
Jakub Jelinek [Wed, 17 Aug 2016 14:24:53 +0000 (16:24 +0200)]
gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p instead of testing ECF_NORETURN bit in gimple_call_flags.

* gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
instead of testing ECF_NORETURN bit in gimple_call_flags.
* tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
* predict.c (tree_bb_level_predictions): Likewise.
* gimple-low.c (gimple_stmt_may_fallthru): Likewise.

From-SVN: r239539

8 years agoRemove duplicate dg-options directive
Jonathan Wakely [Wed, 17 Aug 2016 14:11:20 +0000 (15:11 +0100)]
Remove duplicate dg-options directive

* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
Remove duplicate dg-options directive.

From-SVN: r239538

8 years agore PR middle-end/77259 (ICE in emit_move_insn since r232167)
Jakub Jelinek [Wed, 17 Aug 2016 13:56:30 +0000 (15:56 +0200)]
re PR middle-end/77259 (ICE in emit_move_insn since r232167)

PR middle-end/77259
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
turning a call into __builtin_unreachable-like noreturn call, adjust
gimple_call_set_fntype.
* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
gimple_call_fntype has void return type.

* g++.dg/ipa/devirt-52.C: New test.

From-SVN: r239537

8 years agoAdjust DG directives in libstdc++ Profile Mode test
Jonathan Wakely [Wed, 17 Aug 2016 13:39:14 +0000 (14:39 +0100)]
Adjust DG directives in libstdc++ Profile Mode test

* testsuite/ext/profile/all.cc: Use effective target instead of
-std=gnu++11. Use dg-additional-options instead of repeating options.

From-SVN: r239536

8 years agoAdjust DG directives in libstdc++ XFAIL test
Jonathan Wakely [Wed, 17 Aug 2016 13:39:10 +0000 (14:39 +0100)]
Adjust DG directives in libstdc++ XFAIL test

* testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
-std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
instead of dg-excess-errors.

From-SVN: r239535

8 years agoAdjust testcases for C++17 compatibility
Jonathan Wakely [Wed, 17 Aug 2016 13:39:05 +0000 (14:39 +0100)]
Adjust testcases for C++17 compatibility

* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
test for C++17.
* testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
* testsuite/experimental/ratio/value.cc: Likewise.
* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
C++17.
* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
C++17 compatibility.

From-SVN: r239534

8 years agoAdjust testcase for C++14 compatibility
Jonathan Wakely [Wed, 17 Aug 2016 13:38:58 +0000 (14:38 +0100)]
Adjust testcase for C++14 compatibility

* testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
expected signatures for C++14 compatibility.

From-SVN: r239533

8 years agoPR 77264 constrain new std::basic_string overloads
Jonathan Wakely [Wed, 17 Aug 2016 13:38:52 +0000 (14:38 +0100)]
PR 77264 constrain new std::basic_string overloads

PR libstdc++/77264
* include/bits/basic_string.h (operator=(__sv_type)
(append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
(replace(size_type, size_type, __sv_type))
(replace(const_iterator, const_iterator, __sv_type))
(find(__sv_type, size_type), rfind(__sv_type, size_type))
(compare(size_type, size_type, __sv_type)): Reformat.
(_If_sv): Define helper for SFINAE constaints.
(append(const _Tp&, size_type, size_type))
(assign(const _Tp&, size_type, size_type))
(insert(size_type, const _Tp&, size_type, size_type))
(replace(size_type, size_type, const _Tp&, size_type, size_type)):
Use _If_sv.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
SFINAE constraints.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.

From-SVN: r239532

8 years agoomp-low.c (lower_oacc_reductions): Adjust variable lookup to use maybe_lookup_decl...
Chung-Lin Tang [Wed, 17 Aug 2016 12:08:30 +0000 (12:08 +0000)]
omp-low.c (lower_oacc_reductions): Adjust variable lookup to use maybe_lookup_decl...

2016-08-17  Chung-Lin Tang  <cltang@codesourcery.com>

* omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
maybe_lookup_decl, to handle nested acc loop directives.

testsuite/
* c-c++-common/goacc/reduction-6.c: New testcase.

From-SVN: r239530

8 years agore PR tree-optimization/76490 (when use -O2 -fcheck-founds compiler appears to hang...
Richard Biener [Wed, 17 Aug 2016 11:51:51 +0000 (11:51 +0000)]
re PR tree-optimization/76490 (when use -O2 -fcheck-founds compiler appears to hang and consumes all memory)

2016-08-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/76490
* tree-vrp.c (update_value_range): Preserve overflow infinities
when intersecting with ranges from get_range_info.
(operand_less_p): Handle overflow infinities correctly.
(value_range_constant_singleton): Use vrp_operand_equal_p
to handle overflow max/min correctly.
(vrp_valueize): Likewise.
(union_ranges): Likewise.
(intersect_ranges): Likewise.
(vrp_visit_phi_node): Improve iteration limitation to only
apply when we'll possibly re-visit the PHI via a changed argument
on the backedge.

* gfortran.fortran-torture/compile/pr76490.f90: New testcase.
* gcc.dg/pr52904.c: XFAIL.

From-SVN: r239529

8 years agot-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
Thomas Preud'homme [Wed, 17 Aug 2016 11:15:29 +0000 (11:15 +0000)]
t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...

2016-08-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
    (MULTILIB_REQUIRED): This by specifying multilib needing to be built
    rather than those that should not be built.

From-SVN: r239528

8 years agomark_spam.py: Mark as spam all comments done by a creator
Martin Liska [Wed, 17 Aug 2016 10:30:54 +0000 (12:30 +0200)]
mark_spam.py: Mark as spam all comments done by a creator

* mark_spam.py: Mark as spam all comments done by a creator.

From-SVN: r239527

8 years agoDocument branch_changer.py script
Martin Liska [Wed, 17 Aug 2016 10:30:37 +0000 (12:30 +0200)]
Document branch_changer.py script

* branch_changer.py: Describe the script. Add sample usage
of the script.

From-SVN: r239526

8 years ago016-08-17 Stanislaw Halik <sthalik@misaki.pl>
Stanislaw Halik [Wed, 17 Aug 2016 09:34:52 +0000 (11:34 +0200)]
016-08-17  Stanislaw Halik  <sthalik@misaki.pl>

        PR target/66488
        * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.

From-SVN: r239525

8 years agotree-ssa.c: Include tree-cfg.h and tree-dfa.h.
Richard Biener [Wed, 17 Aug 2016 08:18:47 +0000 (08:18 +0000)]
tree-ssa.c: Include tree-cfg.h and tree-dfa.h.

2016-08-17  Richard Biener  <rguenther@suse.de>

* tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
(verify_vssa): New function verifying virtual SSA form.
(verify_ssa): Call it.
* tree-ssa-loop-manip.c (slpeel_update_phi_nodes_for_guard2):
Do not apply loop-closed SSA handling to virtuals.
* ssa-iterators.h (op_iter_init): Handle GIMPLE_TRANSACTION.
* tree-into-ssa.c (prepare_use_sites_for): Skip virtual SSA names
when rewriting their symbol.
(prepare_def_site_for): Likewise.
* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Clear virtual
operands of moved stmts.

From-SVN: r239524

8 years agore PR tree-optimization/23855 (loop header should also be pulled out of the inner...
Richard Biener [Wed, 17 Aug 2016 08:11:32 +0000 (08:11 +0000)]
re PR tree-optimization/23855 (loop header should also be pulled out of the inner loop too)

2016-08-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/23855
* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
find guards to hoist.  Do not update SSA form but rewrite virtuals
into loop closed SSA.
(find_loop_guard): Adjust to skip already hoisted guards.  Do
not mark virtuals for renaming or update SSA form.

* gcc.dg/loop-unswitch-2.c: Adjust.

From-SVN: r239523

8 years agoDo not use LONG_LONG_TYPE_SIZE in #if macro condition
Martin Liska [Wed, 17 Aug 2016 06:55:35 +0000 (08:55 +0200)]
Do not use LONG_LONG_TYPE_SIZE in #if macro condition

* coverage.c (get_gcov_type): Replace GCOV_TYPE_SIZE with
a LONG_LONG_TYPE_SIZE comparison.
* gcov-io.h: Remove macro definitions.
* tree-profile.c (gimple_gen_edge_profiler): Replace usage
of GCOV_TYPE_ATOMIC_FETCH_ADD with a LONG_LONG_TYPE_SIZE
comparison.

From-SVN: r239522

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

From-SVN: r239518

8 years agore PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32...
Jakub Jelinek [Tue, 16 Aug 2016 22:06:45 +0000 (00:06 +0200)]
re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))

PR tree-optimization/72817
* gcc.dg/tree-ssa/pr72817.c (a): Change type from char to signed char.

From-SVN: r239514

8 years agoUpdate soft-fp from glibc (PR libgcc/77265).
Joseph Myers [Tue, 16 Aug 2016 21:30:56 +0000 (22:30 +0100)]
Update soft-fp from glibc (PR libgcc/77265).

This patch updates soft-fp from glibc, bringing in the fix for PR
libgcc/77265, XFmode extension to TFmode wrongly turning an infinity
into a NaN.  A test for that bug is added.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

PR libgcc/77265
gcc/testsuite:
* gcc.dg/torture/float128-extend-inf.c: New test.

libgcc:
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.

From-SVN: r239513

8 years agoi386.c (enum ix86_builtins): Reorder enumerators...
Jakub Jelinek [Tue, 16 Aug 2016 19:27:41 +0000 (21:27 +0200)]
i386.c (enum ix86_builtins): Reorder enumerators...

* config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
that builtins not mentioned in bdesc_* arrays come first, then
the ones mentioned in bdesc_* arrays in the order they appear in
the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
IX86_BUILTIN__BDESC_*_LAST enumerator.
(bdesc_mpx): Fix up a comment typo.
(bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
__builtin_ia32_vpcomneu[bwdq] builtins.
(BDESC_VERIFY, BDESC_VERIFYS): Define.
(ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
enum ix86_builtins ordering.
(ix86_expand_builtin): Use enum ix86_builtins ordering assumption
for direct bdesc_* array member access instead of searching all the
arrays until an fcode match is found.

From-SVN: r239512

8 years agoi386.md (*ashl<mode>3_mask): Rewrite define_insn pattern as define_insn_and_split.
Uros Bizjak [Tue, 16 Aug 2016 18:23:47 +0000 (20:23 +0200)]
i386.md (*ashl<mode>3_mask): Rewrite define_insn pattern as define_insn_and_split.

* config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
pattern as define_insn_and_split.  Split insn before reload to
ashl<mode>3_1.
(*<shift_insn><mode>3_mask): Ditto.  Split insn before reload to
<shift_insn><mode>3_1.
(*<rotate_insn><mode>3_mask): Ditto.  Split insn before reload to
<rotate_insn><mode>3_1.

From-SVN: r239511

8 years agoFix caret locations in format_type_warning (PR c/72857)
David Malcolm [Tue, 16 Aug 2016 18:19:34 +0000 (18:19 +0000)]
Fix caret locations in format_type_warning (PR c/72857)

gcc/c-family/ChangeLog:
PR c/72857
* c-common.c (substring_loc::get_range): Rename to...
(substring_loc::get_location): ...this, converting param from a
source_range * to a location_t *.  Call
get_source_location_for_substring rather than
get_source_range_for_substring, and pass in m_caret_idx.
* c-common.h (substring_loc::substring_loc): Add param "caret_idx".
(substring_loc::get_range): Replace with...
(substring_loc::get_location): ...this.
(substring_loc::set_caret_index): New method.
(substring_loc): Add field m_caret_idx.
* c-format.c (format_warning_va): Update for above changes.
Rename local "substring_loc" to "fmt_substring_loc" to avoid
clashing with type name.
(format_warning_at_char): Add caret_idx param to substring_loc ctor.
(check_argument_type): Likewise.
(format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
Use a copy when emitting warnings, setting the caret index from TYPE.

gcc/ChangeLog:
PR c/72857
* input.c (get_source_range_for_substring): Rename to...
(get_source_location_for_substring): ...this, adding param
"caret_idx", and converting output param from source_range * to
location_t *.
(get_source_range_for_char): New function.
(get_num_source_ranges_for_substring): Update comment to reflect
above renaming.
(assert_char_at_range): Update to use get_source_range_for_char
rather than get_source_range_for_substring.
(test_lexer_string_locations_concatenation_2): Likewise.
* substring-locations.h (get_source_range_for_substring): Rename
to...
(get_source_location_for_substring): ...this, and adding param
"caret_idx", and converting output param from source_range * to
location_t *.

gcc/testsuite/ChangeLog:
PR c/72857
* gcc.dg/format/asm_fprintf-1.c: Restore column numbers
for embedded NUL.
* gcc.dg/format/c90-printf-1.c: Restore column numbers.
* gcc.dg/format/diagnostic-ranges.c (test_hex): Update expected
caret placement.
(test_oct): Likewise.
(test_multiple): Likewise.
(test_field_width_specifier): Likewise.
(test_field_width_specifier_2): New function.
(test_field_precision_specifier): New function.
(test_embedded_nul): Update expected caret placement.
(test_non_contiguous_strings): Update line number.
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(__emit_string_literal_range): Add "caret_idx" param.
(test_simple_string_literal): Add value for new param, updating
expected output..
(test_concatenated_string_literal): Likewise.
(test_multiline_string_literal): Likewise.
(test_hex): Likewise.
(test_oct): Likewise.
(test_multiple): Likewise.
(test_ucn4): Likewise.
(test_ucn8): Likewise.
(test_u8): Likewise.
(test_u): Likewise; update expected message, from "range" to
"location".
(test_U): Likewise.
(test_L): Likewise.
(test_macro): Add value for new param.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c
(__emit_string_literal_range): Add "caret_idx" param.
(test_stringified_token_1): Add value for new param.  Update
expected message, from "range" to "location".
(test_stringized_token_2): Likewise, adding param to macro.
(test_stringified_token_3): Likewise.
* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
(emit_warning): Convert param from source_range to location_t.
(test_string_literals): Add caret_idx param, and use it when
constructing a substring_loc.  Update error message, from
"range" to "location".

From-SVN: r239510

8 years agoMove class temp_source_file from input.c to selftest.c/h
David Malcolm [Tue, 16 Aug 2016 18:02:43 +0000 (18:02 +0000)]
Move class temp_source_file from input.c to selftest.c/h

gcc/ChangeLog:
* input.c (class selftest::temp_source_file): Move to
selftest.h.
(selftest::temp_source_file::temp_source_file): Move to
selftest.c.
(selftest::temp_source_file::~temp_source_file): Likewise.
* selftest.c (selftest::temp_source_file::temp_source_file): Move
here from input.c.
(selftest::temp_source_file::~temp_source_file): Likewise.
* selftest.h (class selftest::temp_source_file): Move here from
input.c

From-SVN: r239509

8 years agore PR target/71910 (ICE on valid OpenMP code)
Jakub Jelinek [Tue, 16 Aug 2016 16:50:47 +0000 (18:50 +0200)]
re PR target/71910 (ICE on valid OpenMP code)

PR target/71910
* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before inlining,
add cgraph edge for the added __builtin_unreachable call.

* g++.dg/gomp/pr71910.C: New test.

From-SVN: r239508

8 years agore PR middle-end/67485 (expmed.c sanitizer detects overflow)
Jakub Jelinek [Tue, 16 Aug 2016 16:48:16 +0000 (18:48 +0200)]
re PR middle-end/67485 (expmed.c sanitizer detects overflow)

PR middle-end/67485
* expmed.c (expand_mult_const): Change val_so_far's type to UHWI,
only cast it to SHWI for the final comparison.

* gcc.c-torture/compile/pr67485.c: New test.

From-SVN: r239507

8 years agore PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compil...
Jakub Jelinek [Tue, 16 Aug 2016 16:23:46 +0000 (18:23 +0200)]
re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time)

PR target/72867
* gcc.target/i386/pr72867.c: Add -msse to dg-options.

From-SVN: r239505

8 years agogcov: add new option (--hash-filenames) (PR
Martin Liska [Tue, 16 Aug 2016 14:14:18 +0000 (16:14 +0200)]
gcov: add new option (--hash-filenames) (PR

PR gcov-profile/36412
* doc/gcov.texi: Document --hash-filenames(-x).
* gcov.c (print_usage): Add the option.
(process_args): Process the option, sort options alphabetically.
(md5sum_to_hex): New function.
(make_gcov_file_name): Do the md5sum and append it to a
filename.

From-SVN: r239503

8 years agore PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)
Bin Cheng [Tue, 16 Aug 2016 13:09:40 +0000 (13:09 +0000)]
re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)

PR tree-optimization/69848
* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Invert NE
and swtich operands to avoid additional NOT instruction.
(vcond<v_cmp_mixed><mode>): Ditto.
(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.

gcc/testsuite
* gcc.target/aarch64/simd/vcond-ne-bit.c: New test.

From-SVN: r239502

8 years ago* doc/install.texi (*-*-solaris2*): Adjust latest change.
Eric Botcazou [Tue, 16 Aug 2016 12:43:12 +0000 (12:43 +0000)]
* doc/install.texi (*-*-solaris2*): Adjust latest change.

From-SVN: r239499

8 years agoFix val-prof-7.c on --target_board 'unix/-m32'
Martin Liska [Tue, 16 Aug 2016 12:28:46 +0000 (14:28 +0200)]
Fix val-prof-7.c on --target_board 'unix/-m32'

* gcc.dg/tree-prof/val-prof-7.c (int main): Change size
of memory operations so that it can be handled by core2
in 32-bit mode.

From-SVN: r239498

8 years agoPR 72847 Prevent double-free in std::vector<bool>
Jonathan Wakely [Tue, 16 Aug 2016 11:33:16 +0000 (12:33 +0100)]
PR 72847 Prevent double-free in std::vector<bool>

PR libstdc++/72847
* include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
pointers to start and end of storage.
* testsuite/23_containers/vector/bool/72847.cc: New test.
* include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
_M_finish after deallocating.
(vector<bool>::_M_fill_insert): Likewise.
(vector<bool>::_M_insert_range): Likewise.
(vector<bool>::_M_insert_aux): Likewise.

From-SVN: r239497

8 years agore PR tree-optimization/76783 (wrong code with conditional vector assignment @ -Og)
Richard Biener [Tue, 16 Aug 2016 11:22:47 +0000 (11:22 +0000)]
re PR tree-optimization/76783 (wrong code with conditional vector assignment @ -Og)

2016-08-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/76783
* tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
BB visited flags at start.

* gcc.dg/pr76783.c: New testcase.
* gcc.dg/tree-ssa/pr69270-2.c: Adjust.

From-SVN: r239496

8 years agore PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32...
Bin Cheng [Tue, 16 Aug 2016 09:13:50 +0000 (09:13 +0000)]
re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))

PR tree-optimization/72817
PR tree-optimization/73450
* tree-ssa-loop-niter.c (number_of_iterations_ne): Check
multiple_of_p for adjusted IV.base.

gcc/testsuite
* gcc.dg/tree-ssa/pr72817.c: New test.
* gcc.dg/tree-ssa/pr73450.c: New test.

From-SVN: r239494

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

From-SVN: r239492

8 years agolang.opt, [...]: New flag -finit-derived.
Fritz Reese [Mon, 15 Aug 2016 21:19:09 +0000 (21:19 +0000)]
lang.opt, [...]: New flag -finit-derived.

2016-08-15  Fritz Reese  <fritzoreese@gmail.com>

gcc/fortran/
* lang.opt, invoke.texi: New flag -finit-derived.
* gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
gfc_generate_initializer): New prototypes.
* expr.c (gfc_build_default_init_expr, gfc_apply_init,
component_initializer, gfc_generate_initializer): New functions.
* expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
* decl.c (build_struct): Move common code to gfc_apply_init.
* resolve.c (can_generate_init): New function.
* resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
* resolve.c (apply_default_init, resolve_fl_variable_derived): Use
gfc_generate_initializer.
* trans-decl.c (gfc_generate_function_code): Use
gfc_generate_initializer.

gcc/testsuite/gfortran.dg/
* init_flag_13.f90: New testcase.
* init_flag_14.f90: Ditto.
* init_flag_15.f03: Ditto.
* dec_init_1.f90: Ditto.
* dec_init_2.f90: Ditto.

From-SVN: r239489

8 years agofrontend-passes.c (create_var): Set ts.deferred for deferred-length character variables.
Thomas Koenig [Mon, 15 Aug 2016 19:34:48 +0000 (19:34 +0000)]
frontend-passes.c (create_var): Set ts.deferred for deferred-length character variables.

2016-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (create_var):  Set ts.deferred for
deferred-length character variables.
* dump-parse-tree.c (show_typespec):  Also dump
is_c_interop, is_iso_c and deferred flags.

From-SVN: r239488

8 years agore PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compil...
Uros Bizjak [Mon, 15 Aug 2016 18:46:53 +0000 (20:46 +0200)]
re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time)

PR target/72867
* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
for !flag_finite_math_only or flag_signed_zeros.
(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
depend on flag_finite_math_only.
(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
New insn pattern.
(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
(*ieee_smin<mode>3): Ditto.
(*ieee_smax<mode>3): Ditto.
* config/i386/mmx.md (mmx_<code>v2sf3): Emit
mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
flag_signed_zeros.
(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
depend on flag_finite_math_only.
(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
(*mmx_<code>v2sf3): Remove.
* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
flag_signed_zeros instead of !flag_unsafe_math_optimizations.

testsuite/ChangeLog:

PR target/72867
* gcc.target/i386/pr72867.c: New test.

From-SVN: r239487

8 years agocmd/go: ignore errors from go/build for standard packages
Ian Lance Taylor [Mon, 15 Aug 2016 18:05:24 +0000 (18:05 +0000)]
cmd/go: ignore errors from go/build for standard packages

    The go/build package does not know that gccgo's standard packages don't
    have source, and will report an error saying that it can not find them.
    Work around that in the cmd/go sources, since the go/build sources don't
    currently have a list of standard packages.

    This should get a real fix in the master sources, somehow.

    Fixes golang/go#16701.

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

From-SVN: r239486

8 years agolra: A multiple_sets is not a simple_move_p (PR73650)
Segher Boessenkool [Mon, 15 Aug 2016 16:17:21 +0000 (18:17 +0200)]
lra: A multiple_sets is not a simple_move_p (PR73650)

In the PR we have a PARALLEL of a move and a compare (a "mr." instruction).
The compare is dead, so single_set on it returns just the move.  Then,
simple_move_p returns true; but the instruction does need reloads in this
case.  This patch solves this by making simple_move_p return false for
every multiple_sets instruction.

PR rtl-optimization/73650
* lra-constraints.c (simple_move_p): If the insn is multiple_sets
it is not a simple move.

From-SVN: r239483

8 years agoImplement LWG 2744 and LWG 2754.
Ville Voutilainen [Mon, 15 Aug 2016 15:06:09 +0000 (18:06 +0300)]
Implement LWG 2744 and LWG 2754.

* include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
(any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
Likewise.
(emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/utility: (__is_in_place_type_impl): New.
(__is_in_place_type): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
emplace.
* testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
in_place constructor.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/any/requirements.cc: Add a test for
in_place-constructing a non-default-constructible type.

From-SVN: r239482

8 years agoc-ada-spec.c (dump_number): New function.
Eric Botcazou [Mon, 15 Aug 2016 13:05:37 +0000 (13:05 +0000)]
c-ada-spec.c (dump_number): New function.

* c-ada-spec.c (dump_number): New function.
(handle_escape_character): Likewise.
(print_ada_macros): Add handling of constant integers and strings.

Co-Authored-By: Arnaud Charlet <charlet@adacore.com>
From-SVN: r239481

8 years agoAdd a feature macro for C++17 make_from_tuple.
Ville Voutilainen [Mon, 15 Aug 2016 12:46:47 +0000 (15:46 +0300)]
Add a feature macro for C++17 make_from_tuple.

* include/std/tuple (__cpp_lib_make_from_tuple): New.
* testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.

From-SVN: r239480

8 years agoops.cc: Always include ostream and ext/stdio_filebuf.h.
Uros Bizjak [Mon, 15 Aug 2016 11:40:37 +0000 (13:40 +0200)]
ops.cc: Always include ostream and ext/stdio_filebuf.h.

* src/filesystem/ops.cc: Always include ostream and
ext/stdio_filebuf.h.
(do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
[_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
sendfile fails with ENOSYS or EINVAL.

From-SVN: r239479

8 years agogcov-tool: Do not segfault in merge operation (PR
Gilles Gouaillardet [Mon, 15 Aug 2016 11:23:27 +0000 (11:23 +0000)]
gcov-tool: Do not segfault in merge operation (PR

PR gcov-profile/67097
* libgcov-util.c (gcov_profile_merge): Skip missing files.

From-SVN: r239478

8 years agoFix invalid memory access in gcc.c (driver/72765)
Martin Liska [Mon, 15 Aug 2016 11:16:50 +0000 (13:16 +0200)]
Fix invalid memory access in gcc.c (driver/72765)

PR driver/72765
* gcc.c (do_spec_1): Call save_string with the right size.
(save_string): Do an assert about string we copy.

From-SVN: r239475

8 years agoree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
Richard Biener [Mon, 15 Aug 2016 11:07:52 +0000 (11:07 +0000)]
ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.

2016-08-15  Richard Biener  <rguenther@suse.de>

* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
* config/i386/i386.c (pass_data_insert_vzeroupper): Account to
TV_MACH_DEP.
(pass_data_stv): Likewise.

From-SVN: r239474

8 years agore PR tree-optimization/73434 (Wrong code with casting, branches and aliasing)
Richard Biener [Mon, 15 Aug 2016 09:56:00 +0000 (09:56 +0000)]
re PR tree-optimization/73434 (Wrong code with casting, branches and aliasing)

2016-08-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/73434
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
TBAA info on the base when forwarding a non-invariant address.

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

From-SVN: r239471

8 years agodwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes.
Jakub Jelinek [Mon, 15 Aug 2016 09:51:44 +0000 (11:51 +0200)]
dwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes.

* dwarf2.def (DW_AT_string_length_bit_size,
DW_AT_string_length_byte_size): New attributes.

* dwarf2out.c (struct checksum_attributes): Add
at_string_length_bit_size and at_string_length_byte_size fields.
(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
and DW_AT_string_length_byte_size.
(die_checksum_ordered): Handle at_string_length_bit_size and
at_string_length_byte_size.
(gen_array_type_die): For dwarf_version >= 5 emit
DW_AT_string_length_byte_size instead of DW_AT_byte_size.
(adjust_string_types): For dwarf_version >= 5 remove
DW_AT_string_length_byte_size instead of DW_AT_byte_size.
(resolve_addr): Likewise.

From-SVN: r239470

8 years agore PR debug/71906 (Fortran allocatable strings debug info type size regression)
Jakub Jelinek [Mon, 15 Aug 2016 09:50:33 +0000 (11:50 +0200)]
re PR debug/71906 (Fortran allocatable strings debug info type size regression)

PR debug/71906
* dwarf2out.c (string_types): New variable.
(gen_array_type_die): Change early_dwarf handling of
DW_AT_string_length, create DW_OP_call4 referencing the
length var temporarily.  Handle parameters that are pointers
to string length.
(adjust_string_types): New function.
(gen_subprogram_die): Temporarily set string_types to local var,
call adjust_string_types if needed.
(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
New functions.
(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.

* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
for decl's character length before gfc_finish_var_decl on the
decl itself.

From-SVN: r239469

8 years agoEnhance mark_spam.py script
Martin Liska [Mon, 15 Aug 2016 09:30:44 +0000 (11:30 +0200)]
Enhance mark_spam.py script

* mark_spam.py: Add error handling and reset
another properties of attachments and bugs.

From-SVN: r239467

8 years agoinstall.texi (*-*-solaris2*): Fix version number and document requirement on GNU...
Eric Botcazou [Mon, 15 Aug 2016 09:16:17 +0000 (09:16 +0000)]
install.texi (*-*-solaris2*): Fix version number and document requirement on GNU make for building libjava...

* doc/install.texi (*-*-solaris2*): Fix version number and document
requirement on GNU make for building libjava with the Solaris linker.

From-SVN: r239464

8 years agore PR testsuite/72840 (PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc)
Thomas Preud'homme [Mon, 15 Aug 2016 09:14:15 +0000 (09:14 +0000)]
re PR testsuite/72840 (PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc)

2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR libstdc++/72840
    * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
    syntax.

From-SVN: r239463

8 years agore PR tree-optimization/72824 (Signed floating point zero semantics broken at optimiz...
Jakub Jelinek [Mon, 15 Aug 2016 08:31:05 +0000 (10:31 +0200)]
re PR tree-optimization/72824 (Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns))

PR tree-optimization/72824
* tree-loop-distribution.c (const_with_all_bytes_same)
<case VECTOR_CST>: Fix a typo.

* gcc.c-torture/execute/ieee/pr72824-2.c: New test.

From-SVN: r239461

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

From-SVN: r239460