platform/upstream/gcc.git
9 years agoInclude <bits/uses_allocator.h> in <stack> and <queue>.
Jonathan Wakely [Mon, 22 Sep 2014 16:01:53 +0000 (17:01 +0100)]
Include <bits/uses_allocator.h> in <stack> and <queue>.

* include/bits/stl_queue.h: Include missing header.
* include/bits/stl_stack.h: Likewise.
* testsuite/23_containers/priority_queue/requirements/
uses_allocator.cc: New.
* testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
* testsuite/23_containers/stack/requirements/uses_allocator.cc: New.

From-SVN: r215470

9 years agomsp430.h (LIB_SPEC): Remove automatic addition of -lnosys when -msim absent.
Peter A. Bigot [Mon, 22 Sep 2014 15:47:31 +0000 (15:47 +0000)]
msp430.h (LIB_SPEC): Remove automatic addition of -lnosys when -msim absent.

* config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of
-lnosys when -msim absent.

From-SVN: r215469

9 years agostatus_cxx2011.xml: Update C++11 status.
Jonathan Wakely [Mon, 22 Sep 2014 15:25:37 +0000 (16:25 +0100)]
status_cxx2011.xml: Update C++11 status.

* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
* doc/xml/manual/status_cxx2014.xml: Update TS status.
* doc/html/manual/status.html: Regenerate.

From-SVN: r215468

9 years agomutex (try_lock): Do not swallow exceptions.
Jonathan Wakely [Mon, 22 Sep 2014 14:54:35 +0000 (15:54 +0100)]
mutex (try_lock): Do not swallow exceptions.

* include/std/mutex (try_lock): Do not swallow exceptions.
* testsuite/30_threads/try_lock/4.cc: Fix test.

From-SVN: r215467

9 years agoFix ChangeLog date in my last commit.
Jonathan Wakely [Mon, 22 Sep 2014 14:21:43 +0000 (15:21 +0100)]
Fix ChangeLog date in my last commit.

From-SVN: r215466

9 years agoWorkaround following [PATCH] Pul all constants last in tree_swap_operands_p
Alan Lawrence [Mon, 22 Sep 2014 14:20:16 +0000 (14:20 +0000)]
Workaround following [PATCH] Pul all constants last in tree_swap_operands_p

https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
gcc/:
        * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.

From-SVN: r215465

9 years agoMake streams movable and swappable.
Jonathan Wakely [Mon, 22 Sep 2014 13:34:09 +0000 (14:34 +0100)]
Make streams movable and swappable.

PR libstdc++/54316
PR libstdc++/53626
* config/abi/pre/gnu.ver: Add new exports.
* config/io/basic_file_stdio.h (__basic_file): Support moving and
swapping.
* include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
Likewise.
* include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
Likewise.
* include/bits/fstream.tcc (basic_filebuf): Likewise.
* include/bits/move.h (__exchange): Define for C++11 mode.
* include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
swapping.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
* include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
basic_fstream): Likewise.
* include/std/ios: Remove whitespace.
* include/std/istream (basic_istream, basic_iostream): Support moving
and swapping.
* include/std/ostream (basic_ostream): Likewise.
* include/std/sstream (basic_stringbuf, basic_istringstream,
basic_ostringstream, basic_stringstream): Likewise.
* include/std/streambuf (basic_streambuf): Do not default copy
constructor and assignment on first declaration.
* include/std/utility (exchange): Forward to __exchange.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* src/c++11/Makefile.am: Add stream-related files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
New file for explicit instantiation definitions.
* src/c++11/ios.cc: Move from src/c++98 to here.
(ios_base::_M_move, ios_base::_M_swap): Define.
* src/c++11/ios-inst.cc: Move from src/c++98 to here.
* src/c++11/iostream-inst.cc: Likewise.
* src/c++11/istream-inst.cc: Likewise.
* src/c++11/ostream-inst.cc: Likewise.
* src/c++11/sstream-inst.cc: Likewise.
* src/c++11/streambuf-inst.cc: Likewise.
* src/c++98/Makefile.am: Remove stream-related files.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
instantiations.
* src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
* src/c++98/ios-inst.cc: Move to src/c++11/.
* src/c++98/ios.cc: Move to src/c++11/.
* src/c++98/iostream-inst.cc: Likewise.
* src/c++98/istream-inst.cc: Likewise.
* src/c++98/ostream-inst.cc: Likewise.
* src/c++98/sstream-inst.cc: Likewise.
* src/c++98/streambuf-inst.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* testsuite/27_io/basic_fstream/cons/move.cc: New.
* testsuite/27_io/basic_fstream/assign/1.cc: New.
* testsuite/27_io/basic_ifstream/cons/move.cc: New.
* testsuite/27_io/basic_ifstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/cons/move.cc: New.
* testsuite/27_io/basic_stringstream/assign/1.cc: New.
* testsuite/27_io/basic_stringstream/cons/move.cc: New.

From-SVN: r215463

9 years agoAdd --inline option to contrib/mklog
Tom de Vries [Mon, 22 Sep 2014 12:53:12 +0000 (12:53 +0000)]
Add --inline option to contrib/mklog

2014-09-22  Tom de Vries  <tom@codesourcery.com>

* mklog: Add --inline option.

From-SVN: r215462

9 years agogimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector constructors...
Richard Biener [Mon, 22 Sep 2014 12:49:16 +0000 (12:49 +0000)]
gimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector constructors around.

2014-09-22  Richard Biener  <rguenther@suse.de>

* gimplify.c (gimplify_init_constructor): Do not leave
non-GIMPLE vector constructors around.
* tree-cfg.c (verify_gimple_assign_single): Verify that
CONSTRUCTORs have gimple elements.

From-SVN: r215461

9 years agore PR target/63312 (FAIL: gcc.dg/torture/float128-exact-underflow.c -O0 execution...
Joseph Myers [Mon, 22 Sep 2014 11:08:03 +0000 (12:08 +0100)]
re PR target/63312 (FAIL: gcc.dg/torture/float128-exact-underflow.c   -O0  execution test)

PR target/63312
* config/ia64/sfp-machine.h (FE_EX_ALL, FP_TRAPPING_EXCEPTIONS):
New macros.

From-SVN: r215458

9 years agore PR debug/63328 (c-c++-common/gomp/pr60823-3.c test fails with -fcompare-debug)
Jakub Jelinek [Mon, 22 Sep 2014 10:32:09 +0000 (12:32 +0200)]
re PR debug/63328 (c-c++-common/gomp/pr60823-3.c test fails with -fcompare-debug)

PR debug/63328
* omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
insert a debug source bind stmt setting DEBUG_EXPR_DECL
instead of a normal gimple assignment stmt.

* c-c++-common/gomp/pr63328.c: New test.

From-SVN: r215454

9 years ago[Patch bfin] Fixup use of constraints in define_split
James Greenhalgh [Mon, 22 Sep 2014 10:23:42 +0000 (10:23 +0000)]
[Patch bfin] Fixup use of constraints in define_split

gcc/

* config/bfin/bfin.md: Fix use of constraints in define_split.

From-SVN: r215453

9 years agoresolve.c (resolve_fl_procedure): Remove duplicated lines.
Dominique d'Humieres [Mon, 22 Sep 2014 10:05:37 +0000 (12:05 +0200)]
resolve.c (resolve_fl_procedure): Remove duplicated lines.

2014-09-21  Dominique d'Humieres <dominiq@lps.ens.fr>

* resolve.c (resolve_fl_procedure): Remove duplicated lines.

From-SVN: r215452

9 years agoPR lto/63270 - new test
Martin Liska [Mon, 22 Sep 2014 09:39:20 +0000 (11:39 +0200)]
PR lto/63270 - new test

* g++.dg/lto/pr63270_0.C: New test.
* g++.dg/lto/pr63270_1.C: New test.

From-SVN: r215451

9 years agoi386.c (ix86_cannot_change_mode_class): Remove GET_MODE_SIZE (to) < GET_MODE_SIZE...
Richard Sandiford [Mon, 22 Sep 2014 07:38:46 +0000 (07:38 +0000)]
i386.c (ix86_cannot_change_mode_class): Remove GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.

gcc/
* config/i386/i386.c (ix86_cannot_change_mode_class): Remove
GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.

From-SVN: r215450

9 years agohard-reg-set.h: Include hash-table.h.
Richard Sandiford [Mon, 22 Sep 2014 07:38:12 +0000 (07:38 +0000)]
hard-reg-set.h: Include hash-table.h.

gcc/
* hard-reg-set.h: Include hash-table.h.
(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
field.
* target-globals.c (target_globals::~target_globals): Call
hard_regs->finalize.
* rtl.h (subreg_shape): New structure.
(shape_of_subreg): New function.
(simplifiable_subregs): Declare.
* reginfo.c (simplifiable_subreg): New structure.
(simplifiable_subregs_hasher): Likewise.
(simplifiable_subregs): New function.
(invalid_mode_changes): Delete.
(alid_mode_changes, valid_mode_changes_obstack): New variables.
(record_subregs_of_mode): Remove subregs_of_mode parameter.
Record valid mode changes in valid_mode_changes.
(find_subregs_of_mode): Remove subregs_of_mode parameter.
Update calls to record_subregs_of_mode.
(init_subregs_of_mode): Remove invalid_mode_changes and bitmap
handling.  Initialize new variables.  Update call to
find_subregs_of_mode.
(invalid_mode_change_p): Check new variables instead of
invalid_mode_changes.
(finish_subregs_of_mode): Finalize new variables instead of
invalid_mode_changes.
(target_hard_regs::finalize): New function.
* ira-costs.c (print_allocno_costs): Call invalid_mode_change_p
even when CLASS_CANNOT_CHANGE_MODE is undefined.

From-SVN: r215449

9 years agocombine.c (subst): Use simplify_subreg_regno rather than REG_CANNOT_CHANGE_MODE_P...
Richard Sandiford [Mon, 22 Sep 2014 07:36:59 +0000 (07:36 +0000)]
combine.c (subst): Use simplify_subreg_regno rather than REG_CANNOT_CHANGE_MODE_P to detect...

gcc/
* combine.c (subst): Use simplify_subreg_regno rather than
REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes.

From-SVN: r215448

9 years agortl.h (subreg_info): Expand commentary
Richard Sandiford [Mon, 22 Sep 2014 07:36:51 +0000 (07:36 +0000)]
rtl.h (subreg_info): Expand commentary

gcc/
* rtl.h (subreg_info): Expand commentary
* rtlanal.c (subreg_get_info): Likewise.

From-SVN: r215447

9 years agogcc/
Richard Sandiford [Mon, 22 Sep 2014 07:36:42 +0000 (07:36 +0000)]
gcc/
* hard-reg-set.h (COPY_HARD_REG_SET, COMPL_HARD_REG_SET)
(AND_HARD_REG_SET, AND_COMPL_HARD_REG_SET, IOR_HARD_REG_SET)
(IOR_COMPL_HARD_REG_SET): Allow the "from" set to be constant.

From-SVN: r215446

9 years agodecl.c (gnat_to_gnu_entity): Adjust comment.
Eric Botcazou [Mon, 22 Sep 2014 07:02:24 +0000 (07:02 +0000)]
decl.c (gnat_to_gnu_entity): Adjust comment.

* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
* gcc-interface/utils.c (gnat_write_global_declarations): Fix typo.

From-SVN: r215445

9 years agoarm.c: #include "tm-constrs.h"
Zhenqiang Chen [Mon, 22 Sep 2014 02:54:45 +0000 (02:54 +0000)]
arm.c: #include "tm-constrs.h"

2014-09-22  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/arm.c: #include "tm-constrs.h"
(thumb1_size_rtx_costs): Adjust rtx costs.

From-SVN: r215444

9 years agocrtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS override USE_PT_...
Hans-Peter Nilsson [Mon, 22 Sep 2014 00:49:01 +0000 (00:49 +0000)]
crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS override USE_PT_GNU_EH_FRAME.

* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
override USE_PT_GNU_EH_FRAME.
[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
check USE_EH_FRAME_REGISTRY_ALWAYS against
__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
variable for substituted force_explicit_eh_registry.
(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
* configure.ac (explicit-exception-frame-registration):
New AC_ARG_ENABLE.
* configure: Regenerate.

From-SVN: r215443

9 years agoDaily bump.
GCC Administrator [Mon, 22 Sep 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r215442

9 years agoconfigure.ac (target_header_dir): Move block defining this to before the block settin...
Hans-Peter Nilsson [Sun, 21 Sep 2014 23:38:05 +0000 (23:38 +0000)]
configure.ac (target_header_dir): Move block defining this to before the block setting inhibit_libc.

* configure.ac (target_header_dir): Move block defining
this to before the block setting inhibit_libc.
(inhibit_libc): When considering $with_headers, just
check it it's explicitly "no".  If not, also check if
$target_header_dir/stdio.h is present.  If not, set
inhibit_libc=true.
* configure: Regenerate.

From-SVN: r215439

9 years ago* config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.
Patrick Oppenlander [Sun, 21 Sep 2014 22:29:00 +0000 (22:29 +0000)]
* config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.

From-SVN: r215438

9 years agors6000.md (div<mode>3): Fix comment.
Segher Boessenkool [Sun, 21 Sep 2014 18:04:53 +0000 (20:04 +0200)]
rs6000.md (div<mode>3): Fix comment.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (div<mode>3): Fix comment.  Use a different
insn for divides by integer powers of two.
(div<mode>3_sra, *div<mode>3_sra_dot, *div<mode>3_sra_dot2): New.
(mod<mode>3): Fix formatting.
(three anonymous define_insn and two define_split): Delete.

From-SVN: r215437

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
Segher Boessenkool [Sun, 21 Sep 2014 18:03:52 +0000 (20:03 +0200)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (ashr<mode>3, *ashr<mode>3, *ashrsi3_64,
*ashr<mode>3_dot, *ashr<mode>3_dot2): Clobber CA_REGNO.
(floatdisf2_internal2): Ditto.
(ashrdi3_no_power): Ditto.  Fix formatting.

From-SVN: r215436

9 years agors6000.md (ctz<mode>2, [...]): Tidy.
Segher Boessenkool [Sun, 21 Sep 2014 18:02:54 +0000 (20:02 +0200)]
rs6000.md (ctz<mode>2, [...]): Tidy.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
Tidy.

From-SVN: r215435

9 years agors6000.md (strlensi): Don't use subsi3 with a constant, use addsi3 directly.
Segher Boessenkool [Sun, 21 Sep 2014 18:01:59 +0000 (20:01 +0200)]
rs6000.md (strlensi): Don't use subsi3 with a constant, use addsi3 directly.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
constant, use addsi3 directly.
(three anonymous define_insn, two define_split): Delete.
(sub<mode>3): Move.  Do not allow constant second operand.
Generate different insn for constant first operand.
(*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
(subf<mode>3_imm): New.
(ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
(*plus_ltu<mode>): Only handle registers.
(*plus_ltu<mode>_1): New.  Handle integer third operand.
(*plus_gtu<mode>): Only handle registers.
(*plus_gtu<mode>_1): New.  Handle integer third operand.

From-SVN: r215434

9 years agors6000.md (iorxor): New code_iterator.
Segher Boessenkool [Sun, 21 Sep 2014 18:01:01 +0000 (20:01 +0200)]
rs6000.md (iorxor): New code_iterator.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (iorxor): New code_iterator.
(iorxor): New code_attr.
(IORXOR): New code_attr.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): Delete.
(ior<mode>3, xor<mode>3): Delete.
(<iorxor><mode>3): New.
(splitter for "big" integer ior, xor): New.
(*bool<mode>3): Move.  Also handle AND.
(*bool<mode>3_dot, *bool<mode>3_dot2): Also handle AND.
(splitter for "big" integer ior, xor): Delete.

From-SVN: r215433

9 years agors6000.md (*neg<mode>2_internal): Delete.
Segher Boessenkool [Sun, 21 Sep 2014 17:59:40 +0000 (19:59 +0200)]
rs6000.md (*neg<mode>2_internal): Delete.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*neg<mode>2_internal): Delete.
(two anonymous define_insn and two define_split): Delete.
(*neg<mode>2, *neg<mode>2_dot, *neg<mode>2_dot2): New.

From-SVN: r215432

9 years agors6000.md (*one_cmpl<mode>2): Generate "not" insn.
Segher Boessenkool [Sun, 21 Sep 2014 17:58:41 +0000 (19:58 +0200)]
rs6000.md (*one_cmpl<mode>2): Generate "not" insn.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
(two anonymous define_insn and two define_split): Delete.
(*one_cmpl<mode>2_dot, *one_cmpl<mode>2_dot2): New.

From-SVN: r215431

9 years agors6000.c (rs6000_rtx_costs): New.
Segher Boessenkool [Sun, 21 Sep 2014 17:57:28 +0000 (19:57 +0200)]
rs6000.c (rs6000_rtx_costs): New.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (rs6000_rtx_costs) <NE>: New.

From-SVN: r215430

9 years agopredicates.md (ca_operand): Allow subregs.
Segher Boessenkool [Sun, 21 Sep 2014 17:56:25 +0000 (19:56 +0200)]
predicates.md (ca_operand): Allow subregs.

2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/predicates.md (ca_operand): Allow subregs.
(input_operand): Do not allow ca_operand.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the
carry bit, allow SImode and Pmode.
(rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS.

From-SVN: r215429

9 years agoi386.c (ix86_expand_call): Generate MS->SYSV extra clobbered registers using clobber_reg.
Uros Bizjak [Sun, 21 Sep 2014 15:13:14 +0000 (17:13 +0200)]
i386.c (ix86_expand_call): Generate MS->SYSV extra clobbered registers using clobber_reg.

* config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra
clobbered registers using clobber_reg.  Remove UNSPEC decoration.
* config/i386/i386.md (unspec) <UNSPEC_MS_TO_SYSV_CALL>: Remove.
(*call_rex64_ms_sysv): Remove.
(*call_value_rex64_ms_sysv): Ditto.
* config/i386/predicates.md (call_rex64_ms_sysv_operation): Remove.

testsuite/ChangeLog:

* gcc.target/i386/avx-vzeroupper-16.c (dg-final): Remove check
for call_value_rex64_ms_sysv.
* gcc.target/i386/avx-vzeroupper-17.c (dg-final): Ditto.
* gcc.target/i386/avx-vzeroupper-18.c (dg-final): Remove check
for call_rex64_ms_sysv.

From-SVN: r215428

9 years agore PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multip...
Jason Merrill [Sun, 21 Sep 2014 02:42:40 +0000 (22:42 -0400)]
re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)

PR c++/62017
* decl.c (begin_destructor_body): Only clobber the as-base part of
*this.

From-SVN: r215427

9 years agoDaily bump.
GCC Administrator [Sun, 21 Sep 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215426

9 years agoruntime: Restore copyright notice accidentally removed from mgc0.c.
Ian Lance Taylor [Sat, 20 Sep 2014 20:42:59 +0000 (20:42 +0000)]
runtime: Restore copyright notice accidentally removed from mgc0.c.

From-SVN: r215423

9 years agoepiphany.md (sub_f_add_imm): Change constraint of operand 3 to "CnL".
Joern Rennecke [Sat, 20 Sep 2014 19:37:10 +0000 (19:37 +0000)]
epiphany.md (sub_f_add_imm): Change constraint of operand 3 to "CnL".

        * config/epiphany/epiphany.md (sub_f_add_imm): Change constraint of
        operand 3 to "CnL".

From-SVN: r215422

9 years agotrans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with generating temporary...
Alessandro Fanfarillo [Sat, 20 Sep 2014 14:14:08 +0000 (08:14 -0600)]
trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with generating temporary for value argument.

2014-09-20  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

gcc/fortran
        * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
        generating temporary for value argument.

gcc/testsuite/
        * gfortran.dg/coarray_atomic_5.f90: New

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r215421

9 years agotrans-expr.c (gfc_reset_vptr): Fix comment whitespace.
Joost VandeVondele [Sat, 20 Sep 2014 11:48:00 +0000 (11:48 +0000)]
trans-expr.c (gfc_reset_vptr): Fix comment whitespace.

2014-09-20  Joost VandeVondele  <vondele@gcc.gnu.org>

* trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
(gfc_conv_class_to_class): Likewise.
(gfc_conv_procedure_call): Likewise.
(arrayfunc_assign_needs_temporary): Likewise.
(realloc_lhs_loop_for_fcn_call): Likewise.
(gfc_trans_assignment_1): Likewise.
* trans-array.c (gfc_conv_array_ref): Likewise.
(gfc_array_allocate): Likewise.
(gfc_alloc_allocatable_for_assignment): Likewise.
* symbol.c (generate_isocbinding_symbol): Likewise.
* class.c (finalization_scalarizer): Likewise.
(finalizer_insert_packed_call): Likewise.
(generate_finalization_wrapper): Likewise.
(find_intrinsic_vtab): Likewise.
* decl.c (gfc_match_import): Likewise.
(match_procedure_decl): Likewise.
(gfc_match_subroutine): Likewise.
(gfc_match_bind_c): Likewise.
(gfc_match_volatile): Likewise.
* trans-common.c (create_common): Likewise.
* error.c (gfc_diagnostic_starter): Likewise.
* trans-stmt.c (gfc_trans_sync): Likewise.
(gfc_trans_critical): Likewise.
(gfc_trans_simple_do): Likewise.
(gfc_trans_do): Likewise.
(gfc_trans_where_assign): Likewise.
* expr.c (gfc_is_simply_contiguous): Likewise.
* module.c (unquote_string): Likewise.
* trans.c (gfc_add_finalizer_call): Likewise.
* trans-types.c (gfc_init_kinds): Likewise.
* scanner.c (preprocessor_line): Likewise.
* gfortranspec.c (lang_specific_driver): Likewise.
* frontend-passes.c (create_var): Likewise.
(cfe_expr_0): Likewise.
* resolve.c (check_host_association): Likewise.
(gfc_resolve_code): Likewise.
(resolve_fl_derived0): Likewise.
(resolve_symbol): Likewise.
* f95-lang.c (poplevel): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-io.c (transfer_expr): Likewise.
* arith.c (gfc_arith_divide): Likewise.
* parse.c (resolve_all_program_units): Likewise.
* check.c (gfc_check_rank): Likewise.
(gfc_check_sizeof): Likewise.
(is_c_interoperable): Likewise.
* dependency.c (gfc_dep_difference): Likewise.
* primary.c (gfc_match_rvalue): Likewise.
* trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
(conv_isocbinding_subroutine): Likewise.
* options.c (gfc_post_options): Likewise.
(gfc_handle_fpe_option): Likewise.
(gfc_get_option_string): Likewise.
* simplify.c (simplify_transformation_to_scalar): Likewise.
(gfc_simplify_spread): Likewise.

From-SVN: r215420

9 years agoia64.md: Remove constraints from define_split patterns.
Andreas Schwab [Sat, 20 Sep 2014 06:52:45 +0000 (06:52 +0000)]
ia64.md: Remove constraints from define_split patterns.

* config/ia64/ia64.md: Remove constraints from define_split
patterns.

From-SVN: r215419

9 years agoipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
Jan Hubicka [Sat, 20 Sep 2014 06:22:58 +0000 (08:22 +0200)]
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.

* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.

From-SVN: r215418

9 years agoipa-visibility.c (varpool_node::externally_visible_p): Do not privatize dynamic TLS...
Jan Hubicka [Sat, 20 Sep 2014 03:11:04 +0000 (05:11 +0200)]
ipa-visibility.c (varpool_node::externally_visible_p): Do not privatize dynamic TLS variables.

* ipa-visibility.c (varpool_node::externally_visible_p): Do not
privatize dynamic TLS variables.

From-SVN: r215417

9 years agodiagnostic.c (warning_n): New function.
Jan Hubicka [Sat, 20 Sep 2014 03:06:26 +0000 (05:06 +0200)]
diagnostic.c (warning_n): New function.

* diagnostic.c (warning_n): New function.
* diagnostic-core.h (warning_n): Declare.
* ipa-devirt.c (ipa_devirt): Handle singulars correctly;
output dynamic counts when available.

From-SVN: r215416

9 years agore PR tree-optimization/63255 (FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0...
Jan Hubicka [Sat, 20 Sep 2014 02:58:42 +0000 (04:58 +0200)]
re PR tree-optimization/63255 (FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o execute  -O1 -flto -flto-partition=1to1 -fwhole-program)

PR tree-optimization/63255
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering
issue in setting body_removed flag.

From-SVN: r215415

9 years agore PR c++/61392 (internal compiler error: in write_template_arg_literal, at cp/mangle...
Jason Merrill [Sat, 20 Sep 2014 00:55:14 +0000 (20:55 -0400)]
re PR c++/61392 (internal compiler error: in write_template_arg_literal, at cp/mangle.c:3072)

PR c++/61392
* mangle.c (write_expression): Use unresolved-name mangling for
DR850 case.

From-SVN: r215414

9 years agore PR c++/61465 (Bogus parameter set but not used warning in constructor initializati...
Jason Merrill [Sat, 20 Sep 2014 00:54:55 +0000 (20:54 -0400)]
re PR c++/61465 (Bogus parameter set but not used warning in constructor initialization list)

PR c++/61465
* call.c (convert_like_real) [ck_identity]: Call mark_rvalue_use
after pulling out an element from a CONSTRUCTOR.

From-SVN: r215413

9 years agoDaily bump.
GCC Administrator [Sat, 20 Sep 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215412

9 years agore PR c++/61825 (g++.dg/cpp0x/static_assert9.C FAILs)
Jan Hubicka [Fri, 19 Sep 2014 23:56:52 +0000 (01:56 +0200)]
re PR c++/61825 (g++.dg/cpp0x/static_assert9.C FAILs)

PR c++/61825
* c-family/c-common.c (handle_alias_ifunc_attribute): Check
that visibility change is possible
(handle_weakref_attribute): Likewise.
* cgraph.h (symtab_node): Add method get_create and
field refuse_visibility_changes.
(symtab_node::get_create): New method.
* fold-const.c (tree_single_nonzero_warnv_p): Use get_create.
* varasm.c (mark_weak): Verify that visibility change is
possible.

* gcc.dg/tree-ssa/nonzero-1.c: Require error to be output.

From-SVN: r215409

9 years agopredicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be common...
Michael Meissner [Fri, 19 Sep 2014 19:36:57 +0000 (19:36 +0000)]
predicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be common between LO_SUM and PLUS.

2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
for base_reg_operand to be common between LO_SUM and PLUS.
(fusion_gpr_mem_combo): New predicate to match a fused address
that combines the addis and memory offset address.

* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
calling signature.
(emit_fusion_gpr_load): Likewise.

* config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
signature to pass each argument separately, rather than
using an operands array.  Rewrite the insns found by peephole2 to
be a single insn, rather than hoping the insns will still be
together when the peephole pass is done.  Drop being called via a
normal peephole.
(emit_fusion_gpr_load): Change calling signature to be called from
the fusion_gpr_load_<mode> insns with a combined memory address
instead of the peephole pass passing the addis and offset
separately.

* config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
fusion.
(power8 fusion peephole): Drop support for doing power8 via a
normal peephole that was created by the peephole2 pass.
(power8 fusion peephole2): Create a new insn with the fused
address, so that the fused operation is kept together after
register allocation is done.
(fusion_gpr_load_<mode>): Likewise.

From-SVN: r215404

9 years agore PR lto/63286 (FAIL: g++.dg/lto/20101014-2 cp_lto_20101014-2_0.o assemble, * after...
Jan Hubicka [Fri, 19 Sep 2014 18:54:23 +0000 (20:54 +0200)]
re PR lto/63286 (FAIL: g++.dg/lto/20101014-2 cp_lto_20101014-2_0.o assemble, * after r215196)

PR lto/63286
* tree.c (need_assembler_name_p): Do not mangle variadic types.

From-SVN: r215403

9 years agocompiler: Pass constant arguments directly to thunk functions.
Ian Lance Taylor [Fri, 19 Sep 2014 18:53:50 +0000 (18:53 +0000)]
compiler: Pass constant arguments directly to thunk functions.

From-SVN: r215402

9 years agoFix mcount test cases to only run on supported targets
Andi Kleen [Fri, 19 Sep 2014 17:09:10 +0000 (17:09 +0000)]
Fix mcount test cases to only run on supported targets

       * gcc.dg/pg-override.c: Only run on x86 Linux.
       * gcc.dg/pg.c: Dito.
       * gcc.target/i386/fentry-override.c: Exclude for PIC.
       * gcc.target/i386/fentry.c: Dito.

From-SVN: r215401

9 years agodg-extract-results.py (Prog.result_re): Include options in test name.
Segher Boessenkool [Fri, 19 Sep 2014 16:57:04 +0000 (18:57 +0200)]
dg-extract-results.py (Prog.result_re): Include options in test name.

2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>

* dg-extract-results.py (Prog.result_re): Include options in test name.

From-SVN: r215400

9 years agorecog.c (scratch_operand): Do not simply allow all hard registers: only allow those...
Segher Boessenkool [Fri, 19 Sep 2014 16:42:26 +0000 (18:42 +0200)]
recog.c (scratch_operand): Do not simply allow all hard registers: only allow those that are allocatable.

2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>

* recog.c (scratch_operand): Do not simply allow all hard registers:
only allow those that are allocatable.

From-SVN: r215399

9 years agocfgrtl.c [...]: Update comments and fix spacing to conform to coding style.
Felix Yang [Fri, 19 Sep 2014 16:28:42 +0000 (16:28 +0000)]
cfgrtl.c [...]: Update comments and fix spacing to conform to coding style.

        * cfgrtl.c ira.c ira-color.c ira-conflicts ira-lives.c: Update
        comments and fix spacing to conform to coding style.

From-SVN: r215398

9 years agoRe: [Patch] Teach genrecog/genoutput that scratch registers require write constraint...
James Greenhalgh [Fri, 19 Sep 2014 16:23:44 +0000 (16:23 +0000)]
Re: [Patch] Teach genrecog/genoutput that scratch registers require write constraint modifiers

gcc/

* genrecog.c (validate_pattern): Allow empty constraints in
a match_scratch.

From-SVN: r215397

9 years agodwarf2out.c (decl_ultimate_origin): Update comment.
Aldy Hernandez [Fri, 19 Sep 2014 16:02:21 +0000 (16:02 +0000)]
dwarf2out.c (decl_ultimate_origin): Update comment.

* dwarf2out.c (decl_ultimate_origin): Update comment.
* tree.c (block_ultimate_origin): Same.

From-SVN: r215396

9 years agors6000.c (rs6000_special_adjust_field_align_p): Update GCC version name to GCC 5.
Ulrich Weigand [Fri, 19 Sep 2014 15:49:21 +0000 (15:49 +0000)]
rs6000.c (rs6000_special_adjust_field_align_p): Update GCC version name to GCC 5.

* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
Update GCC version name to GCC 5.
(rs6000_function_arg_boundary): Likewise.
(rs6000_function_arg): Likewise.

From-SVN: r215395

9 years agosimple-object-elf.c (simple_object_elf_write_ehdr): Correctly handle objects with...
Ian Lance Taylor [Fri, 19 Sep 2014 15:24:56 +0000 (15:24 +0000)]
simple-object-elf.c (simple_object_elf_write_ehdr): Correctly handle objects with more than SHN_LORESERVE sections.

* simple-object-elf.c (simple_object_elf_write_ehdr): Correctly
handle objects with more than SHN_LORESERVE sections.
(simple_object_elf_write_shdr): Add sh_link parameter.
(simple_object_elf_write_to_file): Correctly handle objects with
more than SHN_LORESERVE sections.

From-SVN: r215394

9 years ago[Patch sh] Fixup use of constraints in define_split
James Greenhalgh [Fri, 19 Sep 2014 14:51:57 +0000 (14:51 +0000)]
[Patch sh] Fixup use of constraints in define_split

* config/sh/sh.md: Fix use of constraints in define_split.

From-SVN: r215393

9 years agoPR ipa/61998 Fix crash -Wsuggest-final-types crash
Markus Trippelsdorf [Fri, 19 Sep 2014 14:44:09 +0000 (14:44 +0000)]
PR ipa/61998 Fix crash -Wsuggest-final-types crash

-Wsuggest-final-types crashes when used on mininal testcases.
Fix by bailing out early when odr_types_ptr is NULL in ipa_devirt()

2014-09-19  Markus Trippelsdorf  <markus@trippelsdorf.de>

        PR ipa/61998
        * ipa-devirt.c (ipa_devirt): Bail out if odr_types_ptr is NULL.

2014-09-19  Markus Trippelsdorf  <markus@trippelsdorf.de>

        PR ipa/61998
        * g++.dg/warn/Wsuggest-final-2.C: New testcase.

From-SVN: r215392

9 years ago[Patch] Teach genrecog/genoutput that scratch registers require write constraint...
James Greenhalgh [Fri, 19 Sep 2014 10:37:40 +0000 (10:37 +0000)]
[Patch] Teach genrecog/genoutput that scratch registers require write  constraint modifiers

gcc/

* doc/md.texi (Modifiers): Consistently use "read/write"
nomenclature rather than "input/output".
* genrecog.c (constraints_supported_in_insn_p): New.
(validate_pattern): If needed, also check constraints on
MATCH_SCRATCH operands.
* genoutput.c (validate_insn_alternatives): Catch earlyclobber
operands with no '=' or '+' modifier.

From-SVN: r215388

9 years agore PR fortran/63152 (needless initialization of local pointer arrays.)
Joost VandeVondele [Fri, 19 Sep 2014 10:28:00 +0000 (10:28 +0000)]
re PR fortran/63152 (needless initialization of local pointer arrays.)

2014-09-19  Joost VandeVondele  <vondele@gcc.gnu.org>

PR fortran/63152
* trans-array.c (gfc_trans_deferred_array): Only nullify allocatables.

2014-09-19  Joost VandeVondele  <vondele@gcc.gnu.org>

PR fortran/63152
* gfortran.dg/auto_char_dummy_array_1.f90: Fix undefined behavior.
* gfortran.dg/pr63152.f90: New test.

From-SVN: r215387

9 years agore PR c++/58328 ([C++11] bogus: error: constructor required before non-static data...
Paolo Carlini [Fri, 19 Sep 2014 09:34:14 +0000 (09:34 +0000)]
re PR c++/58328 ([C++11] bogus: error: constructor required before non-static data member for)

2014-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58328
* g++.dg/cpp0x/nsdmi10.C: New.

From-SVN: r215386

9 years ago[PATCH AArch64]: Add constraint letter for stack_protect_test pattern
James Greenhalgh [Fri, 19 Sep 2014 09:31:01 +0000 (09:31 +0000)]
[PATCH AArch64]: Add constraint letter for stack_protect_test  pattern

gcc/

* config/aarch64/aarch64.md (stack_protect_test_<mode>): Mark
scratch register as an output to placate register renaming.

gcc/testsuite/

* gcc.dg/ssp-3.c: New.
* gcc.dg/ssp-4.c: Likewise.

From-SVN: r215385

9 years agos390.c (s390_emit_epilogue): Remove bogus assignment.
Andreas Krebbel [Fri, 19 Sep 2014 09:23:08 +0000 (09:23 +0000)]
s390.c (s390_emit_epilogue): Remove bogus assignment.

2014-09-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_emit_epilogue): Remove bogus
assignment.

From-SVN: r215384

9 years agos390.md ("trunctdsd2", [...]): New expanders.
Andreas Krebbel [Fri, 19 Sep 2014 09:17:00 +0000 (09:17 +0000)]
s390.md ("trunctdsd2", [...]): New expanders.

2014-09-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md ("trunctdsd2", "extendsdtd2"): New
expanders.

2014-09-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.target/s390/dfp-conv1.c: New testcase.

From-SVN: r215382

9 years agore PR target/62662 (Miscompilation of Qt on s390x)
Andreas Krebbel [Fri, 19 Sep 2014 09:14:59 +0000 (09:14 +0000)]
re PR target/62662 (Miscompilation of Qt on s390x)

2014-09-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

PR target/62662
* config/s390/s390.c (s390_emit_epilogue): When doing the return
address load optimization force s390_optimize_prologue to leave it
that way.  Only do the optimization if we already decided to push
r14 into a stack slot.

From-SVN: r215381

9 years agoasan.c (build_check_stmt): Alignment arg was added.
Marat Zakirov [Fri, 19 Sep 2014 08:29:04 +0000 (08:29 +0000)]
asan.c (build_check_stmt): Alignment arg was added.

gcc/ChangeLog:

2014-09-19  Marat Zakirov  <m.zakirov@samsung.com>

* asan.c (build_check_stmt): Alignment arg was added.
(asan_expand_check_ifn): Optimization for alignment >= 8.

gcc/testsuite/ChangeLog:

2014-09-19  Marat Zakirov  <m.zakirov@samsung.com>

* c-c++-common/asan/red-align-1.c: New test.
* c-c++-common/asan/red-align-2.c: New test.

From-SVN: r215380

9 years agovxworksae.h: Remove obsolete definitions.
Olivier Hainque [Fri, 19 Sep 2014 08:19:04 +0000 (08:19 +0000)]
vxworksae.h: Remove obsolete definitions.

2014-09-19  Olivier Hainque  <hainque@adacore.com>

        * config/i386/vxworksae.h: Remove obsolete definitions.
        (STACK_CHECK_PROTECT): Define.
        * config/i386/vx-common.h: Remove.  Merge contents within
        config/i386/vxworks.h.
        * config.gcc (i?86-vxworks*): Use i386/vxworks.h instead of
        i386/vx-common.h.

From-SVN: r215378

9 years agoconfig.gcc (powerpc-wrs-vxworksmils): New configuration.
Olivier Hainque [Fri, 19 Sep 2014 08:11:55 +0000 (08:11 +0000)]
config.gcc (powerpc-wrs-vxworksmils): New configuration.

2014-09-18  Olivier Hainque  <hainque@adacore.com>

gcc/
* config.gcc (powerpc-wrs-vxworksmils): New configuration.
* config/rs6000/t-vxworksmils: New file.
* config/rs6000/vxworksmils.h: New file.

libgcc/
* config.host (powerpc-wrs-vxworksmils): New configuration,
same as vxworksae.

contrib/
* config-list.mk (LIST): Add powerpc-wrs-vxworksmils.

From-SVN: r215377

9 years agovarasm.c (default_section_type_flags): Flag .persistent.bss sections as SECTION_BSS.
Olivier Hainque [Fri, 19 Sep 2014 08:02:44 +0000 (08:02 +0000)]
varasm.c (default_section_type_flags): Flag .persistent.bss sections as SECTION_BSS.

2014-09-19  Olivier Hainque  <hainque@adacore.com>

        * varasm.c (default_section_type_flags): Flag .persistent.bss
        sections as SECTION_BSS.

From-SVN: r215376

9 years agorl78.c (rl78_expand_epilogue): Generate a USE of the pop'ed registers so that DCE...
Nick Clifton [Fri, 19 Sep 2014 07:45:22 +0000 (07:45 +0000)]
rl78.c (rl78_expand_epilogue): Generate a USE of the pop'ed registers so that DCE does not eliminate them.

* config/rl78/rl78.c (rl78_expand_epilogue): Generate a USE of the
pop'ed registers so that DCE does not eliminate them.

From-SVN: r215375

9 years agore PR ipa/63298 (internal compiler error: in types_same_for_odr, at ipa-devirt.c...
Jan Hubicka [Fri, 19 Sep 2014 02:04:20 +0000 (04:04 +0200)]
re PR ipa/63298 (internal compiler error: in types_same_for_odr, at ipa-devirt.c:449 with LTO)

PR lto/63298
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition.

From-SVN: r215374

9 years agoDaily bump.
GCC Administrator [Fri, 19 Sep 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215373

9 years agoUpdate gcc.dg/pr61053.c for x32
H.J. Lu [Thu, 18 Sep 2014 23:45:21 +0000 (23:45 +0000)]
Update gcc.dg/pr61053.c for x32

* gcc.dg/pr61053.c: Updated for x32.

From-SVN: r215369

9 years agoRemove LIBGCC2_TF_CEXT target macro.
Joseph Myers [Thu, 18 Sep 2014 23:27:26 +0000 (00:27 +0100)]
Remove LIBGCC2_TF_CEXT target macro.

This patch removes the (undocumented) LIBGCC2_TF_CEXT target macro,
replacing it by -fbuilding-libgcc predefines (and thereby gets rid of
another LIBGCC2_LONG_DOUBLE_TYPE_SIZE conditional, though some more
patches are needed before that target macro can be eliminated).  This
macro indicated the suffix used on __builtin_huge_val,
__builtin_copysign, __builtin_fabs built-in function names to produce
the names for a given floating-point mode.

Predefines are added for all floating-point modes supported for
libgcc, not just TFmode.  These are fully accurate for modes
corresponding to float, double and long double.  For other modes, the
suffix for *constants* is determined by the targetm.c.mode_for_suffix
hook (the limit to two possible suffixes 'w' and 'q' being hardcoded
in various places).  This is in fact the suffix for built-in functions
as well where such functions exist.

* For i386, the *q functions always exist (whether or not TFmode is
  used for long double).  The *w functions never exist (but this
  doesn't matter for libgcc, since no i386 configuration treats XFmode
  as a supported scalar mode if long double is TFmode; if __float80
  were to be supported for 64-bit Android, properly such functions
  ought to be added).

* For ia64, the *q functions exist for non-HP-UX (under HP-UX, long
  double is TFmode, so they aren't needed).  The *w functions never
  exist.  This is an issue for this libgcc code for the XFmode complex
  functions in libgcc on HP-UX; as I understand it, right now those
  will accidentally be using TFmode versions of those three functions,
  so involving unnecessary conversions, while the sanity check on CEXT
  accidentally passes because all it tests is the sizes of the types.

Because of the lack of 'w' functions, the patch uses 'l' when the
constant suffix is 'w', matching what the existing libgcc code would
do for IA64 HP-UX in that case.

Ideally there would be generic code to create such built-in functions
for all supported floating-point types.  That may be something to
consider if support for TS 18661-3 (standard bindings for IEEE
754-2008, defining names such as _Float128, and function names such as
copysignf128) is added in future.

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

gcc:
* system.h (LIBGCC2_TF_CEXT): Poison.
* config/i386/cygming.h (LIBGCC2_TF_CEXT): Remove.
* config/i386/darwin.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/dragonfly.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/freebsd.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/gnu-user-common.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/openbsdelf.h (LIBGCC2_TF_CEXT): Likewise.
* config/i386/sol2.h (LIBGCC2_TF_CEXT): Likewise.
* config/ia64/ia64.h (LIBGCC2_TF_CEXT): Likewise.
* config/ia64/linux.h (LIBGCC2_TF_CEXT): Likewise.

gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
for supported floating-point modes.

libgcc:
* libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__.

From-SVN: r215368

9 years agoAdd header guard to several header files.
Kito Cheng [Thu, 18 Sep 2014 22:34:23 +0000 (22:34 +0000)]
Add header guard to several header files.

2014-09-19  Kito Cheng  <kito@0xlab.org>

* except.h: Fix header guard.
* addresses.h: Add missing header guard.
* cfghooks.h: Likewise.
* collect-utils.h: Likewise.
* collect2-aix.h: Likewise.
* conditions.h: Likewise.
* cselib.h: Likewise.
* dwarf2asm.h: Likewise.
* graphds.h: Likewise.
* graphite-scop-detection.h: Likewise.
* gsyms.h: Likewise.
* hw-doloop.h: Likewise.
* incpath.h: Likewise.
* ipa-inline.h: Likewise.
* ipa-ref.h: Likewise.
* ira-int.h: Likewise.
* ira.h: Likewise.
* lra-int.h: Likewise.
* lra.h: Likewise.
* lto-section-names.h: Likewise.
* read-md.h: Likewise.
* reload.h: Likewise.
* rtl-error.h: Likewise.
* sdbout.h: Likewise.
* targhooks.h: Likewise.
* tree-affine.h: Likewise.
* xcoff.h: Likewise.
* xcoffout.h: Likewise.

From-SVN: r215365

9 years agore PR debug/63285 (-fcompare-debug scheduler related failure)
Vladimir Makarov [Thu, 18 Sep 2014 19:14:19 +0000 (19:14 +0000)]
re PR debug/63285 (-fcompare-debug scheduler related failure)

2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR debug/63285
* haifa-sched.c (schedule_block): Advance cycle at the end of BB
if advance != 0.

2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR debug/63285
* gcc.target/i386/pr63285.c: New test.

From-SVN: r215364

9 years agoconfig-list.mk (LIST): Add v850-rtems.
Joel Sherrill [Thu, 18 Sep 2014 18:44:52 +0000 (18:44 +0000)]
config-list.mk (LIST): Add v850-rtems.

2014-09-18  Joel Sherrill <joel.sherrill@oarcorp.com>

* config-list.mk (LIST): Add v850-rtems.

From-SVN: r215362

9 years agore PR c++/63248 (Crash when OpenMP target's array section handling is used with templ...
Jakub Jelinek [Thu, 18 Sep 2014 16:43:28 +0000 (18:43 +0200)]
re PR c++/63248 (Crash when OpenMP target's array section handling is used with templates)

PR c++/63248
* semantics.c (finish_omp_clauses): Don't call cp_omp_mappable_type
on type of type dependent expressions, and don't call it if
handle_omp_array_sections has kept TREE_LIST because something
was type dependent.
* pt.c (tsubst_expr) <case OMP_TARGET, case OMP_TARGET_DATA>:
Use keep_next_level, begin_omp_structured_block and
finish_omp_structured_block instead of push_stmt_list and
pop_stmt_list.
libgomp/
* testsuite/libgomp.c++/pr63248.C: New test.

From-SVN: r215359

9 years agore PR target/61360 (ICE: in lra_update_insn_recog_data, at lra.c:1363 with -mtune...
Vladimir Makarov [Thu, 18 Sep 2014 15:57:06 +0000 (15:57 +0000)]
re PR target/61360 (ICE: in lra_update_insn_recog_data, at lra.c:1363 with -mtune=bdver4)

2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR target/61360
* lra.c (lra): Call recog_init.

2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR target/61360
* gcc.target/i386/pr61360.c: New.

From-SVN: r215358

9 years agoconfig-list.mk (LIST): Add arm-rtems.
Sebastian Huber [Thu, 18 Sep 2014 15:26:32 +0000 (15:26 +0000)]
config-list.mk (LIST): Add arm-rtems.

2014-09-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* config-list.mk (LIST): Add arm-rtems.
Add nios2-rtems.  Remove extra option from powerpc-rtems.

From-SVN: r215357

9 years agore PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multip...
Jakub Jelinek [Thu, 18 Sep 2014 14:08:28 +0000 (16:08 +0200)]
re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)

PR c++/62017
* asan.c (transform_statements): Don't instrument clobber statements.

* g++.dg/asan/pr62017.C: New test.

From-SVN: r215354

9 years agore PR testsuite/63292 (ASan reports global-buffer-overflow in gcc.dg/vect/pr59594.c.)
Jakub Jelinek [Thu, 18 Sep 2014 13:50:10 +0000 (15:50 +0200)]
re PR testsuite/63292 (ASan reports global-buffer-overflow in gcc.dg/vect/pr59594.c.)

PR testsuite/63292
* gcc.dg/vect/pr59594.c (b): Increase size to N + 2 elements.

From-SVN: r215352

9 years agore PR c++/62232 (-Wnon-virtual-dtor shouldn't warn on final classes)
Paolo Carlini [Thu, 18 Sep 2014 13:48:33 +0000 (13:48 +0000)]
re PR c++/62232 (-Wnon-virtual-dtor shouldn't warn on final classes)

/cp
2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62232
* class.c (finish_struct_1): Do not -Wnon-virtual-dtor warn
for final class types.

/testsuite
2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62232
* g++.dg/cpp0x/Wdtor1.C: New.

From-SVN: r215351

9 years agodyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully.
Jason Merrill [Thu, 18 Sep 2014 12:34:43 +0000 (08:34 -0400)]
dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully.

* libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
dynamic_cast more gracefully.

From-SVN: r215350

9 years agoFix i386 FP_TRAPPING_EXCEPTIONS.
Joseph Myers [Thu, 18 Sep 2014 12:00:21 +0000 (13:00 +0100)]
Fix i386 FP_TRAPPING_EXCEPTIONS.

The i386 sfp-machine.h defines FP_TRAPPING_EXCEPTIONS in a way that is
always wrong: it treats a set bit as indicating the exception is
trapping, when actually a set bit (both for 387 and SSE floating
point) indicates it is masked, and a clear bit indicates it is
trapping.  This patch fixes this bug.

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

libgcc:
* config/i386/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Treat clear
bits not set bits as indicating trapping exceptions.

gcc/testsuite:
* gcc.dg/torture/float128-exact-underflow.c: New test.

From-SVN: r215347

9 years ago[ARM] Fix insn type of movmisalign neon load pattern.
Kyrylo Tkachov [Thu, 18 Sep 2014 10:06:05 +0000 (10:06 +0000)]
[ARM] Fix insn type of movmisalign neon load pattern.

* config/arm/neon.md (*movmisalign<mode>_neon_load): Change type
to neon_load1_1reg<q>.

From-SVN: r215346

9 years agore PR c++/61745 (template friend for dyadic operator- is only accepted if the monadic...
Paolo Carlini [Thu, 18 Sep 2014 09:15:25 +0000 (09:15 +0000)]
re PR c++/61745 (template friend for dyadic operator- is only accepted if the monadic operator- follows it)

2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61745
* g++.dg/template/pr61745.C: New.

From-SVN: r215345

9 years agoDaily bump.
GCC Administrator [Thu, 18 Sep 2014 00:16:38 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215344

9 years agoFix indentation
Janne Blomqvist [Wed, 17 Sep 2014 21:59:09 +0000 (00:59 +0300)]
Fix indentation

From-SVN: r215340

9 years agore PR c/61854 (Warning single-line comment for -std=c89?)
Marek Polacek [Wed, 17 Sep 2014 21:49:46 +0000 (21:49 +0000)]
re PR c/61854 (Warning single-line comment for -std=c89?)

PR c/61854
libcpp/
* init.c (struct lang_flags): Remove cplusplus_comments.
(cpp_set_lang): Likewise.
(post_options): Likewise.
* lex.c (_cpp_lex_direct): Disallow C++ style comments in C90/C94.
testsuite/
* gcc.dg/cpp/pr61854-1.c: New test.
* gcc.dg/cpp/pr61854-2.c: New test.
* gcc.dg/cpp/pr61854-3.c: New test.
* gcc.dg/cpp/pr61854-3.h: New test.
* gcc.dg/cpp/pr61854-4.c: New test.
* gcc.dg/cpp/pr61854-5.c: New test.
* gcc.dg/cpp/pr61854-6.c: New test.
* gcc.dg/cpp/pr61854-7.c: New test.
* gcc.dg/cpp/pr61854-c90.c: New test.
* gcc.dg/cpp/pr61854-c94.c: New test.

From-SVN: r215339

9 years agoPR libfortran/62768 Use gfc_unit.filename also when HAVE_TTYNAME{_R} is not defined.
Janne Blomqvist [Wed, 17 Sep 2014 21:44:15 +0000 (00:44 +0300)]
PR libfortran/62768 Use gfc_unit.filename also when HAVE_TTYNAME{_R} is not defined.

2014-09-18  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/62768
* io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when
HAVE_TTYNAME{_R} is not defined.

From-SVN: r215338

9 years agoMakefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
Nathan Sidwell [Wed, 17 Sep 2014 20:13:17 +0000 (20:13 +0000)]
Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...

* Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
(LIBGCOV_DRIVER): ... here.
* libgcov-driver.c (gcov_master): New.
(gcov_exit): Remove from master chain.
(__gcov_init): Add to master chain if version compatible.  Don't
clear the version.
* libgcov_interface (__gcov_flust): Call gcov_dump_int.
(gcov_reset_int): Clear master chain, if compatible.
(gcov_dump_int): New internal interface.  Dump master chain, if
compatible.
(gcov_dump): Alias for gcov_dump_int.
* libgcov.h (struct gcov_root): Add next and prev fields.
(struct gcov_master): New struct.
(__gcov_master): New.
(gcov_dump_int): Declare.

From-SVN: r215337

9 years agore PR debug/63284 (-fcompare-debug issue due to redirection to __builtin_unreachable ())
Jakub Jelinek [Wed, 17 Sep 2014 19:05:49 +0000 (21:05 +0200)]
re PR debug/63284 (-fcompare-debug issue due to redirection to __builtin_unreachable ())

PR debug/63284
* tree-cfgcleanup.c (fixup_noreturn_call): Don't split block
if there are only debug stmts after the noreturn call, instead
remove the debug stmts.

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

From-SVN: r215331

9 years ago* ada/acats/run_all.sh: Redirect mkdir stderr to /dev/null.
Jakub Jelinek [Wed, 17 Sep 2014 18:23:30 +0000 (20:23 +0200)]
* ada/acats/run_all.sh: Redirect mkdir stderr to /dev/null.

From-SVN: r215330

9 years agoMinor cleanup, don't run tests for which compilation is enough.
Jason Merrill [Wed, 17 Sep 2014 17:34:01 +0000 (13:34 -0400)]
Minor cleanup, don't run tests for which compilation is enough.

* g++.dg/g++.dg/cpp1y/var-templ1.C: Change return to
static_assert, compile instead of running.
* g++.dg/g++.dg/cpp1y/var-templ3.C: Likewise.
* g++.dg/g++.dg/cpp1y/var-templ4.C: Likewise.
* g++.dg/g++.dg/cpp1y/var-templ5.C: Likewise.

From-SVN: r215329