gcc.git
12 years agore PR debug/51517 (Wrong debug information for pointers with negative strides.)
Jakub Jelinek [Thu, 15 Dec 2011 11:05:37 +0000 (12:05 +0100)]
re PR debug/51517 (Wrong debug information for pointers with negative strides.)

PR debug/51517
* trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.
(gfc_trans_deferred_vars): Instead add its runtime initialization
here.

* tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
!DECL_IGNORED_P instead of !DECL_ARTIFICIAL.

From-SVN: r182362

12 years agore PR libstdc++/51365 (cannot use final empty class in std::tuple)
Jonathan Wakely [Thu, 15 Dec 2011 10:02:45 +0000 (10:02 +0000)]
re PR libstdc++/51365 (cannot use final empty class in std::tuple)

c-family:
PR libstdc++/51365
* c-common.c (RID_IS_FINAL): Add.
* c-common.h (RID_IS_FINAL): Add.
cp:
PR libstdc++/51365
* cp-tree.h (CPTK_IS_FINAL): Add.
* parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL.
(cp_parser_primary_expression, cp_parser_trait_expr): Likewise.
* semantics.c (trait_expr_value, finish_trait_expr): Handle
CPTK_IS_FINAL.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
testsuite:
PR libstdc++/51365
* g++.dg/ext/is_final.C: New.

From-SVN: r182360

12 years agore PR libstdc++/51540 (doxygen documentation for partial_sum misleading)
Jonathan Wakely [Thu, 15 Dec 2011 09:49:59 +0000 (09:49 +0000)]
re PR libstdc++/51540 (doxygen documentation for partial_sum misleading)

PR libstdc++/51540
* include/bits/stl_numeric.h (partial_sum): Adjust doxygen comments.

From-SVN: r182359

12 years agorevert: re PR lto/48437 (LTO crashes with block-local function declarations)
Richard Guenther [Thu, 15 Dec 2011 09:44:11 +0000 (09:44 +0000)]
revert: re PR lto/48437 (LTO crashes with block-local function declarations)

2012-12-15  Richard Guenther  <rguenther@suse.de>

Revert
PR lto/48437
* lto-streamer-out.c (tree_is_indexable): Exclude block-local
extern declarations.

PR lto/48508
PR lto/48437
* tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
VAR_DECLs and FUNCTION_DECLs locally.

* g++.dg/lto/pr48508-1_0.C: New testcase.
* g++.dg/lto/pr48508-1_1.C: Likewise.

From-SVN: r182358

12 years agoChangeLog: Fix whitespace.
Uros Bizjak [Thu, 15 Dec 2011 08:04:08 +0000 (09:04 +0100)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r182357

12 years agosyscall: Move Errno into its own file, for RTEMS.
Ian Lance Taylor [Thu, 15 Dec 2011 07:12:03 +0000 (07:12 +0000)]
syscall: Move Errno into its own file, for RTEMS.

From-SVN: r182356

12 years agoarm-linux: Add libitm support.
Richard Henderson [Thu, 15 Dec 2011 03:24:05 +0000 (19:24 -0800)]
arm-linux: Add libitm support.

* config/arm/hwcap.h, config/arm/hwcap.cc: New files.
* config/arm/sjlj.S, config/arm/target.h: New files.
* config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
(cfi_rel_offset): New.
* config/linux/futex_bits.h: New file.
* config/linux/futex.cc: Include futex_bits.h here...
* config/linux/futex.h: ... not here.
* Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
* configure.ac (ARCH_AM): New conditional.
* Makefile.in, configure: Rebuild.
* configure.tgt: Handle ARM.

From-SVN: r182355

12 years agoarm: Set predicable on more instructions.
Richard Henderson [Thu, 15 Dec 2011 00:23:32 +0000 (16:23 -0800)]
arm: Set predicable on more instructions.

Make sure its set for all CMP, CMN, TST instructions,
which do work inside IT blocks.

        * config/arm/arm.md (*addsi3_compare0_scratch): Set predicable.
        (*compare_negsi_si, *compare_addsi2_op0): Likewise.
        (*compare_addsi2_op1, *zeroextractsi_compare0_scratch): Likewise.
        (*compareqi_eq0, *arm_cmpsi_insn, *arm_cmpsi_negshiftsi_si): Likewise.

From-SVN: r182353

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

From-SVN: r182352

12 years agolibgo: Update to weekly.2011-12-06.
Ian Lance Taylor [Wed, 14 Dec 2011 22:27:04 +0000 (22:27 +0000)]
libgo: Update to weekly.2011-12-06.

From-SVN: r182347

12 years agore PR c++/51554 (ICE in cp/semantics.c:cxx_eval_indirect_ref with -Wall)
Jason Merrill [Wed, 14 Dec 2011 22:26:24 +0000 (17:26 -0500)]
re PR c++/51554 (ICE in cp/semantics.c:cxx_eval_indirect_ref with -Wall)

PR c++/51554
* semantics.c (cxx_eval_indirect_ref): Fix sanity check.

From-SVN: r182346

12 years agore PR c++/51248 (ICE with pointer to enum)
Jason Merrill [Wed, 14 Dec 2011 22:26:13 +0000 (17:26 -0500)]
re PR c++/51248 (ICE with pointer to enum)

PR c++/51248
* decl.c (copy_type_enum): Also update variants.
(finish_enum): Allow variants of complete enums.

From-SVN: r182345

12 years agoPR c++/51475 - ICE with invalid initializer-list
Dodji Seketeli [Wed, 14 Dec 2011 21:49:52 +0000 (21:49 +0000)]
PR c++/51475 - ICE with invalid initializer-list

gcc/cp/

PR c++/51475
* call.c (struct conversion)<u.next>: Update comment.
(next_conversion): New static function.
(convert_like_real): Use it.

gcc/testsuite/

PR c++/51475
* g++.dg/cpp0x/initlist63.C: New test.

From-SVN: r182343

12 years agoCheck __GLIBC__ when using __SIGRTMIN
H.J. Lu [Wed, 14 Dec 2011 18:49:16 +0000 (18:49 +0000)]
Check __GLIBC__ when using __SIGRTMIN

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

* generic-morestack.c (__generic_morestack_set_initial_sp): Check
__GLIBC__ instead of __linux__ when using __SIGRTMIN.

From-SVN: r182342

12 years agolibgo: Update to weekly.2011-12-06.
Ian Lance Taylor [Wed, 14 Dec 2011 15:41:54 +0000 (15:41 +0000)]
libgo: Update to weekly.2011-12-06.

From-SVN: r182338

12 years agotree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants.
Richard Guenther [Wed, 14 Dec 2011 15:34:35 +0000 (15:34 +0000)]
tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants.

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

* tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for
propagating all kinds of constants.

From-SVN: r182337

12 years agore PR lto/51497 (The run time for the polyhedron test nf.f90 is ~10% slower with...
Richard Guenther [Wed, 14 Dec 2011 15:31:24 +0000 (15:31 +0000)]
re PR lto/51497 (The run time for the polyhedron test nf.f90 is ~10% slower with -flto after revision 182107)

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

PR lto/51497
* lto-streamer-in.c (lto_read_body): Fixup local types
TYPE_CANONICAL and variant chain.

From-SVN: r182336

12 years agoruntime: Bump memory limit in gc_test.
Ian Lance Taylor [Wed, 14 Dec 2011 14:54:32 +0000 (14:54 +0000)]
runtime: Bump memory limit in gc_test.

From-SVN: r182332

12 years agocompiler: Permit omitting &T in composite literal.
Ian Lance Taylor [Wed, 14 Dec 2011 14:48:01 +0000 (14:48 +0000)]
compiler: Permit omitting &T in composite literal.

From-SVN: r182331

12 years agoMAINTAINERS (picochip): Changed my email address.
Hariharan Sandanagobalane [Wed, 14 Dec 2011 11:31:43 +0000 (11:31 +0000)]
MAINTAINERS (picochip): Changed my email address.

        * MAINTAINERS (picochip): Changed my email address.

From-SVN: r182330

12 years agotree.c (free_lang_data_in_type): Do not clear fields dependent on debuginfo level...
Richard Guenther [Wed, 14 Dec 2011 11:26:13 +0000 (11:26 +0000)]
tree.c (free_lang_data_in_type): Do not clear fields dependent on debuginfo level setting.

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

* tree.c (free_lang_data_in_type): Do not clear fields
dependent on debuginfo level setting.
(find_decls_types_r): Use TYPE_STUB_DECL rathern than TREE_CHAIN.
* tree.h (TYPE_STUB_DECL): Properly check that we access
a type.

From-SVN: r182329

12 years agore PR target/50931 ([avr] Support a 24-bit scalar integer mode)
Georg-Johann Lay [Wed, 14 Dec 2011 10:00:56 +0000 (10:00 +0000)]
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)

libgcc/
PR target/50931
* config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3.
* config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions.
gcc/
PR target/50931
* config/avr/avr.md (mulpsi3): New expander.
(*umulqihipsi3, *umulhiqipsi3): New insns.
(*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
(mulsqipsi3, *mulpsi3): New insn-and-splits.
(ashlpsi3): Turn to expander.  Move insn code to...
(*ashlpsi3): ...this new insn.
testsuite/
PR target/50931
* gcc.target/avr/torture/int24-mul.c: New testcase.

From-SVN: r182328

12 years agotree-cfg.c (replace_uses_by): Only mark blocks altered that will make a difference.
Richard Guenther [Wed, 14 Dec 2011 09:50:38 +0000 (09:50 +0000)]
tree-cfg.c (replace_uses_by): Only mark blocks altered that will make a difference.

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

* tree-cfg.c (replace_uses_by): Only mark blocks altered
that will make a difference.  Only recompute ADDR_EXPR
invariantness if it could possibly have changed.  Do so
before folding the statement.

From-SVN: r182327

12 years agoRevert the previous "Fix flags for edges from/to entry/exit basic blocks"
Dmitry Vyukov [Wed, 14 Dec 2011 09:28:05 +0000 (01:28 -0800)]
Revert the previous "Fix flags for edges from/to entry/exit basic blocks"
patch that caused regressions.

From-SVN: r182326

12 years agoPR c++/51476 - ICE on PTRMEM_CST as template argument in c++11
Dodji Seketeli [Wed, 14 Dec 2011 08:46:13 +0000 (08:46 +0000)]
PR c++/51476 - ICE on PTRMEM_CST as template argument in c++11

gcc/cp/

PR c++/51476
* pt.c (convert_nontype_argument): Don't call maybe_constant_value
for PTRMEM_CST nodes.

gcc/testsuite/

PR c++/51476
* g++.dg/cpp0x/ptrmem-cst-arg1.C: New test.

From-SVN: r182324

12 years agore PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base...
Jason Merrill [Wed, 14 Dec 2011 05:18:39 +0000 (00:18 -0500)]
re PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base class.)

PR c++/51406
PR c++/51161
* typeck.c (build_static_cast_1): Fix cast of lvalue to
base rvalue reference.

From-SVN: r182322

12 years agocompiler: Move import of Go export data to gcc side of interface.
Ian Lance Taylor [Wed, 14 Dec 2011 01:36:11 +0000 (01:36 +0000)]
compiler: Move import of Go export data to gcc side of interface.

* go-backend.c: #include "simple-object.h" and "intl.h".
(GO_EXPORT_SEGMENT_NAME): Define if not defined.
(GO_EXPORT_SECTION_NAME): Likewise.
(go_write_export_data): Use GO_EXPORT_SECTION_NAME.
(go_read_export_data): New function.
* go-c.h (go_read_export_data): Declare.

From-SVN: r182321

12 years agore PR c++/51464 ([c++0x] ICE with invalid use of [])
Paolo Carlini [Wed, 14 Dec 2011 00:36:15 +0000 (00:36 +0000)]
re PR c++/51464 ([c++0x] ICE with invalid use of [])

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

PR c++/51464
* semantics.c (begin_lambda_type): Check begin_class_definition return
value for error_mark_node.
* parser.c (cp_parser_lambda_expression): Check begin_lambda_type
return value for error_mark_node.

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

PR c++/51464
* g++.dg/cpp0x/lambda/lambda-ice6.C: New.

From-SVN: r182320

12 years agoDaily bump.
GCC Administrator [Wed, 14 Dec 2011 00:19:11 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182319

12 years agoruntime: Change gc_test to test only newly allocated memory.
Ian Lance Taylor [Tue, 13 Dec 2011 23:15:36 +0000 (23:15 +0000)]
runtime: Change gc_test to test only newly allocated memory.

From-SVN: r182315

12 years agomksysinfo.sh: Ensure that IPV6 constants and types are defined.
Ian Lance Taylor [Tue, 13 Dec 2011 22:25:30 +0000 (22:25 +0000)]
mksysinfo.sh: Ensure that IPV6 constants and types are defined.

From-SVN: r182314

12 years agosyscall: Don't build wait status functions on RTEMS.
Ian Lance Taylor [Tue, 13 Dec 2011 22:07:25 +0000 (22:07 +0000)]
syscall: Don't build wait status functions on RTEMS.

From-SVN: r182313

12 years agolto-streamer-out.c (write_symbol): Use proper 64-bit host type.
Eric Botcazou [Tue, 13 Dec 2011 21:59:39 +0000 (21:59 +0000)]
lto-streamer-out.c (write_symbol): Use proper 64-bit host type.

* lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
* lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
* lto-streamer-in.c (lto_read_body): Likewise.
(lto_input_toplevel_asms): Likewise.
* lto-section-in.c (lto_create_simple_input_block): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-prop.c (ipa_prop_read_section): Likewise.

* df.h (DF_NOTE): Fix typo in comment.
lto/
* lto.h (lto_parse_hex): Delete.
* lto.c (lto_read_decls): Use 'int' for offsets.
(lto_parse_hex): Make static and return proper 64-bit host type.
(lto_resolution_read): Use proper 64-bit host type.

From-SVN: r182310

12 years agoruntime: RTEMS build fixes.
Ian Lance Taylor [Tue, 13 Dec 2011 21:59:26 +0000 (21:59 +0000)]
runtime: RTEMS build fixes.

From Joel Sherrill.

From-SVN: r182309

12 years agorevert an unattended change about access declaration
Fabien ChĂȘne [Tue, 13 Dec 2011 21:18:03 +0000 (22:18 +0100)]
revert an unattended change about access declaration

From-SVN: r182308

12 years agotrans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and DECL_LANG_SPECIFIC.
Aldy Hernandez [Tue, 13 Dec 2011 20:32:26 +0000 (20:32 +0000)]
trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and DECL_LANG_SPECIFIC.

        * trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and
        DECL_LANG_SPECIFIC.

From-SVN: r182307

12 years agoregmove.c (fixup_match_2): Only access call_used_regs with hard regs.
Andreas Krebbel [Tue, 13 Dec 2011 20:22:59 +0000 (20:22 +0000)]
regmove.c (fixup_match_2): Only access call_used_regs with hard regs.

2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* regmove.c (fixup_match_2): Only access call_used_regs with hard
regs.

From-SVN: r182306

12 years agorwlock.cc (gtm_rwlock::write_lock_generic): Fix signed/unsigned comparison werror.
Richard Henderson [Tue, 13 Dec 2011 20:10:36 +0000 (12:10 -0800)]
rwlock.cc (gtm_rwlock::write_lock_generic): Fix signed/unsigned comparison werror.

        * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
        signed/unsigned comparison werror.

From-SVN: r182302

12 years agoRevert two unintended commits
Richard Henderson [Tue, 13 Dec 2011 20:07:01 +0000 (12:07 -0800)]
Revert two unintended commits

From-SVN: r182301

12 years agomips-cpus.def: Add Octeon2.
Andrew Pinski [Tue, 13 Dec 2011 20:00:18 +0000 (20:00 +0000)]
mips-cpus.def: Add Octeon2.

2011-12-13  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

* config/mips/mips-cpus.def: Add Octeon2.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.md (define_attr "cpu"): Add Octeon2.
* config/mips/driver-native.c (host_detect_local_cpu): Support Octeon2 also.
* config/mips/octeon.md (octeon_arith): Add Octeon2.
(octeon_condmove): Likewise.
(octeon_load): Rename to ..
(octeon_load_o1): this.
(octeon_load_o2): New reserve.
(octeon_cop_o2): New reserve.
(octeon_store):  Match Octeon2 also.
(octeon_brj): Rename to ..
(octeon_brj_o1): this.
(octeon_brj_o2): New reserve.
(octeon_imul3): Rename to ...
(octeon_imul3_o1): this.
(octeon_imul3_o2): New reserve.
(octeon_imul): Rename to ...
(octeon_imul_o1): this.
(octeon_imul_o2): New reserve.
(octeon_mfhilo): Rename to ...
(octeon_mfhilo_o1): This.
(octeon_mfhilo_o2): New reserve.
(octeon_imadd): Rename to ...
(octeon_imadd_o1): this.
(octeon_imadd_o2): New reserve.
(octeon_idiv): Rename to ..
(octeon_idiv_o1): This.
(octeon_idiv_o2_si): New reserve.
(octeon_idiv_o2_di): Likewise.
(octeon_unknown): Match Octeon2 also.
* config/mips/mips.c (mips_rtx_cost_data): Add Octeon2 cost data.
(mips_issue_rate): Octeon2 can issue 2 at a time.
* config/mips/mips.h (TARGET_OCTEON): Match Octeon2 also.
(TARGET_OCTEON2): New define.
(TUNE_OCTEON): Match Octeon2 also.

2011-12-13  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

* gcc.target/mips/mips.exp (mips_option_groups): Fix debug.  Add
-fdump-* options.
* gcc.target/mips/octeon2-pipe-1.c: New testcase.
* gcc.target/mips/octeon-pipe-1.c: New testcase.

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
From-SVN: r182300

12 years agoarm: Implement vec_perm and vec_perm_const for NEON.
Richard Henderson [Tue, 13 Dec 2011 19:58:56 +0000 (11:58 -0800)]
arm: Implement vec_perm and vec_perm_const for NEON.

From-SVN: r182299

12 years agoDelete VEC_INTERLEAVE_*_EXPR.
Richard Henderson [Tue, 13 Dec 2011 19:58:49 +0000 (11:58 -0800)]
Delete VEC_INTERLEAVE_*_EXPR.

* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
* gimple-pretty-print.c (dump_binary_rhs): Don't handle
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
* expr.c (expand_expr_real_2): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* fold-const.c (fold_binary_loc): Likewise.
* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
* optabs.c (optab_for_tree_code): Don't handle
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
(expand_binop, init_optabs): Remove vec_interleave_high_optab
and vec_interleave_low_optab.
* genopinit.c (optabs): Likewise.
* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
documentation.
* tree-vect-stmts.c (gen_perm_mask): Renamed to...
(vect_gen_perm_mask): ... this.  No longer static.
(perm_mask_for_reverse, vectorizable_load): Adjust callers.
* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
can_vec_perm_for_code_p.
(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
* config/i386/i386.c (expand_vec_perm_interleave2): If
expand_vec_perm_interleave3 would handle it, return false.
(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.

From-SVN: r182298

12 years agosparc: Default memory model to TSO for Linux and Solaris.
Richard Henderson [Tue, 13 Dec 2011 19:22:44 +0000 (11:22 -0800)]
sparc: Default memory model to TSO for Linux and Solaris.

        * config/sparc/tso.h: New file.
        * config.gcc (sparc-*-linux*, sparc*-*-solaris2*): Use it.
        * config/sparc/sparc.c (sparc_option_override): Honor
        SUBTARGET_DEFAULT_MEMORY_MODEL.
        * config/sparc/sparc.h (SUBTARGET_DEFAULT_MEMORY_MODEL): New.

From-SVN: r182297

12 years agolibgo: Solaris compatibility patches.
Ian Lance Taylor [Tue, 13 Dec 2011 19:18:34 +0000 (19:18 +0000)]
libgo: Solaris compatibility patches.

From Rainer Orth.

From-SVN: r182296

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