platform/upstream/linaro-gcc.git
12 years agoia64: Update to atomic optabs
rth [Tue, 22 Nov 2011 23:13:48 +0000 (23:13 +0000)]
ia64: Update to atomic optabs

        * config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter.
        Generate the barrier required for the memory model.
        (rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New.
        (UNSPEC_CMPXCHG_REL): New.
        * config/ia64/sync.md (mem_thread_fence): New.
        (atomic_load<IMODE>, atomic_store<IMODE>): New.
        (atomic_compare_and_swap<IMODE>): New.
        (cmpxchg_acq_<I124MODE>, cmpxchg_acq_di): New.
        (atomic_exchange<IMODE>): New.
        (xchg_acq_<IMODE>): Rename from sync_lock_test_and_set<IMODE>.
        (atomic_<FETCHOP><IMODE>, atomic_nand<IMODE>): New.
        (atomic_fetch_<FETCHOP><IMODE>, atomic_fetch_nand<IMODE>): New.
        (atomic_<FETCHOP>_fetch<IMODE>, atomic_nand_fetch<IMODE>): New.
        (fetchadd_rel_<I48MODE>): New.
        (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): Remove.
        (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): Remove.
        (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): Remove.
        (sync_compare_and_swap<IMODE>): Remove.
        (sync_lock_release<IMODE>): Remove.

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

12 years agoia64: Use define_c_enum for unspec constants.
rth [Tue, 22 Nov 2011 22:55:58 +0000 (22:55 +0000)]
ia64: Use define_c_enum for unspec constants.

        * config/ia64/ia64.md: Use define_e_enum for UNSPEC_*
        and UNSPECV_* constants.

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

12 years ago2011-11-22 Tom de Vries <tom@codesourcery.com>
vries [Tue, 22 Nov 2011 20:55:10 +0000 (20:55 +0000)]
2011-11-22  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/50764
* gcc.dg/pr50764.c: New test.

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

12 years ago2011-11-22 Tom de Vries <tom@codesourcery.com>
vries [Tue, 22 Nov 2011 20:55:01 +0000 (20:55 +0000)]
2011-11-22  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/50764
* sched-deps.c (sched_analyze_insn): Make sure frame-related insns are
not moved past preceding jump.

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

12 years ago/cp
paolo [Tue, 22 Nov 2011 20:48:33 +0000 (20:48 +0000)]
/cp
2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51265
* semantics.c (finish_decltype_type): Handle PTRMEM_CST.

/testsuite
2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51265
* g++.dg/cpp0x/decltype36.C: New.

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

12 years ago * doc/contrib.texi: Add entry for David Binderman.
law [Tue, 22 Nov 2011 20:32:19 +0000 (20:32 +0000)]
* doc/contrib.texi: Add entry for David Binderman.

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

12 years agoruntime: New lock/note implementation.
ian [Tue, 22 Nov 2011 20:24:44 +0000 (20:24 +0000)]
runtime: New lock/note implementation.

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

12 years ago2011-11-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Tue, 22 Nov 2011 19:52:34 +0000 (19:52 +0000)]
2011-11-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* postreload.c (reload_combine): Mark reg_state as invalid at
volatile insns if there has been a use already.

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

12 years ago * opts.c (finish_options): Do not fail for -fgnu-tm.
aldyh [Tue, 22 Nov 2011 18:37:16 +0000 (18:37 +0000)]
    * opts.c (finish_options): Do not fail for -fgnu-tm.
        * gimple-streamer-out.c (output_gimple_stmt): Handle GIMPLE_TRANSACTION.
        * gimple-streamer-in.c (input_gimple_stmt): Same.
        * lto-cgraph.c (input_overwrite_node): Read tm_clone bit.
        (lto_output_node): Write tm_clone bit.
lto/
        * lto-lang.c (lto_attribute_table): Handle transaction_pure.
        (handle_transaction_pure_attribute): New.

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

12 years ago * doc/install.texi (Configuration): Correct doc of
ian [Tue, 22 Nov 2011 17:25:51 +0000 (17:25 +0000)]
* doc/install.texi (Configuration): Correct doc of
--enable-build-poststage1-with-cxx: it is not experimental.

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

12 years ago PR tree-optimization/51074
jakub [Tue, 22 Nov 2011 16:57:33 +0000 (16:57 +0000)]
PR tree-optimization/51074
* fold-const.c (fold_binary_loc): Fix up VEC_INTERLEAVE_*_EXPR
handling for BYTES_BIG_ENDIAN.
* optabs.c (can_vec_perm_for_code_p): Likewise.

* gcc.dg/vect/pr51074.c: New test.

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

12 years agoPR c++/51143 - Alias template allows class definition
dodji [Tue, 22 Nov 2011 16:41:10 +0000 (16:41 +0000)]
PR c++/51143 - Alias template allows class definition

gcc/cp

PR c++/51143
* parser.c (cp_parser_alias_declaration): Don't allow type
definition in templates.

gcc/testsuite

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

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

12 years ago * include/line-map.h (linemap_dump): Declare.
dnovillo [Tue, 22 Nov 2011 16:13:00 +0000 (16:13 +0000)]
* include/line-map.h (linemap_dump): Declare.
(line_table_dump): Declare.
* line-map.c (linemap_dump): New.
(line_table_dump): New.

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

12 years agofix linenos
jason [Tue, 22 Nov 2011 15:53:28 +0000 (15:53 +0000)]
fix linenos

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

12 years agoremove mention of EH_FILTER_MUST_NOT_THROW
jason [Tue, 22 Nov 2011 15:53:18 +0000 (15:53 +0000)]
remove mention of EH_FILTER_MUST_NOT_THROW

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

12 years ago2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 22 Nov 2011 15:04:27 +0000 (15:04 +0000)]
2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51196
* typeck.c (cp_build_binary_op, [case EQ_EXPR]): For targets having
TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_delta, do here
the -Wzero-as-null-pointer-constant warning for pmf == 0.

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

12 years ago PR other/51125
matz [Tue, 22 Nov 2011 14:55:58 +0000 (14:55 +0000)]
PR other/51125
* trans-mem.c (expand_block_tm): Ignore clobbers.

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

12 years agoconfig:
iains [Tue, 22 Nov 2011 14:49:11 +0000 (14:49 +0000)]
config:

* weakref.m4: New file.

libitm:

* configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
* alloc_cpp.cc: Generate dummy functions if we don't
HAVE_ELF_STYLE_WEAKREF.
* eh_cpp.cc: Likewise.
* configure: Regenerate.
* aclocal.m4:  Likewise.
* config.h.in: Likewise.
* Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.

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

12 years ago PR tree-optimization/50765
jakub [Tue, 22 Nov 2011 14:22:56 +0000 (14:22 +0000)]
PR tree-optimization/50765
* gcc.dg/pr50765.c: New test.

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

12 years agogcc:
iains [Tue, 22 Nov 2011 13:51:07 +0000 (13:51 +0000)]
gcc:

*  config/darwin.h (ENDFILE_SPEC): New.
(DARWIN_CRT1_SPEC): Add crttms.o.
(STARTFILE_SPEC): Likewise for dynamic libs and bundles.
* config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.

libgcc:

* config/darwin-crt-tm.c: New file.
* config.host (darwin): Build crttms.o crttme.o to provide
startup and shutdown for tm clones.
* config/t-darwin (crttms.o): New build rule.
(crttme.o): Likewise.

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

12 years ago PR c++/51264
matz [Tue, 22 Nov 2011 13:32:15 +0000 (13:32 +0000)]
PR c++/51264
* tree.c (iterative_hash_expr): Remove break after return.

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

12 years agoFor Matthew Gretton-Dann
ramana [Tue, 22 Nov 2011 11:04:46 +0000 (11:04 +0000)]
For Matthew Gretton-Dann

2011-11-22  Matthew Gretton-Dann<matthew.gretton-dann@arm.com>

         * gcc.dg/vshift-1.c (main): Call rand instead of random.
         * gcc.dg/vshift-3.c (main): Likewise.

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

12 years agogcc:
iains [Tue, 22 Nov 2011 10:19:19 +0000 (10:19 +0000)]
gcc:

* target.def (tm_clone_table_section): New hook.
* doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
* doc/tm.texi: Regenerate.
* varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section.
* output.h (default_clone_table_section): New prototype.
* config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New.
* config/darwin-protos.h (darwin_tm_clone_table_section): New prototype.
* config/darwin.c (darwin_tm_clone_table_section): New.

gcc/testsuite:

     * gcc.dg/tm/20100615.c: Adjust for Darwin tm_clone_table section name.

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

12 years agolibitm:
iains [Tue, 22 Nov 2011 09:57:19 +0000 (09:57 +0000)]
libitm:

* config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
__USER_LABEL_PREFIX__ for targets that use it.
TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
(_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
in portability to non-elf targets.
(GTM_longjmp): LIkewise.
* libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
where required.

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

12 years agolibitm:
iains [Tue, 22 Nov 2011 09:49:32 +0000 (09:49 +0000)]
libitm:

* testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
* testsuite/libitm.c/memset-1.c: Likewise.

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

12 years agogcc/testsuite:
iains [Tue, 22 Nov 2011 08:50:40 +0000 (08:50 +0000)]
gcc/testsuite:

* gcc.misc-tests/gcov-16.c: Adjust scan-assembler for Darwin.
* gcc.misc-tests/gcov-17.c: Likewise.
* g++.dg/gcov/gcov-8.C: Likewise.
* g++.dg/gcov/gcov-9.C: Likewise.

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

12 years ago * Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
hp [Tue, 22 Nov 2011 03:01:02 +0000 (03:01 +0000)]
* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
et al.

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

12 years ago * include/std/functional (is_placeholder, is_bind_expression): Add
redi [Tue, 22 Nov 2011 00:40:47 +0000 (00:40 +0000)]
* include/std/functional (is_placeholder, is_bind_expression): Add
partial specializations for cv-qualified types.
* include/tr1/functional (is_placeholder, is_bind_expression): Add
partial specializations for std::bind and std::placeholders and for
cv-qualified types.
* testsuite/20_util/bind/cv_quals_3.cc: New.
* testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
* testsuite/tr1/3_function_objects/bind/mixed.cc: New.

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

12 years agoDaily bump.
gccadmin [Tue, 22 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

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

12 years agoPR47747: Fix error messages for calls to unsafe virtual functions.
torvald [Mon, 21 Nov 2011 22:29:31 +0000 (22:29 +0000)]
PR47747: Fix error messages for calls to unsafe virtual functions.

gcc/
* trans-mem.c (diagnose_tm_1): Print an expression instead of a
declaration in error messages for indirect calls.

testsuite/
g++.dg/tm/pr47747.C: New test.

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

12 years agoFix instantiation of transaction expressions.
torvald [Mon, 21 Nov 2011 22:29:13 +0000 (22:29 +0000)]
Fix instantiation of transaction expressions.

gcc/cp/
* pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.

gcc/testsuite/
* g++.dg/tm/template-2.C: New test.

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

12 years agoFix crtstuff merge error with transactional-memory branch.
rth [Mon, 21 Nov 2011 22:10:06 +0000 (22:10 +0000)]
Fix crtstuff merge error with transactional-memory branch.

        * crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
        (__TMC_LIST__, __TMC_END__): New.
        (__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
        (__do_global_dtors): Likewise.
        (frame_dummy): Call _ITM_registerTMCloneTable.
        (__do_global_ctors_1): Likewise.

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

12 years agoCorrect sparc's REGMODE_NATURAL_SIZE and MODES_TIEABLE_P wrt. vector modes.
davem [Mon, 21 Nov 2011 21:50:58 +0000 (21:50 +0000)]
Correct sparc's REGMODE_NATURAL_SIZE and MODES_TIEABLE_P wrt. vector modes.

* config/sparc/sparc.c (sparc_regmode_natural_size): New function
implementing REGMODE_NATURAL_SIZE taking into consideration vector
modes.
(sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P.
* config/sparc/sparc-protos.h (sparc_regmode_natural_size,
sparc_modes_tieable_p): Declare.
* gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE,
MODES_TIEABLE_P): Use new helper functions.

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

12 years agoRevert regression causing changes to store_bit_field_1.
davem [Mon, 21 Nov 2011 21:50:41 +0000 (21:50 +0000)]
Revert regression causing changes to store_bit_field_1.

Revert
2011-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

PR middle-end/50325
* expmed.c (store_bit_field_1): Use extract_bit_field on big
endian targets if the source cannot be exactly covered by word
mode chunks.

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

12 years ago PR debug/50827
jakub [Mon, 21 Nov 2011 21:07:19 +0000 (21:07 +0000)]
PR debug/50827
* var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP
macro instead of XEXP.

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

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

12 years ago * MAINTAINERS: Add self as co-maintainer of the Ada front end.
ebotcazou [Mon, 21 Nov 2011 19:50:11 +0000 (19:50 +0000)]
* MAINTAINERS: Add self as co-maintainer of the Ada front end.

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

12 years ago PR c++/50958
jason [Mon, 21 Nov 2011 19:27:30 +0000 (19:27 +0000)]
PR c++/50958
gcc/cp/
* parser.c (lookup_literal_operator): New.
(cp_parser_userdef_char_literal): Use it.
(cp_parser_userdef_numeric_literal): Use it.
(cp_parser_userdef_string_literal): Use lookup_name.
libcpp/
* expr.c (cpp_userdef_char_remove_type): Fix typo.

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

12 years agotweak comment in perform_member_init
jason [Mon, 21 Nov 2011 19:27:17 +0000 (19:27 +0000)]
tweak comment in perform_member_init

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

12 years agoAdditional fixes for FreeBSD-10 build:
andreast [Mon, 21 Nov 2011 19:22:35 +0000 (19:22 +0000)]
Additional fixes for FreeBSD-10 build:

/: * libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/: * configure: Regenerate.
gcc/: * configure: Regenerate.
libffi/: * configure: Regenerate.
libgfortran/: * configure: Regenerate.
libgomp/: * configure: Regenerate.
libitm/: * configure: Regenerate.
libjava/: * configure.ac: Fix some more FreeBSD 10 issues..
* configure: Regenerate.
libjava/libltdl/: * acinclude.m4: Additional FreeBSD 10 fixes.
* configure: Regenerate.
libmudflap/: * configure: Regenerate.
libobjc/: * configure: Regenerate.
libquadmath/: * configure: Regenerate.
libssp/: * configure: Regenerate.
libstdc++-v3/: * configure: Regenerate.
lto-plugin/: * configure: Regenerate.
zlib/: * configure: Regenerate.

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

12 years ago * config/avr/avr.c (output_reload_in_const): Loading a byte with 0
gjl [Mon, 21 Nov 2011 19:17:52 +0000 (19:17 +0000)]
* config/avr/avr.c (output_reload_in_const): Loading a byte with 0
must not affect cc0.
* config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any
register does not change cc0. Same for any constant to ld-register.

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

12 years ago * config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
uros [Mon, 21 Nov 2011 18:18:28 +0000 (18:18 +0000)]
* config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
UNSPEC_PFRCPIT1, UNSPEC_PFRCPIT2, UNSPEC_PFRSQRT, UNSPEC_PFRSQIT1>:
Move from config/i386/i386.md
(unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
* config/i386/sse.md (unspec) <UNSPEC_MOVNT,UNSPEC_MOVU, UNSPEC_LDDQU,
UNSPEC_PSHUFB, UNSPEC_PSIGN, UNSPEC_PALIGNR, UNSPEC_EXTRQI,
UNSPEC_EXTRQ, UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_PCMPESTR, UNSPEC_PCMPISTR,
UNSPEC_FMADDSUB, UNSPEC_XOP_UNSIGNED_CMP, UNSPEC_XOP_TRUEFALSE,
UNSPEC_XOP_PERMUTE, UNSPEC_FRCZ, UNSPEC_AESENC, UNSPEC_AESENCLAST,
UNSPEC_AESDEC, UNSPEC_AESDECLAST, UNSPEC_AESIMC,
UNSPEC_AESKEYGENASSIST, UNSPEC_PCLMUL, UNSPEC_PCMP, UNSPEC_VPERMIL,
UNSPEC_VPERMIL2, UNSPEC_VPERMIL2F128, UNSPEC_CAST, UNSPEC_VTESTP,
UNSPEC_VCVTPH2PS, UNSPEC_VCVTPS2PH, UNSPEC_VPERMSI, UNSPEC_VPERMDF,
UNSPEC_VPERMSF, UNSPEC_VPERMTI, UNSPEC_GATHER, UNSPEC_VSIBADDR>: Ditto.
(unspecv) <UNSPECV_LDMXCSR, UNSPECV_STMXCSR, UNSPECV_CLFLUSH,
UNSPECV_MONITOR, UNSPECV_MWAIT, UNSPECV_VZEROALL, UNSPECV_VZEROUPPER>:
Ditto.
* config/i386/sync.md (unspec) <UNSPEC_LFENCE, UNSPEC_SFENCE,
UNSPEC_MFENCE, UNSPEC_MOVA>: Ditto.
(unspecv) <UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2, UNSPECV_CMPXCHG_3,
UNSPECV_CMPXCHG_4, UNSPECV_XCHG, UNSPECV_LOCK>: Ditto.
(sse2_lfence): Move from config/i386/sse.md.
(*sse2_lfence): Ditto.
(sse_sfence): Ditto.
(*sse_sfence): Ditto.
(sse2_mfence): Ditto.
(mfence_sse2): Ditto.  Rename from *sse2_mfence.  Enable also
for TARGET_64BIT.
(mem_thread_fence): Use mfence_sse2.

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

12 years agoSupport sun symbol versioning in libitm
ro [Mon, 21 Nov 2011 17:03:50 +0000 (17:03 +0000)]
Support sun symbol versioning in libitm

libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
(LIBITM_ENABLE_SYMVERS): Handle sun style.
* Makefile.am: Handle sun style versioning.
(libitm_la_LINK): Add $(libitm_la_LDFLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.

contrib:
* make_sunver.pl: Convert '?' in glob patterns to '.'.

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

12 years agoFix LIB2ADD overrides in libgcc
ro [Mon, 21 Nov 2011 16:13:13 +0000 (16:13 +0000)]
Fix LIB2ADD overrides in libgcc

* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
* config/i386/t-darwin64: Remove.
* config/sh/t-netbsd (LIB2ADD): Remove.

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

12 years ago * MAINTAINERS: Move myself from Write After Approval to CPU Port
amylaar [Mon, 21 Nov 2011 15:13:34 +0000 (15:13 +0000)]
* MAINTAINERS: Move myself from Write After Approval to CPU Port
Maintainers section, as Epiphany maintainer.

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

12 years agoFix ultrasparc_vis[23]_hw tests
ro [Mon, 21 Nov 2011 15:08:03 +0000 (15:08 +0000)]
Fix ultrasparc_vis[23]_hw tests

* lib/target-supports.exp
(check_effective_target_ultrasparc_vis2_hw): Call check_runtime
with ultrasparc_vis2_hw.
(check_effective_target_ultrasparc_vis3_hw): Call check_runtime
with ultrasparc_vis3_hw.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 14:45:41 +0000 (14:45 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* exp_imgv.adb (Expand_Width_Attribute): Handle case of
Discard_Names.
* sem_attr.adb (Eval_Attribute, case Width): Ditto.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

* sinfo.ads: Minor reformatting.

2011-11-21  Yannick Moy  <moy@adacore.com>

* exp_util.adb: Minor reformatting. Update comments.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 14:43:38 +0000 (14:43 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
sem_ch6.adb: Minor reformatting.

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

12 years agoAdapt c-c++-common/tm/malloc.c for Solaris headers with C++
ro [Mon, 21 Nov 2011 14:28:49 +0000 (14:28 +0000)]
Adapt c-c++-common/tm/malloc.c for Solaris headers with C++

* c-c++-common/tm/malloc.c: Scan tree dumps for std::malloc if
*-*-solaris2* && c++.

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

12 years ago2011-11-21 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 21 Nov 2011 13:31:33 +0000 (13:31 +0000)]
2011-11-21  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
Unrestricted_Access to deal with fact that we properly detect the
error if Access is used.
* gcc-interface/Make-lang.in: Update dependencies.

2011-11-21  Yannick Moy  <moy@adacore.com>

* exp_prag.adb (Expand_Pragma_Check): Place error on first character
of expression.
* sem_res.adb (Resolve_Short_Circuit): Place error on first
character of expression.

2011-11-21  Yannick Moy  <moy@adacore.com>

* exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case
Max_Size_In_Storage_Elements): Account for the size of the
hidden list header which precedes controlled objects allocated
on the heap.
* rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
tables.
* sinfo.adb (Header_Size_Added): New routine.
(Set_Header_Size_Added): New routine.
* sinfo.ads: Add flag Controlled_Header_Added along with
associated comment.
(Header_Size_Added): New inlined routine.
(Set_Header_Size_Added): New inlined routine.
* s-stposu.adb (Allocate_Any_Controlled): Use
Header_Size_With_Padding to calculate the proper
size of the header.
(Deallocate_Any_Controlled): Use
Header_Size_With_Padding to calculate the proper size
of the header. (Header_Size_With_Padding): New routine.
(Nearest_Multiple_Rounded_Up): Removed along with its uses.
* s-stposu.ads (Header_Size_With_Padding): New routine.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* aspects.adb: Aspect specifications are allowed on renaming
declarations
* par-ch6.adb (P_Subprogram): Parse aspect specifications in a
subprogram renaming declaration

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

12 years ago2011-11-21 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 21 Nov 2011 13:23:52 +0000 (13:23 +0000)]
2011-11-21  Tristan Gingold  <gingold@adacore.com>

* env.c: Remove unused declaration.

2011-11-21  Pascal Obry  <obry@adacore.com>

* s-os_lib.ads: Minor style fix.

2011-11-21  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
identical, do nothing on Windows XP.

2011-11-21  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
Use Full_Expander_Active instead of Expander_Active to control
the forced evaluation of expressions for the sake of generating
checks.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

* init.c: On FreeBSD, stack checking failures may raise SIGBUS.

2011-11-21  Tristan Gingold  <gingold@adacore.com>

* sysdep.c (mode_read_text, mode_write_text, mode_append_text,
mode_read_binary, mode_write_binary, mode_append_binary,
mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
mode_read_binary_plus, mode_write_binary_plus,
mode_append_binary_plus): Remove unused declarations.

2011-11-21  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Minor rewording.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_imgv.adb (Expand_Width_Attribute): Emit
an error message rather than a warning when pragma Discard_Names
prevents the computation of 'Width. Do not emit an error through
the use of RE_Null.

2011-11-21  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
implicit type conversion when the type of the allocator is an
interface. Done to force generation of displacement of the "this"
pointer when required.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
functions, and is set when the expression is a completion of a
previous declaration.
* sem_ch6.adb (Analyze_Expression_Function): To determine properly
whether an expression function completes a previous declaration,
use Find_Corresponding_Spec, as when analyzing a subprogram body.

2011-11-21  Steve Baird  <baird@adacore.com>

* sem_util.adb (Deepest_Type_Access_Level): Improve comment.
(Type_Access_Level): Improve comment.

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

12 years ago * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
ebotcazou [Mon, 21 Nov 2011 12:24:34 +0000 (12:24 +0000)]
* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
means of -iquote unconditionally.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 12:05:56 +0000 (12:05 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
reformatting.

2011-11-21  Arnaud Charlet  <charlet@adacore.com>

* s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.

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

12 years ago2011-11-21 Steve Baird <baird@adacore.com>
charlet [Mon, 21 Nov 2011 12:02:41 +0000 (12:02 +0000)]
2011-11-21  Steve Baird  <baird@adacore.com>

* sem_util.ads: Update comment describing function
Deepest_Access_Level.
* sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
generic formal type.
(Type_Access_Level): Return library level
for a generic formal type.
* sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
calls with calls to Deepest_Type_Access_Level.
* sem_ch3.adb (Analyze_Component_Declaration): replace a
Type_Access_Level call with a call to Deepest_Type_Access_Level.
* sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
Replace three Type_Access_Level calls with calls to
Deepest_Type_Access_Level.
(Resolve_Allocator): Replace a Type_Access_Level call with a call to
Deepest_Type_Access_Level.
(Valid_Conversion.Valid_Array_Conversion): Replace a
Type_Access_Level call with a call to Deepest_Type_Access_Level.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 12:01:11 +0000 (12:01 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 11:59:08 +0000 (11:59 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* sinput.ads: Minor comment fix.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
Last_Bit, Position): Handle 2005 case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
(Increment): Same fix.
* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
to deal with fact that we properly detect the error if Access
is used.
* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
volatile if the B component is volatile. This affects the check
for passing such a by reference volatile actual to a non-volatile
formal (which should be illegal)

2011-11-21  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
size and alignment for foreign convention enumeration types.
* layout.adb (Set_Elem_Alignment): Redo setting of alignment
when size is set.

2011-11-21  Yannick Moy  <moy@adacore.com>

* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
Apply_Discriminant_Check, Apply_Divide_Check,
Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
Selected_Range_Checks): Replace reference to Expander_Active
with reference to Full_Expander_Active, so that expansion of
checks is not performed in Alfa mode

2011-11-21  Tristan Gingold  <gingold@adacore.com>

* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
fact that we properly detect the error if Access is used.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_imgv.adb: Add with and use clause for Errout.
(Expand_Width_Attribute): Emit a warning when in
configurable run-time mode to provide a better diagnostic message.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

* s-finmas.adb (Finalize): Add comment concerning double finalization.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Access_Definition): If the access definition
is itself the return type of an access to function definition
which is ultimately the return type of an access to subprogram
declaration, its scope is the enclosing scope of the ultimate
access to subprogram.

2011-11-21  Steve Baird  <baird@adacore.com>

* sem_res.adb (Valid_Conversion): If a conversion was legal
in the body of a generic, then the corresponding conversion is
legal in the expanded body of an instance of the generic.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 11:51:15 +0000 (11:51 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
line terminator.
* sinput.ads: Add section on Handling of Source Line Terminators.
* types.ads (Line_Terminator): Adjust comments.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 11:45:44 +0000 (11:45 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* frontend.adb (Frontend): Capture restrictions from config files
* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
information
* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
references. This was noticed during debugging, but it is not
known if it causes real bugs.
* restrict.ads, restrict.adb: New routines to save/set/restore
non-partition-wide restrictions.
* s-rident.ads: Comment changes for new handling of
No_Elaboration_Code
* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
attempt to save/restore non-partition-wide restrictions (now
this work is all done in Sem).
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Special handling for restriction No_Elaboration_Code.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Document new handling of restrictions pragmas.

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

12 years ago2011-11-21 Pascal Obry <obry@adacore.com>
charlet [Mon, 21 Nov 2011 11:40:32 +0000 (11:40 +0000)]
2011-11-21  Pascal Obry  <obry@adacore.com>

* s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
attribute as not needed.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.

2011-11-21  Pascal Obry  <obry@adacore.com>

* gnat_rm.texi: Document restriction for stdcall convention on
dispatching calls.

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

12 years ago2011-11-21 Pascal Obry <obry@adacore.com>
charlet [Mon, 21 Nov 2011 11:38:35 +0000 (11:38 +0000)]
2011-11-21  Pascal Obry  <obry@adacore.com>

* sem_prag.adb (Process_Convention): A dispatching call cannot
have a stdcall calling convention.

2011-11-21  Pascal Obry  <obry@adacore.com>

* s-taprop-linux.adb (Initialize_Lock): Do not allocate a
mutex attribute as not needed.
(Initialize_TCB): Likewise.
(Initialize): Likewise.

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 11:35:55 +0000 (11:35 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
(Process_PPCs): Invariants only apply to public subprograms.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
restrict.ads: Fix for No_Implicit_Aliasing in the renames case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* a-finali.ads: Use pragma Pure_12 for this unit
* aspects.adb: Add aspect Pure_12
* aspects.ads: Add aspect Pure_12
* opt.ads: Add note on Pure_12
* par-prag.adb: Add dummy entry for Pure_12
* sem_prag.adb: Implement Pure_12 pragma
* snames.ads-tmpl: Add Entry for Pure_12

2011-11-21  Sergey Rybin  <rybin@adacore.com frybin>

* vms_data.ads: Add qualifiers for new gnatpp options
'--call_threshold' and '--par_threshold".
* gnat_ugn.texi: Add description for new gnatpp options
'--call_threshold' and '--par_threshold".

2011-11-21  Robert Dewar  <dewar@adacore.com>

* lib.ads: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* lib-load.ads: Add comment.

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

12 years ago2011-11-21 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 21 Nov 2011 11:28:32 +0000 (11:28 +0000)]
2011-11-21  Gary Dismukes  <dismukes@adacore.com>

* sem_elab.adb: Minor reformatting

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

12 years ago2011-11-21 Robert Dewar <dewar@adacore.com>
charlet [Mon, 21 Nov 2011 11:26:14 +0000 (11:26 +0000)]
2011-11-21  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb: Minor reformatting.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Check_Formal_Package_Instance): If a formal
subprogram of the formal package is covered by an others
association with a box initialization, no check is needed
against the actual in the instantiation of the formal package.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
elab warning from within precondition/postcondition etc.

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

12 years ago2011-11-21 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 21 Nov 2011 11:22:47 +0000 (11:22 +0000)]
2011-11-21  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
with out parameters may generate assignments to force constraint
checks. These checks must be properly placed in the code after the
declaration or statement that contains the call.

2011-11-21  Fedor Rybin  <frybin@adacore.com>

* gnat_ugn.texi: Adding info on current gnattest limitations an
support of -X option.

2011-11-21  Robert Dewar  <dewar@adacore.com>

* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.

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

12 years ago2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 21 Nov 2011 11:22:37 +0000 (11:22 +0000)]
2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix last ChangeLog entry.

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

12 years ago2011-11-21 Daniel Krugler <daniel.kruegler@googlemail.com>
paolo [Mon, 21 Nov 2011 11:21:13 +0000 (11:21 +0000)]
2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>

PR libstdc++/51185
* include/std/type_traits (__is_base_to_derived_ref,
__is_lvalue_to_rvalue_ref): Fix.
* testsuite/20_util/is_constructible/51185.cc: New.
* testsuite/20_util/is_constructible/value-2.cc: Extend.

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

12 years ago2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 21 Nov 2011 10:48:53 +0000 (10:48 +0000)]
2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix last ChangeLog entry.

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

12 years ago2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 21 Nov 2011 10:47:37 +0000 (10:47 +0000)]
2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Remove.
(tuple<>::tuple(_UElements&&...),
tuple<>::tuple(const tuple<_UElements...>&),
tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322.

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

12 years ago * config/avr/avr.h (struct base_arch_s): Add field sfr_offset.
gjl [Mon, 21 Nov 2011 09:00:26 +0000 (09:00 +0000)]
* config/avr/avr.h (struct base_arch_s): Add field sfr_offset.
* config/avr/avr-devices.c: Ditto. And initialize it.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in define
__AVR_SFR_OFFSET__.
* config/avr/avr-protos.h (out_movqi_r_mr, out_movqi_mr_r): Remove.
(out_movhi_r_mr, out_movhi_mr_r): Remove.
(out_movsi_r_mr, out_movsi_mr_r): Remove.
* config/avr/avr.md (*cbi, *sbi): Use %i instead of %m-0x20.
(*insv.io, *insv.not.io): Ditto.
* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r): Make static.
(print_operand): Implement "%i" to print address as I/O address.
(output_movqi): Clean up call of out_movqi_mr_r.
(output_movhi): Clean up call of out_movhi_mr_r.
(avr_file_start): Use avr_current_arch->sfr_offset instead of
magic -0x20. Use TMP_REGNO, ZERO_REGNO instead of 0, 1.
(avr_out_sbxx_branch): Use %i instead of %m-0x20.
(out_movqi_r_mr, out_movqi_mr_r): Ditto. And make static.
(out_movhi_r_mr, out_movhi_mr_r): Ditto. And use avr_asm_len.
(out_shift_with_cnt): Clean up code: Use avr_asm_len.
(output_movsisf): Use output_reload_insisf for all CONSTANT_P sources.
(avr_out_movpsi): USE avr_out_reload_inpsi for all CONSTANT_P sources.
Clean up call of avr_out_store_psi.
(output_reload_in_const): Don't cut symbols longer than 2 bytes.
(output_reload_insisf): Filter CONST_INT_P or CONST_DOUBLE_P to
try if setting pre-cleared register is advantageous.
(avr_out_plus_1): Use gen_int_mode instead of GEN_INT.

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

12 years ago PR target/49313
gjl [Mon, 21 Nov 2011 08:56:44 +0000 (08:56 +0000)]
PR target/49313
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
* config/avr/lib1funcs.S (wmov): New assembler macro.
(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
(__moddi3, __divdi3, __divdi3_moddi3): New functions.
(__udivmod64): New function.
(__negdi2): New function.

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

12 years ago * config.host (*-*-freebsd[12], *-*-freebsd[12].*,
gerald [Mon, 21 Nov 2011 02:29:09 +0000 (02:29 +0000)]
* config.host (*-*-freebsd[12], *-*-freebsd[12].*,
*-*-freebsd*aout*): Remove.

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

12 years ago2011-11-20 Joey Ye <joey.ye@arm.com>
jye2 [Mon, 21 Nov 2011 02:16:12 +0000 (02:16 +0000)]
2011-11-20  Joey Ye  <joey.ye@arm.com>

* expr.c (expand_expr_real_1): Correctly handle strict volatile
bitfield loads smaller than mode size.

testsuite:

* gcc.dg/volatile-bitfields-1.c: New.

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

12 years ago * pt.c (tsubst_pack_expansion): Fix SFINAE.
jason [Mon, 21 Nov 2011 02:05:03 +0000 (02:05 +0000)]
* pt.c (tsubst_pack_expansion): Fix SFINAE.

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

12 years ago PR c++/48322
jason [Mon, 21 Nov 2011 02:04:54 +0000 (02:04 +0000)]
PR c++/48322
gcc/cp/
* cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
* cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
* pt.c (tsubst_pack_expansion): Set and use it.
(iterative_hash_template_arg): Hash it.
(template_args_equal): Compare it.
(comp_template_args_with_info): Handle nulls.
* tree.c (cp_walk_subtrees): Walk it.
* typeck.c (structural_comptypes): Compare it.
* ptree.c (cxx_print_type): Print it.
libstdc++-v3/
* include/std/tuple (tuple(_UElements&&...)): Fix SFINAE.

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

12 years ago * pt.c (type_unification_real): Set input_location
jason [Mon, 21 Nov 2011 02:04:38 +0000 (02:04 +0000)]
* pt.c (type_unification_real): Set input_location
during default arg instantiation.

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

12 years ago * update_web_docs_svn: Make $DOCSDIR group writable after
gerald [Mon, 21 Nov 2011 01:16:24 +0000 (01:16 +0000)]
* update_web_docs_svn: Make $DOCSDIR group writable after
creating it.

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

12 years ago * static-object.mk (c_flags-$o): Save c_flags.
hp [Mon, 21 Nov 2011 00:41:12 +0000 (00:41 +0000)]
* static-object.mk (c_flags-$o): Save c_flags.
($(base)$(objext)): Use it.

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

12 years agoDaily bump.
gccadmin [Mon, 21 Nov 2011 00:18:27 +0000 (00:18 +0000)]
Daily bump.

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

12 years agomips: Install the __sync libfuncs for mips16
rth [Sun, 20 Nov 2011 23:16:30 +0000 (23:16 +0000)]
mips: Install the __sync libfuncs for mips16

        * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.

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

12 years ago/cp
paolo [Sun, 20 Nov 2011 22:37:54 +0000 (22:37 +0000)]
/cp
2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51230
* pt.c (unify_inconsistency): Handle non-type parameters better.
* error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.

/cp
2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51230
* g++.dg/template/error46.C: New.

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

12 years ago PR target/51235
uros [Sun, 20 Nov 2011 22:26:14 +0000 (22:26 +0000)]
PR target/51235
* config/i386/i386.c (ix86_expand_vcond): Generate TARGET_XOP
patterns for supported mode only.

PR target/51236
* config/i386/i386.c (ix86_expand_builtin)
<IX86_BUILTIN_GATHERALTSIV4DI>: Use CODE_FOR_avx2_gathersiv4di.

testsuite/ChangeLog:

PR target/51235
* gcc.target/i386/pr51235.c: New test.

PR target/51236
* gcc.target/i386/pr51236.c: New test.

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

12 years ago * include/backward/binders.h: Fix examples in doxygen comments and
redi [Sun, 20 Nov 2011 21:14:56 +0000 (21:14 +0000)]
* include/backward/binders.h: Fix examples in doxygen comments and
suggest using std::bind instead.

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

12 years agoFix grammar in ChangeLog entry.
redi [Sun, 20 Nov 2011 20:21:51 +0000 (20:21 +0000)]
Fix grammar in ChangeLog entry.

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

12 years ago * doc/xml/manual/status_cxx2011.xml: Fix docbook markup.
redi [Sun, 20 Nov 2011 20:05:58 +0000 (20:05 +0000)]
* doc/xml/manual/status_cxx2011.xml: Fix docbook markup.

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

12 years ago * doc/xml/manual/appendix_contributing.xml: Do not use "here" as link
redi [Sun, 20 Nov 2011 19:56:48 +0000 (19:56 +0000)]
* doc/xml/manual/appendix_contributing.xml: Do not use "here" as link
text.
* doc/xml/faq.xml: Likewise. Do not request standard library issues
to be reported to the libstdc++ mailing list.
* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
behaviour.
* doc/xml/manual/status_cxxtr1.xml: Likewise.
* doc/xml/manual/utilities.xml: Fix grammar, probably caused by a
global search and replace of "part" by "chapter".
* doc/xml/manual/shared_ptr.xml: Remove outdated information.
* doc/xml/manual/messages.xml: Be more specific about systems where
using 'int' for catalog handle is not a problem, mentioned LWG issue.

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

12 years ago * config/i386/i386.md (UNSPEC_MOVNTI): Remove.
uros [Sun, 20 Nov 2011 19:17:08 +0000 (19:17 +0000)]
* config/i386/i386.md (UNSPEC_MOVNTI): Remove.
(UNSPEC_MOVNTQ): New unspec.
* config/i386/mmx.md (sse_movntq): Rename from sse_movntdi.
Use UNSPEC_MOVNTQ instead of UNSPEC_MOVNT.
* config/i386/sse.md (sse2_movnti<mode>): Use UNSPEC_MOVNT instead of
UNSPEC_MOVNTI.
(STORENT_MODE): Add DI and V4DI modes.

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

12 years ago2011-11-20 Robert Dewar <dewar@adacore.com>
charlet [Sun, 20 Nov 2011 11:44:38 +0000 (11:44 +0000)]
2011-11-20  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb, exp_util.adb: Minor reformatting

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* sinfo.ads (Reference): Document that it is OK to set
Is_Known_Non_Null on a temporary initialized to a N_Reference
node.

2011-11-20  Matthew Heaney  <heaney@adacore.com>

* a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
for Source list.

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

12 years ago2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
charlet [Sun, 20 Nov 2011 11:41:57 +0000 (11:41 +0000)]
2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
Declare NEW_EXPR local variable and attach the
temporary to it.  Set Is_Known_Non_Null on the temporary.
(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
* exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
the temporary created to hold the 'Reference of the expression,
if any.
* checks.adb (Install_Null_Excluding_Check): Bail out for the
Get_Current_Excep.all.all idiom generated by the expander.

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

12 years ago * gcc-interface/trans.c (struct language_function): Add GNAT_RET.
ebotcazou [Sun, 20 Nov 2011 10:29:22 +0000 (10:29 +0000)]
* gcc-interface/trans.c (struct language_function): Add GNAT_RET.
(f_gnat_ret): New macro.
(struct nrv_data): Add GNAT_RET.
(finalize_nrv_unc_r): New helper function.
(finalize_nrv): Add GNAT_RET parameter.  Copy it into DATA.  If the
function returns unconstrained, use finalize_nrv_unc_r as callback.
(return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
RET_OBJ is non-null.
(Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
(gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
if optimization is enabled, record candidates for the Named Return
Value optimization.

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

12 years ago * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
ebotcazou [Sun, 20 Nov 2011 10:16:48 +0000 (10:16 +0000)]
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
(gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
test.  Tweak default case.
<N_Goto_Statement>: Use better formatting.
* gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
MODIFY_EXPR to initialize the storage.
(build_allocator): Likewise.

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

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
ebotcazou [Sun, 20 Nov 2011 10:03:11 +0000 (10:03 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
call to components_to_record.
(components_to_record): Add FIRST_FREE_POS parameter.  For the variant
part, reuse enclosing union even if there is a representation clause
on the Unchecked_Union.  If there is a variant part, compute the new
first free position, if any.  Adjust call to self.  Use a single field
directly only if it hasn't got a representation clause or is placed at
offset zero.  Create the variant part at offset 0 if all the fields
down to this level have a rep clause.  Do not chain the variant part
immediately and adjust downstream.
Do not test ALL_REP before moving the fields without rep clause to the
previous level.  Call create_rep_part to create the REP part and force
a minimum size on it if necessary.  Do not chain it immediately.
Create a fake REP part if there are fields without rep clause that need
to be laid out starting from FIRST_FREE_POS.
At the end, chain the REP part and then the variant part.
(create_rep_part): New function.
(get_rep_part): Minor tweak.
* gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.

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

12 years agofixup trunkated changelog entry
nathan [Sun, 20 Nov 2011 09:19:21 +0000 (09:19 +0000)]
fixup trunkated changelog entry

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

12 years ago PR gcov-profile/51113
nathan [Sun, 20 Nov 2011 09:09:34 +0000 (09:09 +0000)]
PR gcov-profile/51113
* coverage.c (build_var): Propagate visibility for public decls.

testsuite/
* gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage
* gcc.misc-tests/gcov-16.c: New.
* gcc.misc-tests/gcov-17.c: New.
* g++.dg/gcov/gcov-8.C: New.
* g++.dg/gcov/gcov-9.C: New.
* g++.dg/gcov/gcov-10.C: New.

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

12 years agoPR c++/51194 - ICE with invalid alias template
dodji [Sun, 20 Nov 2011 07:10:24 +0000 (07:10 +0000)]
PR c++/51194 - ICE with invalid alias template

gcc/cp/

PR c++/51194
* pt.c (lookup_template_class_1): Go out early if the type of the
template is error_mark_node.

gcc/testsuite/

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

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

12 years agoDaily bump.
gccadmin [Sun, 20 Nov 2011 00:18:50 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago/cp
paolo [Sat, 19 Nov 2011 23:17:12 +0000 (23:17 +0000)]
/cp
2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51216
* semantics.c (potential_constant_expression_1): Handle IF_STMT,
DO_STMT, FOR_STMT, and WHILE_STMT.

/testsuite
2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51216
* g++.dg/cpp0x/pr51216.C: New.

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

12 years ago PR rtl-optimization/51187
ebotcazou [Sat, 19 Nov 2011 20:36:43 +0000 (20:36 +0000)]
PR rtl-optimization/51187
* reorg.c (relax_delay_slots): Do not consider a jump useless if there
is a barrier between the jump and its target label.

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

12 years agoPR middle-end/51211
rth [Sat, 19 Nov 2011 19:29:18 +0000 (19:29 +0000)]
PR middle-end/51211
        * tracer.c (ignore_bb_p): Don't copy GIMPLE_TRANSACTION.

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

12 years ago * expmed.c (store_bit_field_1): Revert bogus formatting change.
ebotcazou [Sat, 19 Nov 2011 18:20:36 +0000 (18:20 +0000)]
* expmed.c (store_bit_field_1): Revert bogus formatting change.

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

12 years agoFix minor issues
ebotcazou [Sat, 19 Nov 2011 16:24:22 +0000 (16:24 +0000)]
Fix minor issues

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

12 years agoPR target/50493
rearnsha [Sat, 19 Nov 2011 13:47:35 +0000 (13:47 +0000)]
PR target/50493
* arm.c (neon_disambiguate_copy): Correctly handle partial overlap
of src and dest operands.

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