OSDN Git Service

pf3gnuchains/gcc-fork.git
10 years agoarm: Set predicable on more instructions.
rth [Thu, 15 Dec 2011 00:23:32 +0000 (00:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182353 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182352 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182347 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/51554
jason [Wed, 14 Dec 2011 22:26:24 +0000 (22:26 +0000)]
PR c++/51554
* semantics.c (cxx_eval_indirect_ref): Fix sanity check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182346 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/51248
jason [Wed, 14 Dec 2011 22:26:13 +0000 (22:26 +0000)]
PR c++/51248
* decl.c (copy_type_enum): Also update variants.
(finish_enum): Allow variants of complete enums.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182345 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPR c++/51475 - ICE with invalid initializer-list
dodji [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182343 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCheck __GLIBC__ when using __SIGRTMIN
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182342 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182338 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 14 Dec 2011 15:34:35 +0000 (15:34 +0000)]
2011-12-14  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182337 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 14 Dec 2011 15:31:24 +0000 (15:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182336 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoruntime: Bump memory limit in gc_test.
ian [Wed, 14 Dec 2011 14:54:32 +0000 (14:54 +0000)]
runtime: Bump memory limit in gc_test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182332 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182331 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * MAINTAINERS (picochip): Changed my email address.
hariharans [Wed, 14 Dec 2011 11:31:43 +0000 (11:31 +0000)]
    * MAINTAINERS (picochip): Changed my email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182330 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 14 Dec 2011 11:26:13 +0000 (11:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182329 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgcc/
gjl [Wed, 14 Dec 2011 10:00:56 +0000 (10:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182328 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 14 Dec 2011 09:50:38 +0000 (09:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182327 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182326 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPR c++/51476 - ICE on PTRMEM_CST as template argument in c++11
dodji [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182324 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/51406
jason [Wed, 14 Dec 2011 05:18:39 +0000 (05:18 +0000)]
PR c++/51406
PR c++/51161
* typeck.c (build_static_cast_1): Fix cast of lvalue to
base rvalue reference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182322 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Move import of Go export data to gcc side of interface.
ian [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182321 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Wed, 14 Dec 2011 00:36:15 +0000 (00:36 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182320 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182319 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182315 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182314 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182313 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
ebotcazou [Tue, 13 Dec 2011 21:59:39 +0000 (21:59 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182310 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoruntime: RTEMS build fixes.
ian [Tue, 13 Dec 2011 21:59:26 +0000 (21:59 +0000)]
runtime: RTEMS build fixes.

From Joel Sherrill.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182309 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agorevert an unattended change about access declaration
fabien [Tue, 13 Dec 2011 21:18:03 +0000 (21:18 +0000)]
revert an unattended change about access declaration

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182308 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and
aldyh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182307 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Tue, 13 Dec 2011 20:22:59 +0000 (20:22 +0000)]
2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182306 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
rth [Tue, 13 Dec 2011 20:10:36 +0000 (20:10 +0000)]
    * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
        signed/unsigned comparison werror.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182302 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRevert two unintended commits
rth [Tue, 13 Dec 2011 20:07:01 +0000 (20:07 +0000)]
Revert two unintended commits

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182301 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 13 Dec 2011 20:00:18 +0000 (20:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182300 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoarm: Implement vec_perm and vec_perm_const for NEON.
rth [Tue, 13 Dec 2011 19:58:56 +0000 (19:58 +0000)]
arm: Implement vec_perm and vec_perm_const for NEON.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182299 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDelete VEC_INTERLEAVE_*_EXPR.
rth [Tue, 13 Dec 2011 19:58:49 +0000 (19:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182298 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agosparc: Default memory model to TSO for Linux and Solaris.
rth [Tue, 13 Dec 2011 19:22:44 +0000 (19:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182297 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgo: Solaris compatibility patches.
ian [Tue, 13 Dec 2011 19:18:34 +0000 (19:18 +0000)]
libgo: Solaris compatibility patches.

From Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182296 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgo: Update to weekly.2011-12-02.
ian [Tue, 13 Dec 2011 19:16:27 +0000 (19:16 +0000)]
libgo: Update to weekly.2011-12-02.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182295 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibitm: Conversion to c++11 atomics.
rth [Tue, 13 Dec 2011 19:11:25 +0000 (19:11 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182294 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182293 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/testsuite/ChangeLog
fabien [Tue, 13 Dec 2011 18:46:58 +0000 (18:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182292 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182291 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR/51443
aldyh [Tue, 13 Dec 2011 17:49:55 +0000 (17:49 +0000)]
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182290 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 13 Dec 2011 16:08:14 +0000 (16:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182289 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 13 Dec 2011 15:43:36 +0000 (15:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182288 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR testsuite/51524
uros [Tue, 13 Dec 2011 15:00:09 +0000 (15:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182287 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Dec 2011 14:43:44 +0000 (14:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182286 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182285 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago Revert
jakub [Tue, 13 Dec 2011 14:00:58 +0000 (14:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182284 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/51117
matz [Tue, 13 Dec 2011 13:59:35 +0000 (13:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182283 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Tristan Gingold <gingold@adacore.com>
gingold [Tue, 13 Dec 2011 13:41:12 +0000 (13:41 +0000)]
2011-12-13  Tristan Gingold  <gingold@adacore.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182282 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Tristan Gingold <gingold@adacore.com>
gingold [Tue, 13 Dec 2011 13:30:18 +0000 (13:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182281 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Dec 2011 12:56:09 +0000 (12:56 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182280 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Dec 2011 12:54:57 +0000 (12:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182279 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Dec 2011 12:41:15 +0000 (12:41 +0000)]
2011-12-13  Richard Guenther  <rguenther@suse.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182278 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gnat.dg/vect1.ad[sb]: Add more tests.
ebotcazou [Tue, 13 Dec 2011 11:26:14 +0000 (11:26 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182276 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR ada/49084
ebotcazou [Tue, 13 Dec 2011 11:21:28 +0000 (11:21 +0000)]
PR ada/49084
* types.h (Byte): Change typedef to 'unsigned char'.
* atree.h (struct Flag_Word): Use Byte for 'convention' field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182275 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182271 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182270 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182266 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR rtl-optimization/51495
jakub [Mon, 12 Dec 2011 21:00:36 +0000 (21:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182265 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/51481
jakub [Mon, 12 Dec 2011 20:59:28 +0000 (20:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182264 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 12 Dec 2011 20:51:16 +0000 (20:51 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182263 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/45830
gjl [Mon, 12 Dec 2011 20:13:40 +0000 (20:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182262 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogfortran.dg/nested_modules_2.f90: Tighten test.
jb [Mon, 12 Dec 2011 19:36:39 +0000 (19:36 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182258 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/51496
jakub [Mon, 12 Dec 2011 18:55:06 +0000 (18:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182257 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182256 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/50569
ebotcazou [Mon, 12 Dec 2011 18:22:13 +0000 (18:22 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182252 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix flags for edges from/to entry/exit basic blocks.
dvyukov [Mon, 12 Dec 2011 18:03:36 +0000 (18:03 +0000)]
Fix flags for edges from/to entry/exit basic blocks.
* cgraphunit.c (init_lowered_empty_function):
Fix flags for new edges.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182251 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 12 Dec 2011 17:34:19 +0000 (17:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182250 138bc75d-0d04-0410-961f-82ee72b054a4

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

* Revert the last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182249 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR testsuite/51511
jakub [Mon, 12 Dec 2011 16:48:46 +0000 (16:48 +0000)]
PR testsuite/51511
* gcc.dg/pr45819.c: Add -w to dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182247 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/51510
jakub [Mon, 12 Dec 2011 16:44:23 +0000 (16:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182246 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Mon, 12 Dec 2011 15:18:24 +0000 (15:18 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182244 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Robert Dewar <dewar@adacore.com>
charlet [Mon, 12 Dec 2011 14:33:39 +0000 (14:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182242 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Robert Dewar <dewar@adacore.com>
charlet [Mon, 12 Dec 2011 13:49:10 +0000 (13:49 +0000)]
2011-12-12  Robert Dewar  <dewar@adacore.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182241 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Robert Dewar <dewar@adacore.com>
charlet [Mon, 12 Dec 2011 13:43:38 +0000 (13:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182240 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 12 Dec 2011 13:40:18 +0000 (13:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182239 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCorrect bug-number in ChangeLog.
ktietz [Mon, 12 Dec 2011 13:29:10 +0000 (13:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182238 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libstdc++/511135
ktietz [Mon, 12 Dec 2011 13:24:30 +0000 (13:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182237 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 12 Dec 2011 12:06:59 +0000 (12:06 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182235 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSupport noexcept-specifications for transaction statements and expressions.
torvald [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182234 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd condition to MUST_NOT_THROW_EXPR.
torvald [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182233 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd default handling for outermost wrappers in voidify_wrapper_expr.
torvald [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182232 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPrevent sharing of commit calls among transactions.
torvald [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182231 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Robert Dewar <dewar@adacore.com>
charlet [Mon, 12 Dec 2011 12:03:35 +0000 (12:03 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182230 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Robert Dewar <dewar@adacore.com>
charlet [Mon, 12 Dec 2011 11:54:30 +0000 (11:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182229 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 12 Dec 2011 11:52:04 +0000 (11:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182228 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 12 Dec 2011 11:49:31 +0000 (11:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182227 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 12 Dec 2011 11:28:03 +0000 (11:28 +0000)]
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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182226 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libgcj/50053
ktietz [Mon, 12 Dec 2011 10:40:27 +0000 (10:40 +0000)]
    PR libgcj/50053
        * java/lang/natClass.cc (java::lang::Class::newInstance): Special case
        member-call for 32-bit IA native Window target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182225 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Robert Dewar <dewar@adacore.com>
charlet [Mon, 12 Dec 2011 10:30:49 +0000 (10:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182224 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-12 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 12 Dec 2011 08:37:22 +0000 (08:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182221 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc:
iains [Mon, 12 Dec 2011 08:24:33 +0000 (08:24 +0000)]
gcc:

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182220 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182219 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/rs6000/rs6000.c (rs6000_expand_interleave): Use
rth [Mon, 12 Dec 2011 02:57:18 +0000 (02:57 +0000)]
    * config/rs6000/rs6000.c (rs6000_expand_interleave): Use
        BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182218 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182217 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/51485
jakub [Sun, 11 Dec 2011 21:01:00 +0000 (21:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182212 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-11 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 11 Dec 2011 20:44:30 +0000 (20:44 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182211 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-12-11 Paul Thomas <pault@gcc.gnu.org>
pault [Sun, 11 Dec 2011 20:42:23 +0000 (20:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182210 138bc75d-0d04-0410-961f-82ee72b054a4