gcc.git
12 years agoexpr.c (expand_expr_real_1): Correctly handle strict volatile bitfield loads smaller...
Joey Ye [Mon, 21 Nov 2011 02:16:12 +0000 (02:16 +0000)]
expr.c (expand_expr_real_1): Correctly handle strict volatile bitfield loads smaller than mode size.

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.

From-SVN: r181549

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

From-SVN: r181548

12 years agore PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)
Jason Merrill [Mon, 21 Nov 2011 02:04:54 +0000 (21:04 -0500)]
re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)

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.

From-SVN: r181547

12 years agopt.c (type_unification_real): Set input_location during default arg instantiation.
Jason Merrill [Mon, 21 Nov 2011 02:04:38 +0000 (21:04 -0500)]
pt.c (type_unification_real): Set input_location during default arg instantiation.

* pt.c (type_unification_real): Set input_location
during default arg instantiation.

From-SVN: r181546

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

* update_web_docs_svn: Make $DOCSDIR group writable after
creating it.

From-SVN: r181545

12 years agostatic-object.mk (c_flags-$o): Save c_flags.
Hans-Peter Nilsson [Mon, 21 Nov 2011 00:41:12 +0000 (00:41 +0000)]
static-object.mk (c_flags-$o): Save c_flags.

* static-object.mk (c_flags-$o): Save c_flags.
($(base)$(objext)): Use it.

From-SVN: r181544

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

From-SVN: r181543

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

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

From-SVN: r181539

12 years agore PR c++/51230 (Broken diagnostic: 'template_parm_index' not supported by dump_type)
Paolo Carlini [Sun, 20 Nov 2011 22:37:54 +0000 (22:37 +0000)]
re PR c++/51230 (Broken diagnostic: 'template_parm_index' not supported by dump_type)

/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.

From-SVN: r181538

12 years agore PR target/51235 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn) with...
Uros Bizjak [Sun, 20 Nov 2011 22:26:14 +0000 (23:26 +0100)]
re PR target/51235 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn) with -O -ftree-vectorize -mavx2 -mxop)

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.

From-SVN: r181537

12 years agobinders.h: Fix examples in doxygen comments and suggest using std::bind instead.
Jonathan Wakely [Sun, 20 Nov 2011 21:14:56 +0000 (21:14 +0000)]
binders.h: Fix examples in doxygen comments and suggest using std::bind instead.

* include/backward/binders.h: Fix examples in doxygen comments and
suggest using std::bind instead.

From-SVN: r181535

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

From-SVN: r181534

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

From-SVN: r181533

12 years agoappendix_contributing.xml: Do not use "here" as link text.
Jonathan Wakely [Sun, 20 Nov 2011 19:56:48 +0000 (19:56 +0000)]
appendix_contributing.xml: Do not use "here" as link text.

* 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.

From-SVN: r181532

12 years agoi386.md (UNSPEC_MOVNTI): Remove.
Uros Bizjak [Sun, 20 Nov 2011 19:17:08 +0000 (20:17 +0100)]
i386.md (UNSPEC_MOVNTI): Remove.

* 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.

From-SVN: r181531

12 years ago[multiple changes]
Arnaud Charlet [Sun, 20 Nov 2011 11:44:38 +0000 (12:44 +0100)]
[multiple changes]

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.

From-SVN: r181530

12 years agoexp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local variable...
Eric Botcazou [Sun, 20 Nov 2011 11:41:57 +0000 (11:41 +0000)]
exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local variable and attach the temporary to it.

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.

From-SVN: r181529

12 years agotrans.c (struct language_function): Add GNAT_RET.
Eric Botcazou [Sun, 20 Nov 2011 10:29:22 +0000 (10:29 +0000)]
trans.c (struct language_function): Add GNAT_RET.

* 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.

From-SVN: r181528

12 years agotrans.c (Subprogram_Body_to_gnu): Add comment.
Eric Botcazou [Sun, 20 Nov 2011 10:16:48 +0000 (10:16 +0000)]
trans.c (Subprogram_Body_to_gnu): Add comment.

* 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.

From-SVN: r181527

12 years agodecl.c (gnat_to_gnu_entity): Adjust call to components_to_record.
Eric Botcazou [Sun, 20 Nov 2011 10:03:11 +0000 (10:03 +0000)]
decl.c (gnat_to_gnu_entity): Adjust call to components_to_record.

* 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.

From-SVN: r181526

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

From-SVN: r181525

12 years agore PR gcov-profile/51113 (rev. 181105 causes Firefox profiledbuild failure)
Nathan Sidwell [Sun, 20 Nov 2011 09:09:34 +0000 (09:09 +0000)]
re PR gcov-profile/51113 (rev. 181105 causes Firefox profiledbuild failure)

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.

From-SVN: r181524

12 years agoPR c++/51194 - ICE with invalid alias template
Dodji Seketeli [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.

From-SVN: r181523

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

From-SVN: r181521

12 years agore PR c++/51216 (ICE with statement expression)
Paolo Carlini [Sat, 19 Nov 2011 23:17:12 +0000 (23:17 +0000)]
re PR c++/51216 (ICE with statement expression)

/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.

From-SVN: r181517

12 years agore PR rtl-optimization/51187 (miscompilation of genrecog.c at -O2 for --target=avr)
Eric Botcazou [Sat, 19 Nov 2011 20:36:43 +0000 (20:36 +0000)]
re PR rtl-optimization/51187 (miscompilation of genrecog.c at -O2 for --target=avr)

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.

From-SVN: r181513

12 years agore PR middle-end/51211 (ICE: SIGSEGV in execute_tm_mark (trans-mem.c:2242) with ...
Patrick Marlier [Sat, 19 Nov 2011 19:29:18 +0000 (19:29 +0000)]
re PR middle-end/51211 (ICE: SIGSEGV in execute_tm_mark (trans-mem.c:2242) with -fgnu-tm -O -freorder-blocks -ftracer --param hot-bb-frequency-fraction=1 and __transaction_atomic)

PR middle-end/51211
        * tracer.c (ignore_bb_p): Don't copy GIMPLE_TRANSACTION.

From-SVN: r181512

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

From-SVN: r181511

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

From-SVN: r181509

12 years agore PR target/50493 (ICE in neon_disambiguate_copy, at config/arm/arm.c:20388)
Richard Earnshaw [Sat, 19 Nov 2011 13:47:35 +0000 (13:47 +0000)]
re PR target/50493 (ICE in neon_disambiguate_copy, at config/arm/arm.c:20388)

PR target/50493
* arm.c (neon_disambiguate_copy): Correctly handle partial overlap
of src and dest operands.

From-SVN: r181508

12 years agodarwin.h (ASM_DEBUG_SPEC): New.
Iain Sandoe [Sat, 19 Nov 2011 12:21:08 +0000 (12:21 +0000)]
darwin.h (ASM_DEBUG_SPEC): New.

gcc:

* config/darwin.h (ASM_DEBUG_SPEC): New.
* config/darwin9.h (ASM_DEBUG_SPEC): New.

From-SVN: r181507

12 years agobitset (operator[](size_t) const): Declare constexpr.
Paolo Carlini [Sat, 19 Nov 2011 11:50:44 +0000 (11:50 +0000)]
bitset (operator[](size_t) const): Declare constexpr.

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

* include/debug/bitset (operator[](size_t) const): Declare constexpr.
* include/profile/bitset: Likewise.
* testsuite/23_containers/bitset/operations/constexpr.cc: Split out
non portable bits to...
* testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here.

From-SVN: r181506

12 years agore PR fortran/51207 ([OOP] Mark __def_init_... as FL_PARAMETER)
Tobias Burnus [Sat, 19 Nov 2011 09:26:33 +0000 (10:26 +0100)]
re PR fortran/51207 ([OOP] Mark __def_init_... as FL_PARAMETER)

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

        PR fortran/51207
        * class.c (gfc_find_derived_vtab): Mark __def_init as PARAMETER
        and hence as TREE_READONLY; add subroutine attribute to
        __copy_ procedure.

        PR fortran/50640
        * trans.h (GFC_DECL_PUSH_TOPLEVEL): New DECL_LANG_FLAG_7.
        * trans-decl.c (gfc_get_symbol_decl): Mark __def_init and vtab
        as GFC_DECL_PUSH_TOPLEVEL.
        (gfc_generate_function_code): If GFC_DECL_PUSH_TOPLEVEL, push it there.
        (build_function_decl): Push __copy_ procedure to the toplevel.

From-SVN: r181505

12 years agoi386.c (atom_cost): Disable SSE loop until alignment issues are fixed.
Jan Hubicka [Sat, 19 Nov 2011 01:34:55 +0000 (02:34 +0100)]
i386.c (atom_cost): Disable SSE loop until alignment issues are fixed.

* config/i386/i386.c (atom_cost): Disable SSE loop until alignment
issues are fixed.

From-SVN: r181503

12 years agoDaily bump.
GCC Administrator [Sat, 19 Nov 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181501

12 years ago* gcc.dg/cpp/assert4.c: Test __linux__, not __gnu_linux__.
Joseph Myers [Fri, 18 Nov 2011 22:26:47 +0000 (22:26 +0000)]
* gcc.dg/cpp/assert4.c: Test __linux__, not __gnu_linux__.

From-SVN: r181496

12 years agoMakefile.in (c_flags): Set to -fno-exceptions to build libunwind.
Steve Ellcey [Fri, 18 Nov 2011 22:26:44 +0000 (22:26 +0000)]
Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.

2011-11-18  Steve Ellcey  <sje@cup.hp.com>

* Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.

From-SVN: r181495

12 years agocris.c (cris_function_value_regno_p): Make static.
Anatoly Sokolov [Fri, 18 Nov 2011 21:23:08 +0000 (01:23 +0400)]
cris.c (cris_function_value_regno_p): Make static.

* config/cris/cris.c (cris_function_value_regno_p): Make static.
(TARGET_FUNCTION_VALUE_REGNO_P): Define.
* config/cris/cris.h (FUNCTION_VALUE_REGNO_P): Remove.
* config/cris/cris-protos.h (cris_function_value_regno_p): Remove.

From-SVN: r181493

12 years agore PR c++/51188 (invalid static_cast from type 'XBase' to type 'int')
Fabien Chêne [Fri, 18 Nov 2011 20:32:04 +0000 (21:32 +0100)]
re PR c++/51188 (invalid static_cast from type 'XBase' to type 'int')

gcc/testsuite/ChangeLog

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

PR c++/51188
* g++.dg/lookup/using46.C: New.
* g++.dg/lookup/using47.C: New.
* g++.dg/lookup/using48.C: New.
* g++.dg/lookup/using49.C: New.
* g++.dg/lookup/using50.C: New.

gcc/cp/ChangeLog

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

PR c++/51188
* search.c (lookup_field_1): Handle USING_DECLs for the storted
case.

From-SVN: r181492

12 years agoAdd _mm_stream_si64.
H.J. Lu [Fri, 18 Nov 2011 19:02:45 +0000 (19:02 +0000)]
Add _mm_stream_si64.

2011-11-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/33944
* doc/extend.texi: Document __builtin_ia32_movnti64.

* config/i386/emmintrin.h (_mm_stream_si64): New.

* config/i386/i386-builtin-types.def: Add VOID_FTYPE_PLONGLONG_LONGLONG.

* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTI64.
(bdesc_special_args): Update __builtin_ia32_movnti.  Add
__builtin_ia32_movnti64.
(ix86_expand_special_args_builtin): Handle
VOID_FTYPE_PLONGLONG_LONGLONG.

* config/i386/i386.md (UNSPEC_MOVNTI): New.

* config/i386/sse.md (sse2_movntsi): Renamed to ...
(sse2_movnti<mode>): This.

From-SVN: r181491

12 years agore PR c++/51141 (rev181359 causes Chromium build failure)
Fabien Chêne [Fri, 18 Nov 2011 18:44:23 +0000 (19:44 +0100)]
re PR c++/51141 (rev181359 causes Chromium build failure)

gcc/testsuite/ChangeLog

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

PR c++/51141
* g++.dg/lookup/using46.C: New.
* g++.dg/lookup/using47.C: New.
* g++.dg/lookup/using48.C: New.
* g++.dg/lookup/using49.C: New.
* g++.dg/lookup/using50.C: New.

gcc/cp/ChangeLog

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

PR c++/51141
* search.c (lookup_field_1): Handle USING_DECLs for the storted
case.

From-SVN: r181490

12 years agopr44707.c: Do not assume assembler supports /* ...
Ulrich Weigand [Fri, 18 Nov 2011 18:17:05 +0000 (18:17 +0000)]
pr44707.c: Do not assume assembler supports /* ...

* gcc.c-torture/compile/pr44707.c: Do not assume assembler
supports /* ... */ comments.

From-SVN: r181489

12 years agore PR target/49868 (Implement named address space to place/access data in flash memory)
Georg-Johann Lay [Fri, 18 Nov 2011 16:44:00 +0000 (16:44 +0000)]
re PR target/49868 (Implement named address space to place/access data in flash memory)

gcc/
PR target/49868
* config/avr/avr.h (base_arch_s): Add field n_segments.
(ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
(AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
(INIT_EXPANDERS): New define.
* config/avr/avr-protos.h (avr_mem_pgmx_p): New.
(avr_init_expanders): New.
(avr_emit_movmemhi, avr_out_movmem): New.
(avr_xload_libgcc_p): New.
* config/avr/avr-c.c (avr_register_target_pragmas): Register
address spaces __pgm1, __pgm2,  __pgm3,  __pgm4  __pgm5,  __pgmx.
(avr_cpu_cpp_builtins): Add built-in defines __PGM1,
__PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
* config/avr/avr-devices.c (avr_arch_types): Set field n_segments.

* config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
3 bits instead of just 1.
(xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
(progmem_section): Change from section to array of sections.
(progmem_section_prefix): New static variable.
(avr_file_start): Print set for __RAMPZ__
(avr_option_override): Move initialization of RTXes from here...
(avr_init_expanders): ...to this new function.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p): Handle error_mark_node.
(avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
(avr_out_xload, avr_find_unused_d_reg): New static functions.
(expand_prologue, expand_epilogue): Use rampz_rtx.
(print_operand): Hande CONST_STRING.
(avr_xload_libgcc_p): New static function.
(avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
(avr_progmem_p): Return 2 for 24-bit flash address space.
(avr_out_sbxx_branch): Clean-up code from ASn macros.
(out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
address and print symbolically.
(avr_asm_named_section, avr_section_type_flags,
avr_encode_section_info, avr_asm_select_section,
avr_addr_space_address_mode, avr_addr_space_pointer_mode,
avr_addr_space_legitimate_address_p, avr_addr_space_convert,
avr_addr_space_legitimize_address): Handle new address spaces.
(avr_output_progmem_section_asm_op): New static function.
(avr_asm_init_sections): Initialize progmem_section[].
(adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
(avr_const_address_lo16): New static function.
(avr_assemble_integer): Use it to handle 3-byte integers.
(avr_emit_movmemhi, avr_out_movmem): New functions.

* config/avr/predicates.md (nox_general_operand): Handle new
address spaces.
* config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
(adjust_len): Add xload, movmem.
(SP_ADDR): New define_constants.
(isa): Add "lpm", "lpmx", "elpm", "elpmx".
(enabled): Handle them.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
(xload8_A, xload<mode>_A): New insn-and-splits.
(xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
(mov<mode>): Handle new address spaces.
(movmemhi): Rewrite using avr_emit_movmemhi.
(MOVMEM_r_d): New mode attribute.
(movmem_<mode>, movmem_qi_elpm): New insns.
(setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
C-code.  Use label instead of hard-coded instrunction lengths.

libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_2 _xload_3 _xload_4.
* config/avr/lib1funcs.S (__xload_2, __xload_3, __xload_4):
New functions.

From-SVN: r181482

12 years agoSupport libitm on Solaris 8 and 9/x86 with Sun as
Rainer Orth [Fri, 18 Nov 2011 16:15:59 +0000 (16:15 +0000)]
Support libitm on Solaris 8 and 9/x86 with Sun as

* config/generic/asmcfi.h: Fix comment.
* config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
sequence without .hidden support, error for non-ELF targets.
(GTM_longjmp) [__ELF__]: Only use .hidden if
HAVE_ATTRIBUTE_VISIBILITY.

From-SVN: r181481

12 years agore PR libstdc++/51209 (The template _M_find_node in hashtable.h has a bad return...
Harti Brandt [Fri, 18 Nov 2011 16:09:29 +0000 (16:09 +0000)]
re PR libstdc++/51209 (The template _M_find_node in hashtable.h has a bad return value)

2011-11-18  Harti Brandt  <hartmut.brandt@dlr.de>

PR libstdc++/51209
* include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return
nullptr when no node is found.
* include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return
zero when no node is found.

From-SVN: r181480

12 years agore PR c++/51150 ([C++11][4.6/4.7 Regression] ICE when result of -> initializes const...
Paolo Carlini [Fri, 18 Nov 2011 15:31:38 +0000 (15:31 +0000)]
re PR c++/51150 ([C++11][4.6/4.7 Regression] ICE when result of -> initializes const variable of different type)

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

PR c++/51150
* pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.

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

PR c++/51150
* g++.dg/cpp0x/pr51150.C: New.

From-SVN: r181478

12 years agore PR tree-optimization/50605 (ice in ipa_get_jf_pass_through_result with -O3)
Martin Jambor [Fri, 18 Nov 2011 15:13:54 +0000 (16:13 +0100)]
re PR tree-optimization/50605 (ice in ipa_get_jf_pass_through_result with -O3)

2011-11-18  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/50605
* gimple.c (is_gimple_ip_invariant_address): Also handle MEM_REFs
of IPA invariant decls.

* testsuite/g++.dg/ipa/pr50605.C: New test.

From-SVN: r181477

12 years agotree-outof-ssa.c (insert_back_edge_copies): Add call to mark_dfs_back_edges.
Bill Schmidt [Fri, 18 Nov 2011 14:15:38 +0000 (14:15 +0000)]
tree-outof-ssa.c (insert_back_edge_copies): Add call to mark_dfs_back_edges.

2011-11-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* tree-outof-ssa.c (insert_back_edge_copies):  Add call to
mark_dfs_back_edges.

From-SVN: r181476

12 years agoPR c++/51191 - ICE on alias of alias template instantiation
Dodji Seketeli [Fri, 18 Nov 2011 14:07:41 +0000 (14:07 +0000)]
PR c++/51191 - ICE on alias of alias template instantiation

gcc/cp/

PR c++/51191
* pt.c (primary_template_instantiation_p): Don't forget to
consider alias declarations.

gcc/testsuite/

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

From-SVN: r181475

12 years agore PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
Iain Sandoe [Fri, 18 Nov 2011 13:19:25 +0000 (13:19 +0000)]
re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)

gcc/ada:

PR target/50678
* init.c (__gnat_error_handler) [Darwin]: Move work-around to the
bug filed as radar #10302855 from __gnat_error_handler ...
... to (__gnat_adjust_context_for_raise) [Darwin]: New.
(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
(__gnat_error_handler) [Darwin]: Use __gnat_adjust_context_for_raise.

From-SVN: r181474

12 years agohash-long-double-aux.cc: Rename to...
Paolo Carlini [Fri, 18 Nov 2011 12:37:06 +0000 (12:37 +0000)]
hash-long-double-aux.cc: Rename to...

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

* src/hash-long-double-aux.cc: Rename to...
* src/hash-long-double-tr1-aux.cc: ... this.
* src/compatibility-ldbl.cc: Adjust.
* src/hash_tr1.cc: Likewise.
* src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
* include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
for integer types, hash<float>::operator(), hash<double>::operator(),
hash<long double>::operator()): Declare noexcept.
* include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
* include/debug/vector (hash<__debug::vector>::operator()): Likewise.
* include/std/system_error (hash<error_code>::operator()): Likewise.
* include/std/thread (hash<thread::id>::operator()): Likewise.
* include/std/bitset (hash<bitset>::operator()): Likewise.
* include/std/typeindex (hash<type_index>::operator()): Likewise.
* include/profile/bitset (hash<__profile::vector>::operator()):
Likewise.
* include/profile/vector (hash<__profile::vector>::operator()):
Likewise.
* include/ext/vstring.h (hash<__vstring>::operator(),
hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
hash<__u32vstring>::operator()): Likewise.
* include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
* include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
Likewise.
* include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
* include/bits/basic_string.h (hash<string>::operator(),
hash<wstring>::operator(), hash<u16string>::operator(),
hash<u32string>::operator()): Likewise.
* include/bits/vector.tcc (hash<vector>::operator()): Likewise.
* include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
* libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
throw().

From-SVN: r181473

12 years agore PR target/49992 (lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11)
Tristan Gingold [Fri, 18 Nov 2011 10:54:21 +0000 (10:54 +0000)]
re PR target/49992 (lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11)

gcc/ada:

2011-11-18  Tristan Gingold  <gingold@adacore.com>
    Iain Sandoe  <iains@gcc.gnu.org>

PR target/49992
* mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
* gcc-interface/Makefile.in (darwin): Remove ranlib special-casing
for Darwin.

Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>
From-SVN: r181470

12 years agore PR target/49992 (lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11)
Iain Sandoe [Fri, 18 Nov 2011 10:52:32 +0000 (10:52 +0000)]
re PR target/49992 (lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11)

toplevel:

PR target/49992
* configure.ac: Remove ranlib special-casing for Darwin.
* configure: Regenerate.

gcc:

PR target/49992
* configure.ac: Remove ranlib special-casing for Darwin.
* configure: Regenerate.

From-SVN: r181469

12 years agore PR tree-optimization/51118 (ICE: tree check: expected tree that contains ‘typed...
Uros Bizjak [Fri, 18 Nov 2011 09:54:02 +0000 (10:54 +0100)]
re PR tree-optimization/51118 (ICE: tree check: expected tree that contains ‘typed’ structure, have ‘block’ in fold_checksum_tree, at fold-const.c:14160)

PR tree-optimization/51118
* fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
before using TREE_TYPE accessor on expr.

From-SVN: r181468

12 years ago* MAINTAINERS (Write After Approval): Add myself.
Jiangning Liu [Fri, 18 Nov 2011 07:44:19 +0000 (07:44 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r181467

12 years agore PR target/51134 (x86 memset/memcpy expansion is broken)
Jan Hubicka [Fri, 18 Nov 2011 02:18:28 +0000 (03:18 +0100)]
re PR target/51134 (x86 memset/memcpy expansion is broken)

PR bootstrap/51134
* i386.c (atom_cost): Fix 32bit memset description.
(expand_set_or_movmem_via_loop_with_iter): Output proper bounds check for epilogue loops.
(expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing byte loop.
(decide_alg): sse_loop is not useable wthen SSE2 is disabled; when not optimizing always
use rep movsb or lincall; do not produce word sized loops when optimizing memset for
size (to avoid need for large constants).
(ix86_expand_movmem): Get into sync with ix86_expand_setmem; choose unroll factors
better; always do 128bit moves when producing SSE loops; do not produce loopy epilogue
when size is too small.
(promote_duplicated_reg_to_size): Do not look into desired alignments when
doing vector expansion.
(ix86_expand_setmem): Track better when promoted value is available; choose unroll factors
more sanely.; output loopy epilogue only when needed.

From-SVN: r181466

12 years agore PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing...
Richard Henderson [Fri, 18 Nov 2011 01:38:48 +0000 (17:38 -0800)]
re PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing many test suite failures on m68k-linux)

PR libstdc++/51181
        * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use
        of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4.

From-SVN: r181465

12 years agoDaily bump.
GCC Administrator [Fri, 18 Nov 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181464

12 years agotypesizes.cc: Do not run on darwin.
Jonathan Wakely [Fri, 18 Nov 2011 00:15:55 +0000 (00:15 +0000)]
typesizes.cc: Do not run on darwin.

* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
on darwin.

From-SVN: r181460

12 years agoMerge branch 'rth/atomic/ppc'
Richard Henderson [Thu, 17 Nov 2011 22:12:31 +0000 (14:12 -0800)]
Merge branch 'rth/atomic/ppc'

From-SVN: r181459

12 years agoRemove accidentally committed duplicate ChangeLog entry.
Jonathan Wakely [Thu, 17 Nov 2011 22:10:09 +0000 (22:10 +0000)]
Remove accidentally committed duplicate ChangeLog entry.

From-SVN: r181458

12 years agore PR middle-end/51144 (r181279 possibly miscompilation of genmddeps)
Steve Ellcey [Thu, 17 Nov 2011 21:22:11 +0000 (21:22 +0000)]
re PR middle-end/51144 (r181279 possibly miscompilation of genmddeps)

2011-11-17  Steve Ellcey  <sje@cup.hp.com>

PR middle-end/51144
* output.h (fprint_w): Remove.
* final.c (fprint_w): Remove.
(output_addr_const): Change fprint_w back to fprintf.

From-SVN: r181457

12 years agohost-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.
Andrew Pinski [Thu, 17 Nov 2011 21:01:08 +0000 (21:01 +0000)]
host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.

2011-11-17  Andrew Pinski  <apinski@cavium.com>

* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.

From-SVN: r181456

12 years agore PR c++/51186 (declaring main() with auto but without --std=c++11 gives inconsisten...
Jason Merrill [Thu, 17 Nov 2011 21:00:30 +0000 (16:00 -0500)]
re PR c++/51186 (declaring main() with auto but without --std=c++11 gives inconsistent error messages)

PR c++/51186
* decl.c (grokdeclarator): Improve C++98 trailing return diagnostic.

From-SVN: r181455

12 years ago* lib/gcc-simulate-thread.exp (simulate-thread): Improve error message.
Uros Bizjak [Thu, 17 Nov 2011 21:00:16 +0000 (22:00 +0100)]
* lib/gcc-simulate-thread.exp (simulate-thread): Improve error message.

From-SVN: r181454

12 years agobuiltins.c (expand_builtin): Remove 4th parameter representing weak/strong mode when...
Andrew MacLeod [Thu, 17 Nov 2011 20:51:51 +0000 (20:51 +0000)]
builtins.c (expand_builtin): Remove 4th parameter representing weak/strong mode when...

2011-11-17  Andrew MacLeod  <amacleod@redhat.com>

* builtins.c (expand_builtin): Remove 4th parameter representing
weak/strong mode when __atomic_compare_exchange becomes a library call.

* gcc.dg/atomic-generic-aux.c (__atomic_compare_exchange): Fail if
memory model parameters don't match expected values.
* gcc.dg/atomic-generic.c: Pass specific memory model parameters to
__atomic_compare_exchange.
* gcc.dg/atomic-noinline.c: Pass specific memory model parameters to
__atomic_compare_exchange_n.
* gcc.dg/atomic-noinline-aux.c (__atomic_compare_exchange_2): Remove
weak/strong parameter and fail if memory models aren't correct.

From-SVN: r181453

12 years agogcc-simulate-thread.exp (simulate-thread): Run on all targets.
Uros Bizjak [Thu, 17 Nov 2011 19:56:39 +0000 (20:56 +0100)]
gcc-simulate-thread.exp (simulate-thread): Run on all targets.

* lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
Look for simulate_thread_done to determine working gdb.  Reduce timeout
to 10 seconds and fail when timeout occurs.  Improve error messages.

From-SVN: r181452

12 years agoUnify implementations of __builtin_mem_*_fence and __sync_synchronize.
Richard Henderson [Thu, 17 Nov 2011 19:29:04 +0000 (11:29 -0800)]
Unify implementations of __builtin_mem_*_fence and __sync_synchronize.

* builtins.c (expand_builtin_mem_thread_fence): Remove.
(expand_builtin_mem_signal_fence): Remove.
(expand_builtin_atomic_thread_fence): Use expand_mem_thread_fence.
(expand_builtin_sync_synchronize): Likewise.
(expand_builtin_atomic_signal_fence): Use expand_mem_signal_fence.
* optabs.c (expand_asm_memory_barrier): Split out from
expand_builtin_mem_signal_fence.
(expand_mem_thread_fence): New, a combination of code from
expand_builtin_mem_thread_fence and expand_builtin_sync_synchronize.
(expand_mem_signal_fence): Moved and renamed from
expand_builtin_mem_signal_fence.
(expand_atomic_exchange): Use expand_mem_thread_fence.
(expand_atomic_load, expand_atomic_store): Likewise.
* expr.h, optabs.h: Update decls.

From-SVN: r181451

12 years agore PR rtl-optimization/50663 (conditional propagation missed in cprop.c pass)
Bin Cheng [Thu, 17 Nov 2011 17:11:16 +0000 (17:11 +0000)]
re PR rtl-optimization/50663 (conditional propagation missed in cprop.c pass)

PR rtl-optimization/50663
* cprop.c (implicit_set_indexes): New global variable.
(insert_set_in_table): Add additional parameter and record implicit
set information.
(hash_scan_set): Add additional parameter and pass it to above.
(hash_scan_insn): Pass false to hash_scan_set.
(compute_hash_table_work): Pass true to hash_scan_set.
(compute_cprop_data): Add implicit set to AVIN of block which the
implicit set is recorded for.
(one_cprop_pass): Handle implicit_set_indexes array.

From-SVN: r181446

12 years agoclass.c (add_implicitly_declared_members): Update move conditions.
Jason Merrill [Thu, 17 Nov 2011 16:35:11 +0000 (11:35 -0500)]
class.c (add_implicitly_declared_members): Update move conditions.

N3203
* class.c (add_implicitly_declared_members): Update move
conditions.

From-SVN: r181445

12 years agore PR c++/51137 ([C++0x] [4.7 Regression] ICE with -std=c++0x and virtual inheritance)
Jason Merrill [Thu, 17 Nov 2011 16:34:59 +0000 (11:34 -0500)]
re PR c++/51137 ([C++0x] [4.7 Regression] ICE with -std=c++0x and virtual inheritance)

PR c++/51137
* class.c (build_base_path): Don't do calculation in templates.

From-SVN: r181444

12 years agore PR tree-optimization/50644 (ICE in set_is_used added today)
Michael Matz [Thu, 17 Nov 2011 16:03:56 +0000 (16:03 +0000)]
re PR tree-optimization/50644 (ICE in set_is_used added today)

PR middle-end/50644
PR middle-end/50741

* tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of
current function.
(remove_unused_locals): Ditto.

testsuite/

* g++.dg/tree-ssa/pr50741.C: New.

From-SVN: r181443

12 years agoProvide all dummy functions in alloc_cpp.cc, eh_cpp.cc
Rainer Orth [Thu, 17 Nov 2011 11:34:33 +0000 (11:34 +0000)]
Provide all dummy functions in alloc_cpp.cc, eh_cpp.cc

* alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
_ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
Dummy functions.
* eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
__cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.

From-SVN: r181442

12 years agoSkip simulate-thread tests on all alpha targets
Rainer Orth [Thu, 17 Nov 2011 11:25:10 +0000 (11:25 +0000)]
Skip simulate-thread tests on all alpha targets

* lib/gcc-simulate-thread.exp (simulate-thread): Skip on
alpha*-*-*.

From-SVN: r181441

12 years agostatus_cxx2011.xml: Status of piecewise construction and ios_base::failure.
Jonathan Wakely [Thu, 17 Nov 2011 10:14:11 +0000 (10:14 +0000)]
status_cxx2011.xml: Status of piecewise construction and ios_base::failure.

* doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
and ios_base::failure.
* doc/xml/manual/backwards_compatibility.xml: List headers in
alphabetical order.

From-SVN: r181438

12 years agoCopy ALIAS_SET_MEMORY_BARRIER when creating a new MEM for atomic ops.
Richard Henderson [Thu, 17 Nov 2011 04:44:27 +0000 (20:44 -0800)]
Copy ALIAS_SET_MEMORY_BARRIER when creating a new MEM for atomic ops.

* config/alpha/alpha.c (alpha_split_compare_and_swap_12): Copy
ALIAS_SET_MEMORY_BARRIER when creating a new memory.
(alpha_split_atomic_exchange_12): Likewise.
* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Likewise.

From-SVN: r181436

12 years agoinclhack.def (aix_once_init_[12]): New fixes.
David Edelsohn [Thu, 17 Nov 2011 02:28:07 +0000 (02:28 +0000)]
inclhack.def (aix_once_init_[12]): New fixes.

        * inclhack.def (aix_once_init_[12]): New fixes.
        * fixincl.x: Regenerate.
        * tests/base/pthread.h: Update.

From-SVN: r181434

12 years agoDaily bump.
GCC Administrator [Thu, 17 Nov 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181431

12 years agomemopt-6.c: Cleanup tmedge tree dump.
Uros Bizjak [Wed, 16 Nov 2011 23:09:17 +0000 (00:09 +0100)]
memopt-6.c: Cleanup tmedge tree dump.

* gcc.dg/tm/memopt-6.c: Cleanup tmedge tree dump.
* gcc.dg/tm/memopt-13.c: Cleanup tmmark tree dump.
* g++.dg/eh/array1.C: Cleanup gimple tree dump.

From-SVN: r181426

12 years agore PR fortran/39427 (F2003: Procedures with same name as types/type constructors)
Tobias Burnus [Wed, 16 Nov 2011 21:37:43 +0000 (22:37 +0100)]
re PR fortran/39427 (F2003: Procedures with same name as types/type constructors)

gcc/fortran
2011-11-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39427
        PR fortran/37829
        * decl.c (match_data_constant, match_data_constant,
        * variable_decl,
        gfc_match_decl_type_spec, access_attr_decl,
        check_extended_derived_type, gfc_match_derived_decl,
        gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
        with DT constructors.
        * gfortran.h (gfc_find_dt_in_generic,
        gfc_convert_to_structure_constructor): New function prototypes.
        * interface.c (check_interface0, check_interface1,
        gfc_search_interface): Ignore DT constructors in generic list.
        * match.h (gfc_match_structure_constructor): Update prototype.
        * match.c (match_derived_type_spec): Ensure that one uses the DT
        not the generic function.
        * module.c (MOD_VERSION): Bump.
        (dt_lower_string, dt_upper_string): New functions.
        (find_use_name_n, find_use_operator, compare_true_names,
        find_true_name, add_true_name, fix_mio_expr, load_needed,
        read_module, write_dt_extensions, write_symbol): Changes to deal with
        different symtree vs. sym names.
        (create_derived_type): Create also generic procedure.
        * parse.c (gfc_fixup_sibling_symbols): Don't regard DT and
        * generic
        function as the same.
        * primary.c (gfc_convert_to_structure_constructor): New
        * function.
        (gfc_match_structure_constructor): Restructured; calls
        gfc_convert_to_structure_constructor.
        (build_actual_constructor, gfc_match_rvalue): Update for DT generic
        functions.
        * resolve.c (resolve_formal_arglist, resolve_structure_cons,
        is_illegal_recursion, resolve_generic_f, resolve_variable,
        resolve_fl_variable_derived, resolve_fl_derived0,
        resolve_symbol): Handle DT and DT generic constructors.
        * symbol.c (gfc_use_derived, gfc_undo_symbols,
        gen_special_c_interop_ptr, gen_cptr_param,
        generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
        derived-types, which are hidden in the generic type.
        (gfc_find_dt_in_generic): New function
        * trans-array.c (gfc_conv_array_initializer): Replace
        * FL_PARAMETER
        expr by actual value.
        * trans-decl.c (gfc_get_module_backend_decl,
        * gfc_trans_use_stmts):
        Ensure that we use the DT and not the generic function.
        * trans-types.c (gfc_get_derived_type): Ensure that we use the
        * DT
        and not the generic procedure.

gcc/testsuite/
2011-11-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39427
        PR fortran/37829
        * gfortran.dg/constructor_1.f90: New.
        * gfortran.dg/constructor_2.f90: New.
        * gfortran.dg/constructor_3.f90: New.
        * gfortran.dg/constructor_4.f90: New.
        * gfortran.dg/constructor_5.f90: New.
        * gfortran.dg/constructor_6.f90: New.
        * gfortran.dg/use_only_5.f90: New.
        * gfortran.dg/c_ptr_tests_17.f90: New.
        * gfortran.dg/c_ptr_tests_18.f90: New.
        * gfortran.dg/used_types_25.f90: New.
        * gfortran.dg/used_types_26.f90: New
        * gfortran.dg/type_decl_3.f90: New.
        * gfortran.dg/function_types_3.f90: Update dg-error.
        * gfortran.dg/result_1.f90: Ditto.
        * gfortran.dg/structure_constructor_3.f03: Ditto.
        * gfortran.dg/structure_constructor_4.f03: Ditto.

From-SVN: r181425

12 years ago* config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
Joseph Myers [Wed, 16 Nov 2011 20:35:27 +0000 (20:35 +0000)]
* config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.

From-SVN: r181423

12 years agors6000.c (rs6000_xcoff_section_type_flags): Default to minimum alignment if decl...
David Edelsohn [Wed, 16 Nov 2011 18:33:52 +0000 (18:33 +0000)]
rs6000.c (rs6000_xcoff_section_type_flags): Default to minimum alignment if decl is NULL.

        * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
        Default to minimum alignment if decl is NULL.

From-SVN: r181422

12 years agosse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode sequence for AVX.
Uros Bizjak [Wed, 16 Nov 2011 18:28:08 +0000 (19:28 +0100)]
sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode sequence for AVX.

* config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
sequence for AVX.
(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.

From-SVN: r181421

12 years agopr30858.c: Update expected output for architectures with multiple vector sizes.
Matthew Gretton-Dann [Wed, 16 Nov 2011 18:19:37 +0000 (18:19 +0000)]
pr30858.c: Update expected output for architectures with multiple vector sizes.

2011-10-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* gcc.dg/vect/pr30858.c: Update expected output for
architectures with multiple vector sizes.

From-SVN: r181420

12 years agolib1funcs.asm (udivsi3): Add support for divide functions.
Matthew Gretton-Dann [Wed, 16 Nov 2011 18:02:12 +0000 (18:02 +0000)]
lib1funcs.asm (udivsi3): Add support for divide functions.

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

* config/arm/lib1funcs.asm (udivsi3): Add support for divide
functions.
(aeabi_uidivmod): Likewise.
(umodsi3): Likewise.
(divsi3): Likewise.
(aeabi_idivmod): Likewise.
(modsi3): Likewise.

From-SVN: r181419

12 years ago* doc/invoke.texi: Document AMD bdver1 and btver1.
Venkataramanan Kumar [Wed, 16 Nov 2011 17:31:38 +0000 (17:31 +0000)]
* doc/invoke.texi: Document AMD bdver1 and btver1.

From-SVN: r181417

12 years agore PR target/49641 (Wrong code for ARMv4T and stmia)
Richard Earnshaw [Wed, 16 Nov 2011 17:02:44 +0000 (17:02 +0000)]
re PR target/49641 (Wrong code for ARMv4T and stmia)

2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
    Bernd Schmidt <bernds@coudesourcery.com>
    Sebastian Huber <sebastian.huber@embedded-brains.de>

PR target/49641
* config/arm/arm.c (store_multiple_sequence): Avoid cases where
the base reg is stored iff compiling for Thumb1.

* gcc.target/arm/pr49641.c: New test.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Sebastian Huber <sebastian.huber@embedded-brains.de>
From-SVN: r181416

12 years agore PR libstdc++/51102 (missing macros in <atomic>)
Andrew MacLeod [Wed, 16 Nov 2011 15:43:15 +0000 (15:43 +0000)]
re PR libstdc++/51102 (missing macros in <atomic>)

2011-11-16  Andrew MacLeod  <amacleod@redhat.com>

PR libstdc++/51102
* include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.

From-SVN: r181414

12 years agore PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self...
Razya Ladelsky [Wed, 16 Nov 2011 15:01:47 +0000 (15:01 +0000)]
re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)

PR tree-optimization/49960

* tree-data-ref.c (initialize_data_dependence_relation): Add initializations.
Remove call to compute_self_dependence.
(compute_affine_dependence): Remove the !DDR_SELF_REFERENCE condition.
(compute_self_dependence): Remove old code. Add call to compute_affine_dependence.
(compute_all_dependences): Remove call to compute_self_dependence.
Add call to compute_affine_dependence.

From-SVN: r181411

12 years agore PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self...
Razya Ladelsky [Wed, 16 Nov 2011 14:59:14 +0000 (14:59 +0000)]
re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)

PR tree-optimization/49960

* gcc.dg/autopar/pr49960.c: New test.
* gcc.dg/autopar/pr49960-1.c: New test.

From-SVN: r181410

12 years agore PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self...
Razya Ladelsky [Wed, 16 Nov 2011 14:58:04 +0000 (14:58 +0000)]
re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)

PR tree-optimization/49960

* gcc.dg/autopar/pr49960.c: New test.
* gcc.dg/autopar/pr49960-1.c: New test.

From-SVN: r181409

12 years agore PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to 181267)
Uros Bizjak [Wed, 16 Nov 2011 14:51:13 +0000 (15:51 +0100)]
re PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to 181267)

PR bootstrap/51098
* acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
* configure: Regenerate.

From-SVN: r181408

12 years ago2011-11-16 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Wed, 16 Nov 2011 10:23:59 +0000 (10:23 +0000)]
2011-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix name in ChangeLog entry.

From-SVN: r181407

12 years agore PR middle-end/50325 (76 new fails with rev. 177691)
Andreas Krebbel [Wed, 16 Nov 2011 09:27:56 +0000 (09:27 +0000)]
re PR middle-end/50325 (76 new fails with rev. 177691)

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.

From-SVN: r181405

12 years agoqrnnd.S: Use specific pseudos for VMS.
Tristan Gingold [Wed, 16 Nov 2011 08:36:46 +0000 (08:36 +0000)]
qrnnd.S: Use specific pseudos for VMS.

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

* config/alpha/qrnnd.S: Use specific pseudos for VMS.

From-SVN: r181403

12 years agoi386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT.
Joseph Myers [Wed, 16 Nov 2011 00:21:56 +0000 (00:21 +0000)]
i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT.

* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
ELF_STRING_LIMIT.

From-SVN: r181400

12 years agoDaily bump.
GCC Administrator [Wed, 16 Nov 2011 00:18:50 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181399

12 years agoalpha: Convert to atomic optabs.
Richard Henderson [Tue, 15 Nov 2011 23:43:08 +0000 (15:43 -0800)]
alpha: Convert to atomic optabs.

From-SVN: r181395

12 years agore PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.)
Paolo Carlini [Tue, 15 Nov 2011 23:28:49 +0000 (23:28 +0000)]
re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.)

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

PR libstdc++/51142
* include/debug/unordered_map (unordered_map<>::erase(iterator),
unordered_multimap<>::erase(iterator)): Add, consistently with
LWG 2059.
* include/debug/unordered_set (unordered_set<>::erase(iterator),
unordered_multiset<>::erase(iterator)): Likewise.
* include/debug/map.h (map<>::erase(iterator)): Likewise.
* include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
* include/profile/map.h (map<>::erase(iterator)): Likewise.
* include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
* include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
* include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
* include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
* testsuite/23_containers/unordered_map/erase/51142.cc: New.
* testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
* testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
* testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
* testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.

From-SVN: r181394

12 years agopr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
Tom de Vries [Tue, 15 Nov 2011 23:04:46 +0000 (23:04 +0000)]
pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.

2011-11-16  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
* gcc.dg/pr43864-2.c: Same.
* gcc.dg/pr43864-3.c: Same.
* gcc.dg/pr43864-4.c: Same.

From-SVN: r181393