gcc.git
12 years agolibgo: Update to weekly.2011-12-02.
Ian Lance Taylor [Tue, 13 Dec 2011 19:16:27 +0000 (19:16 +0000)]
libgo: Update to weekly.2011-12-02.

From-SVN: r182295

12 years agolibitm: Conversion to c++11 atomics.
Richard Henderson [Tue, 13 Dec 2011 19:11:25 +0000 (11:11 -0800)]
libitm: Conversion to c++11 atomics.

        * local_atomic: New file.
        * libitm_i.h: Include it.
        (gtm_thread::shared_state): Use atomic template.
        * beginend.cc (GTM::gtm_clock): Use atomic template.
        (global_tid): Use atomic template if 64-bit atomics available.
        (gtm_thread::gtm_thread): Update shared_state access.
        (gtm_thread::trycommit): Likewise.
        (choose_code_path): Update global_tid access.
        * method-gl.cc (gl_mg::orec): Use atomic template.  Update all users.
        * stmlock.h (GTM::gtm_clock): Use atomic template.
        (gtm_get_clock, gtm_inc_clock): Update accesses.
        * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
        redundant __sync_synchronize after atomic shared_state access.
        * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
        (gtm_rwlock::write_lock_generic): Likewise.
        (gtm_rwlock::read_unlock): Likewise.
        * config/alpha/target.h (atomic_read_barrier): Remove.
        (atomic_write_barrier): Remove.
        * config/x86/target.h (atomic_read_barrier): Remove.
        (atomic_write_barrier): Remove.

From-SVN: r182294

12 years agocompiler: Fix multiple conversions to different named slices.
Ian Lance Taylor [Tue, 13 Dec 2011 18:52:19 +0000 (18:52 +0000)]
compiler: Fix multiple conversions to different named slices.

From-SVN: r182293

12 years agore PR c++/14258 (typename in a using declaration not supported)
Fabien Chêne [Tue, 13 Dec 2011 18:46:58 +0000 (19:46 +0100)]
re PR c++/14258 (typename in a using declaration not supported)

gcc/testsuite/ChangeLog

2011-12-11  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/14258
* g++.dg/template/using16.C: New.
* g++.dg/template/using17.C: New.

gcc/cp/ChangeLog

2011-12-11  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/14258
* cp-tree.h (USING_DECL_TYPENAME_P): New macro.
* parser.c (cp_parser_nonclass_name): Handle using declarations
that refer to a dependent type.
(cp_parser_using_declaration): Set USING_DECL_TYPENAME_P to 1 if
the using declaration refers to a dependent type.

From-SVN: r182292

12 years agocompiler: Permit converting between string and named []byte/[]rune.
Ian Lance Taylor [Tue, 13 Dec 2011 18:09:56 +0000 (18:09 +0000)]
compiler: Permit converting between string and named []byte/[]rune.

From-SVN: r182291

12 years agotrans-mem.c (struct diagnose_tm): Remove saw_unsafe.
Aldy Hernandez [Tue, 13 Dec 2011 17:49:55 +0000 (17:49 +0000)]
trans-mem.c (struct diagnose_tm): Remove saw_unsafe.

        PR/51443
        * trans-mem.c (struct diagnose_tm): Remove saw_unsafe.
        (diagnose_tm_1): Same.
        (ipa_tm_execute): Do not test tm_may_enter_irr before we set it.
        (ipa_tm_scan_irr_function): Return gracefully when no
        DECL_STRUCT_FUNCTION.
        (ipa_tm_scan_irr_block): Believe the user on TM attributes.

From-SVN: r182290

12 years agore PR middle-end/50628 (gfortran.fortran-torture/execute/entry_4.f90 fails)
Martin Jambor [Tue, 13 Dec 2011 16:08:14 +0000 (17:08 +0100)]
re PR middle-end/50628 (gfortran.fortran-torture/execute/entry_4.f90 fails)

2011-12-13  Martin Jambor  <mjambor@suse.cz>

PR middle-end/50628
* tree-sra.c (propagate_subaccesses_across_link): Do not propagate
sub-accesses of scalar accesses.

From-SVN: r182289

12 years agore PR tree-optimization/51362 (ICE: SIGFPE (division by zero) in good_cloning_opportu...
Martin Jambor [Tue, 13 Dec 2011 15:43:36 +0000 (16:43 +0100)]
re PR tree-optimization/51362 (ICE: SIGFPE (division by zero) in good_cloning_opportunity_p at ipa-cp.c:2401)

2011-12-13  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/51362
* ipa-cp.c (estimate_local_effects): When estimated size of a
specialized clone is zero, bump it to one.

* testsuite/gcc.dg/ipa/pr51362.c: New test.

From-SVN: r182288

12 years agore PR testsuite/51524 ([BMI2] New regression on 182266 vs 182257)
Uros Bizjak [Tue, 13 Dec 2011 15:00:09 +0000 (16:00 +0100)]
re PR testsuite/51524 ([BMI2] New regression on 182266 vs 182257)

PR testsuite/51524
* gcc.target/i386/bmi2-mulx32-1.c (gen_mulx): Add attribute regparm(2).
* gcc.target/i386/bmi2-mulx32-2.c (calc_mulx_u32): Ditto.

From-SVN: r182287

12 years agore PR debug/48354 (internal compiler error: in splice_child_die, at dwarf2out.c:8064)
Richard Guenther [Tue, 13 Dec 2011 14:43:44 +0000 (14:43 +0000)]
re PR debug/48354 (internal compiler error: in splice_child_die, at dwarf2out.c:8064)

2011-12-13  Richard Guenther  <rguenther@suse.de>

PR lto/48354
* tree.c (find_decls_types_r): Also walk DECL_ORIGINAL_TYPE.
* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
Stream DECL_ORIGINAL_TYPE.
* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers):
Likewise.

lto/
* lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.

* g++.dg/lto/pr48354-1_0.C: New testcase.

From-SVN: r182286

12 years agolife -> live; one favourite typo of mine.
Michael Matz [Tue, 13 Dec 2011 14:07:26 +0000 (14:07 +0000)]
life -> live; one favourite typo of mine.

From-SVN: r182285

12 years agoRevert
Jakub Jelinek [Tue, 13 Dec 2011 14:00:58 +0000 (15:00 +0100)]
Revert
2011-12-12  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/51481
* gimple-fold.c (gimple_fold_call): Call
maybe_clean_or_replace_eh_stmt.  Avoid optimization if stmt has EH
edges, but gimple_fold_builtin result can't throw.

From-SVN: r182284

12 years agore PR tree-optimization/51117 (rev.181172 causes glibc build failure)
Jakub Jelinek [Tue, 13 Dec 2011 13:59:35 +0000 (14:59 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)

PR tree-optimization/51117
* tree-eh.c (sink_clobbers): New function.
(execute_lower_eh_dispatch): Call it for BBs ending with
internally throwing RESX.
* cfgexpand.c (add_scope_conflicts_1): Add all conflicts only
at the first real instruction.

Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r182283

12 years agofinal.c (final_scan_insn): Guard the call to begin_epilogue debug hook.
Tristan Gingold [Tue, 13 Dec 2011 13:41:12 +0000 (13:41 +0000)]
final.c (final_scan_insn): Guard the call to begin_epilogue debug hook.

2011-12-13  Tristan Gingold  <gingold@adacore.com>

* final.c (final_scan_insn): Guard the call to begin_epilogue
debug hook.

From-SVN: r182282

12 years agovmsdbgout.c (vmsdbgout_write_source_line): New function.
Tristan Gingold [Tue, 13 Dec 2011 13:30:18 +0000 (13:30 +0000)]
vmsdbgout.c (vmsdbgout_write_source_line): New function.

2011-12-13  Tristan Gingold  <gingold@adacore.com>

* vmsdbgout.c (vmsdbgout_write_source_line): New function.
(vmsdbgout_end_prologue): Call vmsdbgout_write_source_line.
(vmsdbgout_begin_epilogue): Likewise.
(vmsdbgout_end_epilogue): Likewise.
(vmsdbgout_source_line): Move code to vmsdbgout_write_source_line.

From-SVN: r182281

12 years agore PR tree-optimization/51481 (ice: dead STMT in EH table)
Richard Guenther [Tue, 13 Dec 2011 12:56:09 +0000 (12:56 +0000)]
re PR tree-optimization/51481 (ice: dead STMT in EH table)

2011-12-13  Richard Guenther  <rguenther@suse.de>

PR middle-end/51481
* tree-cfg.c (replace_uses_by): Pass proper arguments to
maybe_clean_or_replace_eh_stmt.

From-SVN: r182280

12 years agore PR tree-optimization/51519 (ICE: in inline_small_functions, at ipa-inline.c:1410...
Richard Guenther [Tue, 13 Dec 2011 12:54:57 +0000 (12:54 +0000)]
re PR tree-optimization/51519 (ICE: in inline_small_functions, at ipa-inline.c:1410 with -O -fno-guess-branch-probability -findirect-inlining)

2011-12-13  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51519
* ipa-inline.c (edge_badness): Use edge growth in non-guessed
branch probability case as well.

* gcc.dg/pr51519.c: New testcase.

From-SVN: r182279

12 years ago20111213-1_0.c: New testcase.
Richard Guenther [Tue, 13 Dec 2011 12:41:15 +0000 (12:41 +0000)]
20111213-1_0.c: New testcase.

2011-12-13  Richard Guenther  <rguenther@suse.de>

* gcc.dg/lto/20111213-1_0.c: New testcase.

From-SVN: r182278

12 years agovect1.ad[sb]: Add more tests.
Eric Botcazou [Tue, 13 Dec 2011 11:26:14 +0000 (11:26 +0000)]
vect1.ad[sb]: Add more tests.

* gnat.dg/vect1.ad[sb]: Add more tests.
* gnat.dg/vect2.ad[sb]: Likewise.
* gnat.dg/vect3.ad[sb]: Likewise.
* gnat.dg/vect4.ad[sb]: Likewise.
* gnat.dg/vect5.ad[sb]: Likewise.
* gnat.dg/vect6.ad[sb]: Likewise.

From-SVN: r182276

12 years agore PR ada/49084 (bootstrap failure with Ada enabled)
Cesar Strauss [Tue, 13 Dec 2011 11:21:28 +0000 (11:21 +0000)]
re PR ada/49084 (bootstrap failure with Ada enabled)

PR ada/49084
* types.h (Byte): Change typedef to 'unsigned char'.
* atree.h (struct Flag_Word): Use Byte for 'convention' field.

From-SVN: r182275

12 years agoSMS: Add missing free operation in mark_loop_unsched
Revital Eres [Tue, 13 Dec 2011 05:41:45 +0000 (05:41 +0000)]
SMS: Add missing free operation in mark_loop_unsched

From-SVN: r182271

12 years agoDaily bump.
GCC Administrator [Tue, 13 Dec 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182270

12 years agolibgo: Update to weekly.2011-11-18.
Ian Lance Taylor [Mon, 12 Dec 2011 23:40:51 +0000 (23:40 +0000)]
libgo: Update to weekly.2011-11-18.

From-SVN: r182266

12 years agore PR rtl-optimization/51495 (ICE: in force_nonfallthru_and_redirect, at cfgrtl.c...
Jakub Jelinek [Mon, 12 Dec 2011 21:00:36 +0000 (22:00 +0100)]
re PR rtl-optimization/51495 (ICE: in force_nonfallthru_and_redirect, at cfgrtl.c:1171 with computed goto)

PR rtl-optimization/51495
* function.c (thread_prologue_and_epilogue_insns): Don't add
to bb_tail basic blocks that have EDGE_COMPLEX predecessor edges
from basic blocks not needing prologue.

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

From-SVN: r182265

12 years agore PR tree-optimization/51481 (ice: dead STMT in EH table)
Jakub Jelinek [Mon, 12 Dec 2011 20:59:28 +0000 (21:59 +0100)]
re PR tree-optimization/51481 (ice: dead STMT in EH table)

PR tree-optimization/51481
* gimple-fold.c (gimple_fold_call): Call
maybe_clean_or_replace_eh_stmt.  Avoid optimization if stmt has EH
edges, but gimple_fold_builtin result can't throw.

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

From-SVN: r182264

12 years agore PR rtl-optimization/21617 (CRC64 algorithm optimization problem on Intel 32-bit)
Vladimir Makarov [Mon, 12 Dec 2011 20:51:16 +0000 (20:51 +0000)]
re PR rtl-optimization/21617 (CRC64 algorithm optimization problem on Intel 32-bit)

2011-12-12  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/21617
* ira-color.c (bucket_allocno_compare_func): Don't compare
allocno classes.  Compare number of hard registers needed.

From-SVN: r182263

12 years agore PR tree-optimization/45830 (Code+rodata increase with -ftree-switch-conversion)
Georg-Johann Lay [Mon, 12 Dec 2011 20:13:40 +0000 (20:13 +0000)]
re PR tree-optimization/45830 (Code+rodata increase with -ftree-switch-conversion)

PR tree-optimization/45830
* gcc.c-torture/execute/pr45830.c: Move from here to...
* gcc.dg/torture/pr45830.c: ...this new file.  Add dg-do and
dg-additional-options magic.

From-SVN: r182262

12 years agogfortran.dg/nested_modules_2.f90: Tighten test.
Janne Blomqvist [Mon, 12 Dec 2011 19:36:39 +0000 (21:36 +0200)]
gfortran.dg/nested_modules_2.f90: Tighten test.

2011-12-12  Janne Blomqvist  <jb@gcc.gnu.org>

* gfortran.dg/nested_modules_2.f90: Tighten test.

From-SVN: r182258

12 years agore PR c++/51496 (FAIL: libgomp.c++/for-2.C * (test for excess errors))
Jakub Jelinek [Mon, 12 Dec 2011 18:55:06 +0000 (19:55 +0100)]
re PR c++/51496 (FAIL: libgomp.c++/for-2.C  *  (test for excess errors))

PR c++/51496
* parser.c (cp_parser_omp_for_loop): When determining whether
to use cp_parser_omp_for_incr or cp_parser_expression and when
calling cp_parser_omp_for_incr, use real_decl instead of decl.

From-SVN: r182257

12 years agonet/http: delete temporary files.
Ian Lance Taylor [Mon, 12 Dec 2011 18:45:08 +0000 (18:45 +0000)]
net/http: delete temporary files.

From-SVN: r182256

12 years agore PR tree-optimization/50569 (unaligned memory accesses generated for memcpy)
Eric Botcazou [Mon, 12 Dec 2011 18:22:13 +0000 (18:22 +0000)]
re PR tree-optimization/50569 (unaligned memory accesses generated for memcpy)

PR tree-optimization/50569
* tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
in the expression of MODEL instead of just the last one.

From-SVN: r182252

12 years agoFix flags for edges from/to entry/exit basic blocks.
Dmitry Vyukov [Mon, 12 Dec 2011 18:03:36 +0000 (10:03 -0800)]
Fix flags for edges from/to entry/exit basic blocks.

* cgraphunit.c (init_lowered_empty_function):
Fix flags for new edges.

From-SVN: r182251

12 years agorevert: re PR target/51135 (SIGSEGV during exception cleanup on win32)
Paolo Carlini [Mon, 12 Dec 2011 17:34:19 +0000 (17:34 +0000)]
revert: re PR target/51135 (SIGSEGV during exception cleanup on win32)

2011-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
2011-12-12  Kai Tietz  <ktietz@redhat.com>

PR libstdc++/51135
* libsupc++/cxxabi.h (__cxa_dtor_type): New type.
(__cxa_throw): Use it for destructor-argument.
* libsupc++/eh_throw.cc (__cxa_throw): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
exceptionDestructor to __cxa_dtor_type.
* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
Define.
(__cxa_dtor_type): Declare target secific type variant.
* config/os/mingw32/os_defines.h: Likewise.

From-SVN: r182250

12 years ago2011-12-12 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Mon, 12 Dec 2011 17:29:17 +0000 (17:29 +0000)]
2011-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

* Revert the last commit.

From-SVN: r182249

12 years agore PR testsuite/51511 (gcc.dg/pr45819.c fails on arm-linux-gnueabi due to PR50078...
Jakub Jelinek [Mon, 12 Dec 2011 16:48:46 +0000 (17:48 +0100)]
re PR testsuite/51511 (gcc.dg/pr45819.c fails on arm-linux-gnueabi due to PR50078+PR51466 fix)

PR testsuite/51511
* gcc.dg/pr45819.c: Add -w to dg-options.

From-SVN: r182247

12 years agore PR middle-end/51510 (gcc for arm-linux-gnueabi ICEs on gcc.c-torture/execute/20050...
Jakub Jelinek [Mon, 12 Dec 2011 16:44:23 +0000 (17:44 +0100)]
re PR middle-end/51510 (gcc for arm-linux-gnueabi ICEs on gcc.c-torture/execute/20050713-1.c due to PR50074+PR51323 fix)

PR middle-end/51510
* calls.c (internal_arg_pointer_based_exp_scan): Don't use
VEC_safe_grow_cleared if idx is smaller than VEC_length.

From-SVN: r182246

12 years agore PR tree-optimization/50873 (The fix to PR50730 causes gcc.c-torture/unsorted/dilay...
Richard Sandiford [Mon, 12 Dec 2011 15:18:24 +0000 (15:18 +0000)]
re PR tree-optimization/50873 (The fix to PR50730 causes gcc.c-torture/unsorted/dilayout.c to ICE)

gcc/
PR middle-end/50873
* optabs.c (maybe_legitimize_operand_same_code): Use copy_to_mode_reg
instead of force_reg.  Do nothing if the address is already a
non-virtual pseudo register.

From-SVN: r182244

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 14:33:39 +0000 (15:33 +0100)]
[multiple changes]

2011-12-12  Robert Dewar  <dewar@adacore.com>

* s-taprop-mingw.adb: Minor reformatting.

2011-12-12  Nicolas Roche  <roche@adacore.com>

* gcc-interface/Make-lang.in: Update dependencies.
Add gnattools4 target when building tools in canadian mode

2011-12-12  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Make_VM_TSD): Complete previous
patch.

2011-12-12  Bob Duff  <duff@adacore.com>

* s-tpobop.adb: Use named notation.
* g-bytswa.ads, s-taprop.ads: Minor comment fix.

2011-12-12  Arnaud Charlet  <charlet@adacore.com>

* make.adb: Minor comment update.

From-SVN: r182242

12 years agofreeze.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 12 Dec 2011 13:49:10 +0000 (13:49 +0000)]
freeze.adb, [...]: Minor reformatting.

2011-12-12  Robert Dewar  <dewar@adacore.com>

* freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
reformatting.

From-SVN: r182241

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 13:43:38 +0000 (14:43 +0100)]
[multiple changes]

2011-12-12  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb, gnatls.adb: Minor reformatting.

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Entity): If a type declared in a generic
context has predicates, generate a freeze node for it.
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
has not been analyzed yet, entity has not been frozen, so analyze
it now.

2011-12-12  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Make_VM_TSD): Generate code
to store the value 'alignment in the TSD.

2011-12-12  Bob Duff  <duff@adacore.com>

* s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
mode.

From-SVN: r182240

12 years agoexp_ch4.adb (Expand_N_Allocator): Update the master of an anonymous access-to-control...
Hristian Kirtchev [Mon, 12 Dec 2011 13:40:18 +0000 (13:40 +0000)]
exp_ch4.adb (Expand_N_Allocator): Update the master of an anonymous access-to-controlled type to utilize the...

2011-12-12  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_N_Allocator): Update the master of an
anonymous access-to-controlled type to utilize the heterogeneous
master associated with the current unit.

From-SVN: r182239

12 years agoCorrect bug-number in ChangeLog.
Kai Tietz [Mon, 12 Dec 2011 13:29:10 +0000 (14:29 +0100)]
Correct bug-number in ChangeLog.

        PR libstdc++/51135
        * libsupc++/cxxabi.h (__cxxabi_dtor_type): New type.
        (__cxa_throw): Use it for destructor-argument.
        * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
        exceptionDestructor to __cxxabi_dtor_type.
        * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
        Define.
        (__cxa_dtor_type): Declare target secific type variant.
        * config/os/mingw32/os_defines.h: Likewise.

From-SVN: r182238

12 years agoPR libstdc++/511135
Kai Tietz [Mon, 12 Dec 2011 13:24:30 +0000 (14:24 +0100)]
PR libstdc++/511135
* libsupc++/cxxabi.h (__cxxabi_dtor_type): New type.
(__cxa_throw): Use it for destructor-argument.
* libsupc++/eh_throw.cc (__cxa_throw): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
exceptionDestructor to __cxxabi_dtor_type.
* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
Define.
(__cxa_dtor_type): Declare target secific type variant.
* config/os/mingw32/os_defines.h: Likewise.

From-SVN: r182237

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 12:06:59 +0000 (13:06 +0100)]
[multiple changes]

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): If the function
is not a completion, pre-analyze the expression now to prevent
spurious visibility on later entities. The body is inserted at
the end of the current declaration list or package to prevent
early freezing, but the visibility is established at the point
of definition.

2011-12-12  Bob Duff  <duff@adacore.com>

* sem.adb, sem.ads: Add debugging routines.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

* gnatls.adb: (gnatls): Also add the objects dir in search list.

From-SVN: r182235

12 years agoSupport noexcept-specifications for transaction statements and expressions.
Torvald Riegel [Mon, 12 Dec 2011 12:05:37 +0000 (12:05 +0000)]
Support noexcept-specifications for transaction statements and expressions.

gcc/cp/
* semantics.c (finish_transaction_stmt, build_transaction_expr):
Accept new noexcept parameter and handle it.
* cp-tree.h (finish_transaction_stmt, build_transaction_expr): Adapt
declarations.
* parser.c (cp_parser_exception_specification_opt): Extract
noexcept-specification parsing to ...
(cp_parser_noexcept_specification_opt): ...here.  Allow for parsing
non-constexpr noexcept arguments.
(cp_parser_transaction, cp_parser_transaction_expression): Parse
and handle noexcept-specifications.
(cp_parser_function_transaction): Adapt to finish_transaction_stmt
change.
* pt.c (tsubst_expr): Adapt to new noexcept parameters when
building transactions.

gcc/testsuite/
* g++.dg/tm/noexcept-1.C: New test.
* g++.dg/tm/noexcept-2.C: New test.
* g++.dg/tm/noexcept-3.C: New test.
* g++.dg/tm/noexcept-4.C: New test.
* g++.dg/tm/noexcept-5.C: New test.

From-SVN: r182234

12 years agoAdd condition to MUST_NOT_THROW_EXPR.
Torvald Riegel [Mon, 12 Dec 2011 12:05:18 +0000 (12:05 +0000)]
Add condition to MUST_NOT_THROW_EXPR.

gcc/cp/
* cp-tree.def (MUST_NOT_THROW_EXPR): Add condition parameter.
* cp-tree.h (MUST_NOT_THROW_COND): New.
(build_must_not_throw_expr): Declare.
* dump.c (cp_dump_tree): Dump MUST_NOT_THROW_EXPR condition.
* except.c (build_must_not_throw_expr): New.
(initialize_handler_parm): Use it.
(begin_eh_spec_block, wrap_cleanups_r): Adapt to condition.
* pt.c (tsubst_expr): Handle MUST_NOT_THROW_EXPR.

From-SVN: r182233

12 years agoAdd default handling for outermost wrappers in voidify_wrapper_expr.
Torvald Riegel [Mon, 12 Dec 2011 12:05:01 +0000 (12:05 +0000)]
Add default handling for outermost wrappers in voidify_wrapper_expr.

gcc/
* gimplify.c (voidify_wrapper_expr): Add default handling for
outermost wrapper.

From-SVN: r182232

12 years agoPrevent sharing of commit calls among transactions.
Torvald Riegel [Mon, 12 Dec 2011 12:04:46 +0000 (12:04 +0000)]
Prevent sharing of commit calls among transactions.

gcc/
* tree-ssa-tail-merge.c (gimple_equal_p): Don't treat transaction
commits as equal.

gcc/testsuite/
* c-c++-common/tm/20111206.c: New test.

From-SVN: r182231

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 12:03:35 +0000 (13:03 +0100)]
[multiple changes]

2011-12-12  Robert Dewar  <dewar@adacore.com>

* exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
sem_ch13.adb: Minor reformatting.

2011-12-12  Gary Dismukes  <dismukes@adacore.com>

* sem_ch7.adb (Uninstall_Declarations): Don't
apply check for incomplete types used as a result type for an
access-to-function type when compiling for Ada 2012 or later.
* sem_ch6.adb (Analyze_Subprogram_Declaration):
Specialize error message for interface subprograms that are
not declared abstract nor null (functions can't be declared as
null). Also, remove "(Ada 2005)" from message.

From-SVN: r182230

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 11:54:30 +0000 (12:54 +0100)]
[multiple changes]

2011-12-12  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (GNAT_Pragma): Check comes from source.

2011-12-12  Robert Dewar  <dewar@adacore.com>

* gnatls.adb: Minor reformatting.

2011-12-12  Javier Miranda  <miranda@adacore.com>

* a-tags.ads (Alignment): New TSD field.
(Max_Predef_Prims): Value lowered to 15 (or 9 in case of
configurable runtime) Update documentation of predefined
primitives since Alignment has been removed.
* exp_disp.ads Update documentation of slots of dispatching
primitives.
* exp_disp.adb (Default_Prim_Op_Position): Update slot
values since alignment is no longer a predefined primitive.
(Is_Predefined_Dispatch_Operation): Remove _alignment.
(Is_Predefined_Internal_Operation): Remove _alignment.
(Make_DT): Update static test on the value stored in a-tags.ads
for Max_Predef_Prims; store the value of 'alignment in the TSD.
* exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
that retrieves the alignment from the TSD
* exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
of class-wide types obtain the value of alignment from the TSD.
* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
applied to a class-wide type invoke Build_Get_Alignment to
generate code which retrieves the value of the alignment from
the TSD.
* rtsfind.ads (RE_Alignment): New Ada.Tags entity
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
types if the value of the alignment is bigger than the Maximum
alignment then set the value of the alignment to the Maximum
alignment and report a warning.
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
spec of _alignment.
(Predefined_Primitive_Bodies): Do not generate body of _alignment.

From-SVN: r182229

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 11:52:04 +0000 (12:52 +0100)]
[multiple changes]

2011-12-12  Gary Dismukes  <dismukes@adacore.com>

* freeze.adb (Freeze_Expression): Allow freezing of static
scalar subtypes that are prefixes of an attribute, even if not
yet marked static. Such attributes will get marked as static
later in Eval_Attribute (as called from Resolve_Attribute).
* sem_attr.adb (Eval_Attribute): Remove wrong code that does an
early return for attribute prefixes that are unfrozen source-level
types. This code was incorrectly bypassing folding of unfrozen
static subtype attributes in default expressions (the executable
example in the now-deleted comment was in fact illegal).

2011-12-12  Robert Dewar  <dewar@adacore.com>

* a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

* gsocket.h: Adjust previous patch.

From-SVN: r182228

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 11:49:31 +0000 (12:49 +0100)]
[multiple changes]

2011-12-12  Thomas Quinot  <quinot@adacore.com>

* exp_disp.adb: Minor reformatting.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

* gnatls.adb (Search_RTS): New procedure.
(Scan_Ls_Arg): Move code that search the RTS.
(Gnatls): search the RTS later.
* prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.

2011-12-12  Ed Falis  <falis@adacore.com>

* sysdep.c: Fix treatment of VxWorks task options so that run-times
built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.

2011-12-12  Bob Duff  <duff@adacore.com>

* sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
Minor cleanup and fiddling with debug printouts.

2011-12-12  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Get_Directories): For a non extending project,
always get a declared object and/or exec directory if it already
exists, even when there are no sources, but do not create them.

2011-12-12  Bob Duff  <duff@adacore.com>

* sem_res.adb (Resolve): Deal with the case where an abstract
operator is called with operands of type universal_integer.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb: Minor fix to dominance marker referencing WHILE
decision.

From-SVN: r182227

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 11:28:03 +0000 (12:28 +0100)]
[multiple changes]

2011-12-12  Tristan Gingold  <gingold@adacore.com>

* mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb: Adjust dominant marker for branches of CASE
statements.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

* gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
header file prior to redefining FD_SETSIZE.

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
a generic context the aspect expressions may not have been
preanalyzed if there was no previous freeze point, so the
expressions must be preanalyzed now, and there is no conformance
to check for visibility changes.

2011-12-12  Matthew Heaney  <heaney@adacore.com>

* a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
subtype Index_Type'Base for Index component (Finalize): Remove
unnecessary access check (First, Last): Cursor return value
depends on iterator index value (Iterate): Use start position as
iterator index value (Next, Previous): Forward to corresponding
cursor-based operation.
* a-cborma.adb (Iterate): Properly initialize iterator object (with 0
as node index).

From-SVN: r182226

12 years agore PR libgcj/50053 (jc1 doesn't emit static initializer or initializer code for super...
Kai Tietz [Mon, 12 Dec 2011 10:40:27 +0000 (11:40 +0100)]
re PR libgcj/50053 (jc1 doesn't emit static initializer or initializer code for super class without -findirect-dispatch.)

        PR libgcj/50053
        * java/lang/natClass.cc (java::lang::Class::newInstance): Special case
        member-call for 32-bit IA native Window target.

From-SVN: r182225

12 years ago[multiple changes]
Arnaud Charlet [Mon, 12 Dec 2011 10:30:49 +0000 (11:30 +0100)]
[multiple changes]

2011-12-12  Robert Dewar  <dewar@adacore.com>

* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.

2011-12-12  Steve Baird  <baird@adacore.com>

* sem_ch3.adb (Check_Completion): Improve a comment.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

* cstand.adb: Minor comment fix.

From-SVN: r182224

12 years agore PR debug/51262 (ICE: SIGSEGV in primary_template_instantiation_p (pt.c:2874) with...
Richard Guenther [Mon, 12 Dec 2011 08:37:22 +0000 (08:37 +0000)]
re PR debug/51262 (ICE: SIGSEGV in primary_template_instantiation_p (pt.c:2874) with -flto -g)

2011-12-12  Richard Guenther  <rguenther@suse.de>

PR lto/51262
* tree.c (cp_free_lang_data): No longer clear anonymous names.

* g++.dg/opt/pr51262.C: New testcase.

From-SVN: r182221

12 years agodarwin-sections.def (zobj_const_data_section): Fix over- length section name.
Iain Sandoe [Mon, 12 Dec 2011 08:24:33 +0000 (08:24 +0000)]
darwin-sections.def (zobj_const_data_section): Fix over- length section name.

gcc:

* config/darwin-sections.def (zobj_const_data_section): Fix over-
length section name.

From-SVN: r182220

12 years agoFix PR testsuite/47013
Revital Eres [Mon, 12 Dec 2011 07:32:25 +0000 (07:32 +0000)]
Fix PR testsuite/47013

From-SVN: r182219

12 years agors6000.c (rs6000_expand_interleave): Use BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.
Richard Henderson [Mon, 12 Dec 2011 02:57:18 +0000 (18:57 -0800)]
rs6000.c (rs6000_expand_interleave): Use BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.

        * config/rs6000/rs6000.c (rs6000_expand_interleave): Use
        BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.

From-SVN: r182218

12 years agoDaily bump.
GCC Administrator [Mon, 12 Dec 2011 00:18:04 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182217

12 years agore PR tree-optimization/51485 (ICE in vectorizable_assignment)
Jakub Jelinek [Sun, 11 Dec 2011 21:01:00 +0000 (22:01 +0100)]
re PR tree-optimization/51485 (ICE in vectorizable_assignment)

PR tree-optimization/51485
* tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
DRs in call stmts.

* g++.dg/vect/pr51485.cc: New test.

From-SVN: r182212

12 years agore PR fortran/50923 (No warning if function return value is not set)
Tobias Burnus [Sun, 11 Dec 2011 20:44:30 +0000 (21:44 +0100)]
re PR fortran/50923 (No warning if function return value is not set)

2011-12-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50923
        * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only
        if the front end has printed a warning.
        (gfc_generate_function_code): Fix unset-result warning.

2011-12-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50923
        * gfortran.dg/warn_function_without_result_2.f90: New.

From-SVN: r182211

12 years agore PR fortran/41539 ([OOP] Calling function which takes CLASS: Rank comparison does...
Paul Thomas [Sun, 11 Dec 2011 20:42:23 +0000 (20:42 +0000)]
re PR fortran/41539 ([OOP] Calling function which takes CLASS: Rank comparison does not work)

2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
Tobias Burnus  <burnus@gcc.gnu.org>

PR fortran/41539
PR fortran/43214
PR fortran/43969
PR fortran/44568
PR fortran/46356
PR fortran/46990
PR fortran/49074
* interface.c(symbol_rank): Return the rank of the _data
component of class objects.
(compare_parameter): Also compare the derived type of the class
_data component for type mismatch.  Similarly, return 1 if the
formal and _data ranks match.
(compare_actual_formal): Do not compare storage sizes for class
expressions. It is an error if an actual class array, passed to
a formal class array is not full.
* trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,
gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,
gfc_vtable_extends_get, gfc_vtable_def_init_get,
gfc_vtable_copy_get): New functions for class API.
(gfc_conv_derived_to_class): For an array reference in an
elemental procedure call retain the ss to provide the
scalarized array reference. Moved in file.
(gfc_conv_class_to_class): New function.
        (gfc_conv_subref_array_arg): Use the type of the
class _data component as a basetype.
(gfc_conv_procedure_call): Ensure that class array expressions
have both the _data reference and an array reference. Use
gfc_conv_class_to_class to handle class arrays for elemental
functions in scalarized loops, class array elements and full
class arrays. Use a call to gfc_conv_subref_array_arg in order
that the copy-in/copy-out for passing class arrays to derived
type arrays occurs correctly.
(gfc_conv_expr): If it is missing, add the _data component
between a class object or component and an array reference.
(gfc_trans_class_array_init_assign): New function.
(gfc_trans_class_init_assign): Call it for array expressions.
* trans-array.c (gfc_add_loop_ss_code): Do not use a temp for
class scalars since their size will depend on the dynamic type.
(build_class_array_ref): New function.
(gfc_conv_scalarized_array_ref): Call build_class_array_ref.
(gfc_array_init_size): Add extra argument, expr3, that represents
the SOURCE argument. If present,use this for the element size.
(gfc_array_allocate): Also add argument expr3 and use it when
calling gfc_array_init_size.
(structure_alloc_comps): Enable class arrays.
* class.c (gfc_add_component_ref): Carry over the derived type
of the _data component.
(gfc_add_class_array_ref): New function.
(class_array_ref_detected): New static function.
(gfc_is_class_array_ref): New function that calls previous.
(gfc_is_class_scalar_expr): New function.
(gfc_build_class_symbol): Throw not implemented error for
assumed size class arrays.  Remove error that prevents
CLASS arrays.
(gfc_build_class_symbol): Prevent pointer/allocatable conflict.
Also unset codimension.
(gfc_find_derived_vtab): Make 'copy' elemental and set the
intent of the arguments accordingly.:
* trans-array.h : Update prototype for gfc_array_allocate.
* array.c (gfc_array_dimen_size): Return failure if class expr.
(gfc_array_size): Likewise.
* gfortran.h : New prototypes for gfc_add_class_array_ref,
gfc_is_class_array_ref and gfc_is_class_scalar_expr.
* trans-stmt.c (trans_associate_var): Exclude class targets
from test. Move the allocation of the _vptr to an earlier time
for class objects.
(trans_associate_var): Assign the descriptor directly for class
arrays.
(gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.
Convert array element references into sections. Do not invoke
gfc_conv_procedure_call, use gfc_trans_call instead.
* expr.c (gfc_get_corank): Fix for BT_CLASS.
(gfc_is_simply_contiguous): Exclude class from test.
* trans.c (gfc_build_array_ref): Include class array refs.
* trans.h : Include prototypes for class API functions that are
new in trans-expr. Define GFC_DECL_CLASS(node).
* resolve.c (check_typebound_baseobject ): Remove error for
non-scalar base object.
(resolve_allocate_expr): Ensure that class _data component is
present. If array, call gfc_expr_to_intialize.
(resolve_select): Remove scalar error for SELECT statement as a
temporary measure.
(resolve_assoc_var): Update 'target' (aka 'selector') as
needed. Ensure that the target expression has the right rank.
(resolve_select_type): Ensure that target expressions have a
valid locus.
(resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.
* trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where
appropriate.
(gfc_trans_deferred_vars): Get class arrays right.
* match.c(select_type_set_tmp): Add array spec to temporary.
(gfc_match_select_type): Allow class arrays.
* check.c (array_check): Ensure that class arrays have refs.
(dim_corank_check, dim_rank_check): Retrun success if class.
* primary.c (gfc_match_varspec): Fix for class arrays and
co-arrays. Make sure that class _data is present.
(gfc_match_rvalue): Handle class arrays.
*trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array
reference.
(gfc_conv_allocated): Add _data component to class expressions.
(gfc_add_intrinsic_ss_code): ditto.
* simplify.c (simplify_cobound): Fix for BT_CLASS.
(simplify_bound): Return NULL for class arrays.
(simplify_cobound): Obtain correct array_spec. Use cotype as
appropriate. Use arrayspec for bounds.

2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
Tobias Burnus  <burnus@gcc.gnu.org>

PR fortran/41539
PR fortran/43214
PR fortran/43969
PR fortran/44568
PR fortran/46356
PR fortran/46990
PR fortran/49074
* gfortran.dg/class_array_1.f03: New.
* gfortran.dg/class_array_2.f03: New.
* gfortran.dg/class_array_3.f03: New.
* gfortran.dg/class_array_4.f03: New.
* gfortran.dg/class_array_5.f03: New.
* gfortran.dg/class_array_6.f03: New.
* gfortran.dg/class_array_7.f03: New.
* gfortran.dg/class_array_8.f03: New.
* gfortran.dg/coarray_poly_1.f90: New.
* gfortran.dg/coarray_poly_2.f90: New.
* gfortran.dg/coarray/poly_run_1.f90: New.
* gfortran.dg/coarray/poly_run_2.f90: New.
* gfortran.dg/class_to_type_1.f03: New.
* gfortran.dg/type_to_class_1.f03: New.
* gfortran.dg/typebound_assignment_3.f03: Remove the error.
* gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free
now 2.
* gfortran.dg/class_19.f03: Occurences of __builtin_free now 8.

Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
From-SVN: r182210

12 years agore PR fortran/50690 (ICE with front end optimization and OMP workshare)
Thomas Koenig [Sun, 11 Dec 2011 17:43:22 +0000 (17:43 +0000)]
re PR fortran/50690 (ICE with front end optimization and OMP workshare)

2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50690
* frontend-passes.c (in_omp_workshare):  New variable.
(cfe_expr_0):  Don't eliminiate common function if it would put
the variable immediately into a WORKSHARE construct.
(optimize_namespace):  Set in_omp_workshare.
(gfc_code_walker):  Keep track of OMP PARALLEL and OMP WORKSHARE
constructs.

2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50690
* gfortran.dg/gomp/workshare2.f90:  New test.
* gfortran.dg/gomp/workshare3.f90:  New test.

From-SVN: r182208

12 years agoabi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y...
Jonathan Wakely [Sun, 11 Dec 2011 14:59:26 +0000 (14:59 +0000)]
abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y...

* doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y,
remove excessive duplication of version information.
* doc/html/*: Regenerate.

From-SVN: r182206

12 years agotrans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.
Patrick Marlier [Sun, 11 Dec 2011 14:02:52 +0000 (14:02 +0000)]
trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.

        * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
        edge.

From-SVN: r182205

12 years ago* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.
Eric Botcazou [Sun, 11 Dec 2011 11:23:15 +0000 (11:23 +0000)]
* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.

From-SVN: r182204

12 years agoutils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute...
Eric Botcazou [Sun, 11 Dec 2011 11:05:58 +0000 (11:05 +0000)]
utils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute that of the constructor.

* gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
flag of elements to compute that of the constructor.

From-SVN: r182203

12 years agodecl.c (gnat_to_gnu_param): Set the restrict qualifier on references built for parame...
Eric Botcazou [Sun, 11 Dec 2011 10:54:52 +0000 (10:54 +0000)]
decl.c (gnat_to_gnu_param): Set the restrict qualifier on references built for parameters which aren't...

* gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
on references built for parameters which aren't specifically by-ref.

From-SVN: r182202

12 years agodecl.c (gnat_to_gnu_entity): If there is an alignment set on a renaming...
Eric Botcazou [Sun, 11 Dec 2011 10:40:08 +0000 (10:40 +0000)]
decl.c (gnat_to_gnu_entity): If there is an alignment set on a renaming...

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
alignment set on a renaming, assert that the renamed object is aligned
enough as to make it possible to honor it.

From-SVN: r182201

12 years ago2011-12-11 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sun, 11 Dec 2011 10:32:04 +0000 (10:32 +0000)]
2011-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak ChangeLog.

From-SVN: r182200

12 years ago* gcc-interface/trans.c (gigi): Initialize the linemap earlier.
Eric Botcazou [Sun, 11 Dec 2011 09:43:46 +0000 (09:43 +0000)]
* gcc-interface/trans.c (gigi): Initialize the linemap earlier.

From-SVN: r182199

12 years agoDaily bump.
GCC Administrator [Sun, 11 Dec 2011 00:18:45 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182198

12 years agotrans-decl.c (add_argument_checking): Fix syntax.
Tobias Burnus [Sat, 10 Dec 2011 21:15:37 +0000 (22:15 +0100)]
trans-decl.c (add_argument_checking): Fix syntax.

2011-12-10  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (add_argument_checking): Fix syntax.

From-SVN: r182194

12 years agors6000: Implement vec_perm_const for all vector ISAs
Richard Henderson [Sat, 10 Dec 2011 21:14:04 +0000 (13:14 -0800)]
rs6000: Implement vec_perm_const for all vector ISAs

        * config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
        vec_select + vec_concat.
        (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
        altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
        (vec_perm_constv16qi): New.
        (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
        vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
        vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
        * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
        vec_select + vec_concat.
        (paired_merge10, paired_merge01, paired_merge11): Likewise.
        (vec_perm_constv2sf): New.
        (vec_interleave_highv2sf, vec_interleave_lowv2sf,
        vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
        * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
        vec_select + vec_concat.
        (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
        (vec_perm_constv2si): New.
        * config/rs6000/vector.md (vec_interleave_highv4sf,
        vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
        vec_interleave_low<VEC_64>): Remove.
        * config/rs6000/vsx.md (VS_double): New mode attribute.
        (UNSPEC_VSX_XXPERMDI): Remove.
        (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
        (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
        (vsx_xxpermdi_<VSX_L>): Change to expander.
        (vec_perm_const<VSX_D>): New.
        (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
        * config/rs6000/predicates.md (const_0_to_1_operand): New.
        (const_2_to_3_operand): New.
        * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
        (altivec_expand_vec_perm_const): New.
        (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
        (rs6000_vectorize_vec_perm_const_ok): New.
        (rs6000_do_expand_vec_perm): New.
        (rs6000_expand_extract_even, rs6000_expand_interleave): New.
        * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
        * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
        * config/rs6000/rs6000-protos.h: Update.

From-SVN: r182193

12 years agoForce the creation of a CONST_VECTOR for expand_vec_perm.
Richard Henderson [Sat, 10 Dec 2011 20:43:03 +0000 (12:43 -0800)]
Force the creation of a CONST_VECTOR for expand_vec_perm.

        * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
        CONST_INT to expand_vec_perm as the selector.
        * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.

From-SVN: r182192

12 years agoLet GET_MODE_2XWIDER_MODE find a double-width vector mode.
Richard Henderson [Sat, 10 Dec 2011 20:42:55 +0000 (12:42 -0800)]
Let GET_MODE_2XWIDER_MODE find a double-width vector mode.

        * genmodes.c (struct mode_data): Remove wider_2x member.
        (blank_mode): Adjust initializer.
        (calc_wider_mode): Use XALLOCAVEC.
        (emit_move_wider): Select double-width same-element vectors for
        2xwider vectors.
        * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
        * config/i386/i386.c (doublesize_vector_mode): Remove.
        (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.

From-SVN: r182191

12 years agotrans-decl.c (add_argument_checking): Check ts.deferred earlier.
Tobias Burnus [Sat, 10 Dec 2011 20:13:59 +0000 (21:13 +0100)]
trans-decl.c (add_argument_checking): Check ts.deferred earlier.

2011-12-10  Tobias Burnus  <burnus@net-b.de>
            Kai Tietz  <ktietz@redhat.com>

        * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
        * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.

Co-Authored-By: Kai Tietz <ktietz@redhat.com>
From-SVN: r182190

12 years agouser.cfg.in: Add macros, directories.
Benjamin Kosnik [Sat, 10 Dec 2011 15:33:06 +0000 (15:33 +0000)]
user.cfg.in: Add macros, directories.

2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/user.cfg.in: Add macros, directories.
* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
* include/bits/locale_classes.tcc: Same.
* include/bits/shared_ptr.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_numeric.h: Same.
* include/debug/safe_base.h: Same.
* include/parallel/equally_split.h: Same.
* include/std/bitset: Same.
* include/std/complex: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/tr2/dynamic_bitset: Same.
* scripts/run_doxygen: Remove munging for names that no longer exist.

* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.

From-SVN: r182189

12 years agounordered_set: Minor formatting changes.
François Dumont [Sat, 10 Dec 2011 14:00:03 +0000 (14:00 +0000)]
unordered_set: Minor formatting changes.

2011-12-12  François Dumont <fdumont@gcc.gnu.org>

* include/profile/unordered_set: Minor formatting changes.
(unordered_set<>::_M_profile_destruct,
unordered_multiset<>::_M_profile_destruct): Fix implementation to not
rely on normal implementation details anymore.
(unordered_set<>::_M_profile_resize,
unordered_multiset<>::_M_profile_resize): Implement consistently
accross all unordered containers.
(unordered_set<>::emplace, unordered_set<>::emplace_hint,
unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
to signal rehash to profiling system.
* include/profile/unordered_map: Likewise for unordered_map<> and
unordered_multimap<>.

From-SVN: r182188

12 years agoepiphany-protos.h (epiphany_start_function): Declare.
Joern Rennecke [Sat, 10 Dec 2011 10:22:56 +0000 (10:22 +0000)]
epiphany-protos.h (epiphany_start_function): Declare.

gcc:
        * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
        * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
        Split "timer" value into "timer0" and "timer1".
        Handle page_miss, message and wand.  Don't handle static_flag.
        Adjust warning text.
        (epiphany_start_function): New function.
        (epiphany_compute_function_type): Split "timer" value into "timer0"
        and "timer1".  Handle page_miss, message and wand.
        Don't handle static_flag.
        (epiphany_expand_epilogue): Don't use frame_insn for status / iret
        restore.
        * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
        (enum epiphany_function_type):
        Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
        and EPIPHANY_FUNCTION_TIMER1.
        Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
        Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
        Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
gcc/testsuite:
        * gcc.target/epiphany/interrupt.c: Add dg-options "-g".
        Add a scan-assembler-time clause to test for the interupt vector jump.
        (f): Rename to ...
        (dma0_handler): ... this.

From-SVN: r182187

12 years agoepiphany.h (EPIPHANY_RETURN_REGNO): New macro, broken out of ..
Joern Rennecke [Sat, 10 Dec 2011 09:54:00 +0000 (09:54 +0000)]
epiphany.h (EPIPHANY_RETURN_REGNO): New macro, broken out of ..

        * config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
        broken out of ..
        (INCOMING_RETURN_ADDR_RTX) .. this.  Use EPIPHANY_RETURN_REGNO.
        (DWARF_FRAME_RETURN_COLUMN): New macro.

From-SVN: r182186

12 years agoepiphany.h (USE_LOAD_POST_INCREMENT): Define.
Joern Rennecke [Sat, 10 Dec 2011 09:40:02 +0000 (09:40 +0000)]
epiphany.h (USE_LOAD_POST_INCREMENT): Define.

        * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
        (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
        (USE_STORE_POST_DECREMENT): Likewise.

From-SVN: r182185

12 years agore PR gcov-profile/51449 (Rev181994 causes tramp3d-v4 profiled build failure)
Nathan Sidwell [Sat, 10 Dec 2011 08:32:34 +0000 (08:32 +0000)]
re PR gcov-profile/51449 (Rev181994 causes tramp3d-v4 profiled build failure)

PR gcov-profile/51449
* coverage.c (coverage_end_function): Always process the coverage
variables.

testsuite/
* g++.dg/gcov/gcov-14.C: New.

From-SVN: r182184

12 years agoDaily bump.
GCC Administrator [Sat, 10 Dec 2011 00:19:08 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182183

12 years agotree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language...
Aldy Hernandez [Fri, 9 Dec 2011 22:05:26 +0000 (22:05 +0000)]
tree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language has support for TM.

        PR/51291
        * tree.c (build_common_builtin_nodes): Do not use TM_PURE
        attribute unless language has support for TM.
        * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
        the absence of TM builtins.

From-SVN: r182179

12 years agogimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize...
Eric Botcazou [Fri, 9 Dec 2011 21:11:21 +0000 (21:11 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize useless pointer conversions.

* gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
Also check the TYPE_MODE to recognize useless pointer conversions.

From-SVN: r182178

12 years agore PR tree-optimization/51117 (rev.181172 causes glibc build failure)
Jakub Jelinek [Fri, 9 Dec 2011 20:50:40 +0000 (21:50 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)

PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): Don't remove just one
clobber, but all consecutive clobbers before RESX.
Use gimple_clobber_p predicate.

From-SVN: r182177

12 years agore PR c++/51151 (Invalid -Woverflow warning in C++ frontend)
Jason Merrill [Fri, 9 Dec 2011 20:18:22 +0000 (15:18 -0500)]
re PR c++/51151 (Invalid -Woverflow warning in C++ frontend)

PR c++/51151
* call.c (perform_implicit_conversion_flags): Remove earlier kludge.
* parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
in templates even if decl isn't type-dependent.

From-SVN: r182175

12 years agohashtable.h (_Hashtable<>::emplace, [...]): Add.
François Dumont [Fri, 9 Dec 2011 20:01:04 +0000 (20:01 +0000)]
hashtable.h (_Hashtable<>::emplace, [...]): Add.

2011-12-09  François Dumont <fdumont@gcc.gnu.org>

* include/bits/hashtable.h (_Hashtable<>::emplace,
_Hashtable<>::emplace_hint): Add.
* include/debug/unordered_set (unordered_set<>::emplace,
unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
unordered_multiset<>::emplace_hint): Add.
* include/profile/unordered_set: Likewise.
* include/debug/unordered_map (unordered_map<>::emplace,
unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
unordered_multimap<>::emplace_hint): Add.
* include/profile/unordered_map: Likewise.
* testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
* testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
New.
* testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
* testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
New.
* testsuite/util/testsuite_container_traits.h
(traits_base::has_emplace): Add and defined as std::true_type for
unordered containers.
* testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
use them in basic_safety exception test case.
* doc/xml/manual/status_cxx2011.xml: Update unordered containers
status.

From-SVN: r182174

12 years agoPR c++/51289 - ICE with alias template for bound template template parm
Dodji Seketeli [Fri, 9 Dec 2011 18:12:45 +0000 (18:12 +0000)]
PR c++/51289 - ICE with alias template for bound template template parm

gcc/cp/

PR c++/51289
* cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
better support aliased types.
(TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
TYPE_DECL.
* pt.c (find_parameter_packs_r): Handle types aliases.
(push_template_decl_real): Check for bare parameter packs in the
underlying type of an alias template.

gcc/PR51289/gcc/testsuite/

PR c++/51289
* g++.dg/cpp0x/alias-decl-17.C: New test.

From-SVN: r182170

12 years agoFix PR51469 (attr-ifunc fails on ppc); Make #pragma GCC target ("...") change macros...
Michael Meissner [Fri, 9 Dec 2011 17:10:27 +0000 (17:10 +0000)]
Fix PR51469 (attr-ifunc fails on ppc); Make #pragma GCC target ("...") change macros on PPC

From-SVN: r182169

12 years agosyslog: Fix name of C syslog function.
Ian Lance Taylor [Fri, 9 Dec 2011 16:46:44 +0000 (16:46 +0000)]
syslog: Fix name of C syslog function.

From Rainer Orth.

From-SVN: r182168

12 years agoruntime: make print() built-in write to stderr.
Ian Lance Taylor [Fri, 9 Dec 2011 16:42:40 +0000 (16:42 +0000)]
runtime: make print() built-in write to stderr.

Fixes issue 2294.

From-SVN: r182167

12 years agoRestore errors.o dependency
H.J. Lu [Fri, 9 Dec 2011 15:59:51 +0000 (15:59 +0000)]
Restore errors.o dependency

2011-12-09  H.J. Lu  <hongjiu.lu@intel.com>

PR bootstrap/51479
* Makefile.in (errors.o): Restored.

From-SVN: r182166

12 years agoslp-13.c: Increase array size, add initialization.
Michael Zolotukhin [Fri, 9 Dec 2011 15:21:08 +0000 (15:21 +0000)]
slp-13.c: Increase array size, add initialization.

* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-24.c: Ditto.
* gcc.dg/vect/slp-3.c: Likewise and fix scans.
* gcc.dg/vect/slp-34.c: Ditto.
* gcc.dg/vect/slp-4.c: Ditto.
* gcc.dg/vect/slp-cond-2.c: Ditto.
* gcc.dg/vect/slp-multitypes-11.c: Ditto.
* gcc.dg/vect/vect-1.c: Ditto.
* gcc.dg/vect/vect-10.c: Ditto.
* gcc.dg/vect/vect-105.c: Ditto.
* gcc.dg/vect/vect-112.c: Ditto.
* gcc.dg/vect/vect-15.c: Ditto.
* gcc.dg/vect/vect-2.c: Ditto.
* gcc.dg/vect/vect-31.c: Ditto.
* gcc.dg/vect/vect-32.c: Ditto.
* gcc.dg/vect/vect-33.c: Ditto.
* gcc.dg/vect/vect-34.c: Ditto.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-36.c: Ditto.
* gcc.dg/vect/vect-6.c: Ditto.
* gcc.dg/vect/vect-73.c: Ditto.
* gcc.dg/vect/vect-74.c: Ditto.
* gcc.dg/vect/vect-75.c: Ditto.
* gcc.dg/vect/vect-76.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.
* gcc.dg/vect/vect-85.c: Ditto.
* gcc.dg/vect/vect-89.c: Ditto.
* gcc.dg/vect/vect-97.c: Ditto.
* gcc.dg/vect/vect-98.c: Ditto.
* gcc.dg/vect/vect-all.c: Ditto.
* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
* gcc.dg/vect/vect-iv-8.c: Ditto.
* gcc.dg/vect/vect-iv-8a.c: Ditto.
* gcc.dg/vect/vect-outer-1.c: Ditto.
* gcc.dg/vect/vect-outer-1a.c: Ditto.
* gcc.dg/vect/vect-outer-1b.c: Ditto.
* gcc.dg/vect/vect-outer-2.c: Ditto.
* gcc.dg/vect/vect-outer-2a.c: Ditto.
* gcc.dg/vect/vect-outer-2c.c: Ditto.
* gcc.dg/vect/vect-outer-3.c: Ditto.
* gcc.dg/vect/vect-outer-3a.c: Ditto.
* gcc.dg/vect/vect-outer-4a.c: Ditto.
* gcc.dg/vect/vect-outer-4b.c: Ditto.
* gcc.dg/vect/vect-outer-4c.c: Ditto.
* gcc.dg/vect/vect-outer-4d.c: Ditto.
* gcc.dg/vect/vect-outer-4m.c: Ditto.
* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
* gcc.dg/vect/vect-outer-fir.c: Ditto.
* gcc.dg/vect/vect-over-widen-1.c: Ditto.
* gcc.dg/vect/vect-over-widen-2.c: Ditto.
* gcc.dg/vect/vect-over-widen-3.c: Ditto.
* gcc.dg/vect/vect-over-widen-4.c: Ditto.
* gcc.dg/vect/vect-reduc-1char.c: Ditto.
* gcc.dg/vect/vect-reduc-2char.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.

From-SVN: r182165

12 years agodse.c (get_stored_val, [...]): Use gen_int_mode.
Joern Rennecke [Fri, 9 Dec 2011 14:10:02 +0000 (14:10 +0000)]
dse.c (get_stored_val, [...]): Use gen_int_mode.

        * dse.c (get_stored_val, get_call_args): Use gen_int_mode.
        * expmed.c (expand_divmod): Likewise.
        * combine.c (simplify_if_then_else): Likewise.

From-SVN: r182164

12 years agore PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program)
Richard Guenther [Fri, 9 Dec 2011 13:49:22 +0000 (13:49 +0000)]
re PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program)

2011-12-09  Richard Guenther  <rguenther@suse.de>

PR lto/48042
* tree.c (free_lang_data_in_decl): Remove freeing conditional
on debuginfo level.

* g++.dg/lto/pr48042_0.C: New testcase.

From-SVN: r182163

12 years agore PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681)
Joern Rennecke [Fri, 9 Dec 2011 12:57:24 +0000 (12:57 +0000)]
re PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681)

        PR middle-end/40154
        * emit-rtl.c (set_dst_reg_note): New function.
        * rtl.h (set_dst_reg_note): Declare.
        * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
        (emit_libcall_block, expand_fix): Likewise.
        * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
        * expmed.c (expand_mult_const, expand_divmod): Likewise.
        * reload1.c (gen_reload): Likewise.

From-SVN: r182162

12 years agoira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of...
Kai Tietz [Fri, 9 Dec 2011 12:27:20 +0000 (13:27 +0100)]
ira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of %lld.

* ira-color.c (print_hard_regs_subforest): Use
HOST_WIDEST_INT_PRINT_DEC instead of %lld.
(allocno_hard_regs): Change type of cost member
to HOST_WIDEST_INT.
(add_allocno_hard_regs): Change type of argument cost
to HOST_WIDEST_INT.
* ira-conflict.c (build_conflict_bit_table): Replace use
of long-long by HOST_WIDEST_INT.

From-SVN: r182161