gcc.git
10 years ago[Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)
Alan Lawrence [Mon, 22 Sep 2014 16:33:05 +0000 (16:33 +0000)]
[Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)

* lib/target-supports.exp (check_effective_target_whole_vector_shift):
New.

* gcc.dg/vect/vect-reduc-mul_1.c: New test.
* gcc.dg/vect/vect-reduc-mul_2.c: New test.

From-SVN: r215473

10 years agodecl.c (poplevel): Don't warn about unused vars in template scope.
Jason Merrill [Mon, 22 Sep 2014 16:31:09 +0000 (12:31 -0400)]
decl.c (poplevel): Don't warn about unused vars in template scope.

* decl.c (poplevel): Don't warn about unused vars in template scope.
* error.c (dump_decl): Handle variable templates.

From-SVN: r215472

10 years ago[AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c
James Greenhalgh [Mon, 22 Sep 2014 16:24:57 +0000 (16:24 +0000)]
[AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c

gcc/

* config/aarch64/geniterators.sh: New.
* config/aarch64/iterators.md (VDQF_DF): New.
* config/aarch64/t-aarch64: Generate aarch64-builtin-iterators.h.
* config/aarch64/aarch64-builtins.c (BUILTIN_*) Remove.

From-SVN: r215471

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

From-SVN: r215442

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

From-SVN: r215426

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

From-SVN: r215412

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

From-SVN: r215373

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

From-SVN: r215344

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

From-SVN: r215340

10 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

10 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

10 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