Georg-Johann Lay [Mon, 2 Jan 2012 12:51:57 +0000 (12:51 +0000)]
re PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))
contrib/
PR target/51345
* gcc_update (files_and_dependencies): Add
gcc/config/avr/t-multilib, gcc/config/avr/multilib.h.
libgcc/
PR target/51345
* config/avr/lib1funcs.S: Remove FIXME comments.
(SPEED_DIV): Depend on __AVR_HAVE_8BIT_SP__.
gcc/
PR target/51345
* config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
(tmake_file target=avr): Add avr/t-multilib.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
* config/avr/genmultilib.awk: New file.
* config/avr/t-multilib: New auto-generated file.
* config/avr/multilib.h: New auto-generated file.
* config/avr/t-avr (AVR_MCUS): New variable.
(genopt.sh): Use it.
(s-mlib): Depend on t-multilib.
(t-multilib, multilib.h): New dependencies.
(s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
(MULTILIB_OPTIONS): Remove.
(MULTILIB_MATCHES): Remove.
(MULTILIB_DIRNAMES): Remove.
(MULTILIB_EXCEPTIONS): Remove:
* config/avr/genopt.sh: Don't use hard coded file name;
pass AVR_MCUS from t-avr instead.
From-SVN: r182797
Paul Thomas [Mon, 2 Jan 2012 12:46:08 +0000 (12:46 +0000)]
re PR fortran/51529 ([OOP] gfortran.dg/class_to_type_1.f03 is miscompiled: Uninitialized variable used)
2012-01-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/51529
* trans-array.c (gfc_array_allocate): Null allocated memory of
newly allocted class arrays.
PR fortran/46262
PR fortran/46328
PR fortran/51052
* interface.c(build_compcall_for_operator): Add a type to the
expression.
* trans-expr.c (conv_base_obj_fcn_val): New function.
(gfc_conv_procedure_call): Use base_expr to detect non-variable
base objects and, ensuring that there is a temporary variable,
build up the typebound call using conv_base_obj_fcn_val.
(gfc_trans_class_assign): Pick out class procedure pointer
assignments and do the assignment with no further prcessing.
(gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
gfc_trans_class_assign): Move to top of file.
* gfortran.h : Add 'base_expr' field to gfc_expr.
* resolve.c (get_declared_from_expr): Add 'types' argument to
switch checking of derived types on or off.
(resolve_typebound_generic_call): Set the new argument.
(resolve_typebound_function, resolve_typebound_subroutine):
Set 'types' argument for get_declared_from_expr appropriately.
Identify base expression, if not a variable, in the argument
list of class valued calls. Assign it to the 'base_expr' field
of the final expression. Strip away all references after the
last class reference.
2012-01-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/46262
PR fortran/46328
PR fortran/51052
* gfortran.dg/typebound_operator_7.f03: New.
* gfortran.dg/typebound_operator_8.f03: New.
From-SVN: r182796
Georg-Johann Lay [Mon, 2 Jan 2012 12:33:44 +0000 (12:33 +0000)]
avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
* config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
From-SVN: r182795
Georg-Johann Lay [Mon, 2 Jan 2012 12:30:56 +0000 (12:30 +0000)]
Implement light-weight DImode support.
gcc/
Implement light-weight DImode support.
* config/avr/avr-dimode.md: New file.
* config/avr/avr.md: Include it.
(adjust_len): Add plus64, compare64.
(HIDI): Remove code iterator.
(code_stdname): New code attribute.
(rotx, rotsmode): Remove DI.
(rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
as code iterator.
* config/avr/avr-protos.h (avr_have_dimode): New.
(avr_out_plus64, avr_out_compare64): New.
* config/avr/avr.c (avr_out_compare): Handle DImode.
(avr_have_dimode): New variable definition and initialization.
(avr_out_compare64, avr_out_plus64): New functions.
(avr_out_plus_1): Use simplify_unary_operation to negate xval.
(adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
(avr_compare_pattern): Skip DImode comparisons.
libgcc/
Implement light-weight DImode support.
* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.
From-SVN: r182794
Richard Sandiford [Mon, 2 Jan 2012 11:33:35 +0000 (11:33 +0000)]
re PR target/51729 (dspr2-MULT.c and dspr2-MULTU.c fail for MIPS)
gcc/testsuite/
PR target/51729
* gcc.target/mips/dspr2-MULT.c: Remove -ffixed-hi -ffixed-lo.
XFAIL.
* gcc.target/mips/dspr2-MULTU.c: Likewise.
From-SVN: r182793
Richard Sandiford [Mon, 2 Jan 2012 11:11:45 +0000 (11:11 +0000)]
pr46309.c: Add -mtune=octeon2 for MIPS.
gcc/testsuite/
* gcc.dg/pr46309.c: Add -mtune=octeon2 for MIPS.
From-SVN: r182792
Richard Sandiford [Mon, 2 Jan 2012 11:03:43 +0000 (11:03 +0000)]
constexpr-rom.C: Look for .rdata rather than rodata for MIPS.
gcc/testsuite/
* g++.dg/cpp0x/constexpr-rom.C: Look for .rdata rather than rodata
for MIPS.
From-SVN: r182791
Richard Sandiford [Mon, 2 Jan 2012 11:00:30 +0000 (11:00 +0000)]
io_real_boz_3.f90: Require fortran_real_16.
gcc/testsuite/
* gfortran.dg/io_real_boz_3.f90: Require fortran_real_16.
* gfortran.dg/io_real_boz_4.f90: Likewise.
* gfortran.dg/io_real_boz_5.f90: Likewise.
From-SVN: r182789
Richard Guenther [Mon, 2 Jan 2012 10:59:04 +0000 (10:59 +0000)]
re PR bootstrap/51686 ("make install-strip-gcc" didn't install liblto-plugin* files)
2012-01-02 Richard Guenther <rguenther@suse.de>
PR bootstrap/51686
* Makefile.def (install-strip-gcc): Depend on install-strip-lto-plugin.
* Makefile.in: Regenerate.
From-SVN: r182788
Richard Sandiford [Mon, 2 Jan 2012 10:57:23 +0000 (10:57 +0000)]
devirt2.C: Add -mno-abicalls for MIPS.
gcc/testsuite/
* g++.dg/opt/devirt2.C: Add -mno-abicalls for MIPS.
From-SVN: r182787
Revital Eres [Mon, 2 Jan 2012 10:54:00 +0000 (10:54 +0000)]
SMS: Prevent the creation of reg-moves for definitions with MODE_CC
From-SVN: r182786
Richard Guenther [Mon, 2 Jan 2012 10:46:01 +0000 (10:46 +0000)]
re PR other/51679 (spurious parenthesis for -fassociative-math in manual and man page)
2012-01-02 Richard Guenther <rguenther@suse.de>
PR other/51679
* invoke.texi (fassociative-math): Remove spurious paranthesis.
From-SVN: r182785
Eric Botcazou [Mon, 2 Jan 2012 10:30:54 +0000 (10:30 +0000)]
* gnatvsn.ads (Current_Year): Bump to 2012.
From-SVN: r182783
Tobias Burnus [Mon, 2 Jan 2012 09:54:37 +0000 (10:54 +0100)]
re PR fortran/51682 (Coarray ICEs when compiling with -fdefault-integer-8)
2012-01-02 Tobias Burnus <burnus@net-b.de>
PR fortran/51682
* trans-intrinsic.c (trans_this_image, trans_image_index,
trans_num_images, conv_intrinsic_cobound): Fold_convert the
caf_num_images/caf_this_images variables to the correct int kind.
2012-01-02 Tobias Burnus <burnus@net-b.de>
PR fortran/51682
* gfortran.dg/coarray/image_index_3.f90: New.
From-SVN: r182781
GCC Administrator [Mon, 2 Jan 2012 00:18:49 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182780
Paolo Carlini [Sun, 1 Jan 2012 22:33:31 +0000 (22:33 +0000)]
re PR c++/16603 (Incorrect enumerator type before enumeration's closing brace)
/cp
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/16603
* decl.c (build_enumerator): Don't call perform_integral_promotions
on the value.
/testsuite
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/16603
* g++.dg/parse/enum8.C: New.
From-SVN: r182776
Paolo Carlini [Sun, 1 Jan 2012 20:21:36 +0000 (20:21 +0000)]
re PR c++/51379 ([C++0x] [DR 799] reinterpret_cast is not particularly useful)
/cp
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51379
* typeck.c (build_reinterpret_cast_1): Implement resolution of
DR 799.
/testsuite
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51379
* g++.dg/conversion/reinterpret4.C: New.
* g++.dg/conversion/reinterpret1.C: Adjust.
From-SVN: r182775
Paolo Carlini [Sun, 1 Jan 2012 20:02:02 +0000 (20:02 +0000)]
constexpr-delegating2.C: Add missing piece.
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-delegating2.C: Add missing piece.
From-SVN: r182774
Jakub Jelinek [Sun, 1 Jan 2012 19:09:46 +0000 (20:09 +0100)]
gcc.c (process_command): Update copyright notice dates.
gcc/
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
gcc/java/
* jcf-dump.c (version): Update copyright notice dates.
libmudflap/
* mf-runtime.c (__mf_usage): Update copyright notice dates.
libjava/
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
libjava/classpath/
* gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
From-SVN: r182773
Fabien Chêne [Sun, 1 Jan 2012 17:26:23 +0000 (18:26 +0100)]
crash25.C: Adjust.
gcc/testsuite/ChangeLog
2011-12-31 Fabien Chene <fabien@gcc.gnu.org>
* g++.old-deja/g++.brendan/crash25.C: Adjust.
* g++.old-deja/g++.brendan/crash56.C: Likewise.
* g++.old-deja/g++.jason/access14.C: Likewise.
* g++.old-deja/g++.jason/access8.C: Likewise.
* g++.old-deja/g++.jason/access1.C: Likewise.
* g++.old-deja/g++.other/access3.C: Likewise.
* g++.old-deja/g++.other/access5.C: Likewise.
* g++.old-deja/g++.law/unsorted1.C: Likewise.
* g++.old-deja/g++.law/visibility22.C: Likewise.
* g++.old-deja/g++.law/visibility26.C: Likewise.
* g++.old-deja/g++.mike/p2746.C: Likewise.
* g++.dg/debug/using1.C: Likewise.
* g++.dg/lookup/using51.C: Likewise.
* g++.dg/inherit/using5.C: Likewise.
* g++.dg/inherit/pr30297.C: Likewise.
* g++.dg/inherit/access8.C: Likewise.
* g++.dg/torture/pr39362.C: Likewise.
* g++.dg/template/crash13.C: Likewise.
* g++.dg/template/using10.C: Likewise.
gcc/cp/ChangeLog
2011-12-31 Fabien Chene <fabien@gcc.gnu.org>
* parser.c (cp_parser_using_declaration): Add a warning about
deprecated access declarations when no errors were encountered
while parsing the access declaration. Save the first token in
order to emit the warning at the right place.
From-SVN: r182772
Thomas Koenig [Sun, 1 Jan 2012 16:27:45 +0000 (16:27 +0000)]
backport: re PR fortran/51502 (Potentially wrong code generation due to wrong implict_pure check)
2012-01-01 Thomas König <tkoenig@gcc.gnu.org>
Backport from trunk
PR fortran/51502
* lib/gcc-dg.exp (scan-module-absence): New function.
* gfortran.dg/implicit_pure_2.f90: New test.
From-SVN: r182771
Ira Rosen [Sun, 1 Jan 2012 13:52:13 +0000 (13:52 +0000)]
re PR tree-optimization/51704 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo_for_stmt at tree-vectorizer.h:620 with -O3 -fno-tree-copy-prop -fno-tree-fre)
PR tree-optimization/51704
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
a use is inside the basic block or loop before accessing its
vect info.
From-SVN: r182769
Paolo Carlini [Sun, 1 Jan 2012 13:31:48 +0000 (13:31 +0000)]
re PR c++/51723 ([C++0x] delegating constructor ICE)
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51723
* g++.dg/cpp0x/constexpr-delegating2.C: New.
From-SVN: r182768
Jan Hubicka [Sun, 1 Jan 2012 12:07:34 +0000 (12:07 +0000)]
re PR rtl-optimization/51069 (ICE in verify_loop_structure, at cfgloop.c:1559)
PR rtl-optimization/51069
* cfgloopmanip.c (remove_path): Removing path making irreducible
region unconditional makes BB part of the region.
* gcc.c-torture/compile/pr51069.c: New testcase.
From-SVN: r182767
GCC Administrator [Sun, 1 Jan 2012 00:18:59 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182765
Jakub Jelinek [Sat, 31 Dec 2011 23:53:57 +0000 (00:53 +0100)]
re PR tree-optimization/51683 (__builtin_memcpy etc. with constant first argument optimized away by ccp)
PR tree-optimization/51683
* tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
calls with side-effects.
* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
* gcc.dg/pr51683.c: New test.
From-SVN: r182761
Alexandre Oliva [Sat, 31 Dec 2011 20:02:48 +0000 (20:02 +0000)]
cselib.h (cselib_add_permanent_equiv): Declare.
* cselib.h (cselib_add_permanent_equiv): Declare.
(canonical_cselib_val): New.
* cselib.c (new_elt_loc_list): Rework to support value
equivalences. Adjust all callers.
(preserve_only_constants): Retain value equivalences.
(references_value_p): Retain preserved values.
(rtx_equal_for_cselib_1): Handle value equivalences.
(cselib_invalidate_regno): Use canonical value.
(cselib_add_permanent_equiv): New.
* alias.c (find_base_term): Reset locs lists while recursing.
* var-tracking.c (val_bind): New. Don't add equivalences
present in cselib table, compared with code moved from...
(val_store): ... here.
(val_resolve): Use val_bind.
(VAL_EXPR_HAS_REVERSE): Drop.
(add_uses): Do not create MOps for addresses. Do not mark
non-REG non-MEM expressions as requiring resolution.
(reverse_op): Record reverse as a cselib equivalence.
(add_stores): Use it. Do not create MOps for addresses.
Do not require resolution for non-REG non-MEM expressions.
Simplify support for reverse operations.
(compute_bb_dataflow): Drop reverse support.
(emit_notes_in_bb): Likewise.
(create_entry_value): Rename to...
(record_entry_value): ... this. Use cselib equivalences.
(vt_add_function_parameter): Adjust.
From-SVN: r182760
Paolo Carlini [Sat, 31 Dec 2011 17:29:30 +0000 (17:29 +0000)]
re PR c++/51397 (static_assert message formatting)
/cp
2011-12-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51397
* semantics.c (finish_static_assert): Use %s instead of %E for
the error message.
/testsuite
2011-12-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51397
* g++.dg/cpp0x/static_assert6.C: New.
From-SVN: r182757
Jonathan Wakely [Sat, 31 Dec 2011 17:04:10 +0000 (17:04 +0000)]
Fix _Locale vs. _Local typos.
From-SVN: r182756
Uros Bizjak [Sat, 31 Dec 2011 15:59:56 +0000 (16:59 +0100)]
vrp47: Pass -march=i586 for ia32 target.
* gcc.dg/tree-ssa/vrp47: Pass -march=i586 for ia32 target.
From-SVN: r182755
Thomas Koenig [Sat, 31 Dec 2011 08:18:52 +0000 (08:18 +0000)]
re PR fortran/51502 (Potentially wrong code generation due to wrong implict_pure check)
2011-12-31 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/51502
* expr.c (gfc_check_vardef_context): When determining
implicit pure status, also check for variable definition
context. Walk up namespaces until a procedure is
found to reset the implict pure attribute.
* resolve.c (gfc_implicit_pure): Walk up namespaces
until a procedure is found.
2011-12-31 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/51502
* lib/gcc-dg.exp (scan-module-absence): New function.
* gfortran.dg/implicit_pure_2.f90: New test.
From-SVN: r182754
GCC Administrator [Sat, 31 Dec 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182751
Michael Meissner [Fri, 30 Dec 2011 23:39:47 +0000 (23:39 +0000)]
Fix thinko in setting target options
From-SVN: r182747
Paolo Carlini [Fri, 30 Dec 2011 21:11:20 +0000 (21:11 +0000)]
re PR c++/51316 (alignof doesn't work with arrays of unknown bound)
/c-family
2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51316
* c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
of array types with an unknown bound.
/testsuite
2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51316
* g++.dg/cpp0x/alignof4.C: New.
From-SVN: r182746
Anatoly Sokolov [Fri, 30 Dec 2011 18:56:49 +0000 (22:56 +0400)]
bfin.h (REGISTER_MOVE_COST, [...]): Remove.
* config/bfin/bfin.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
* config/bfin/bfin-protos.h (bfin_register_move_cost,
bfin_memory_move_cost): Remove.
* config/bfin/bfin.c (bfin_register_move_cost,
bfin_memory_move_cost): Make static. Change arguments type from
enum reg_class to reg_class_t and from int to bool.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
From-SVN: r182745
Nathan Sidwell [Fri, 30 Dec 2011 18:22:16 +0000 (18:22 +0000)]
gcov.c (total_lines, [...]): New global vars.
* gcov.c (total_lines, total_executed): New global vars.
(generate_results): Call executed_summary.
(executed_summary): New function, broken out of ...
(function_summary): ... here. Call it.
* coverage.c (coverage_finish): Also check for local_tick == -1.
* gcov-dump (tag_function): Correct labelling typo.
From-SVN: r182744
Nathan Sidwell [Fri, 30 Dec 2011 18:08:56 +0000 (18:08 +0000)]
libgcov.c (gcov_crc32): Remove global var.
* libgcov.c (gcov_crc32): Remove global var.
(free_fn_data): New function.
(buffer_fn_data): Pass in filename, more robust error recovery.
(crc32_unsigned): New function.
(gcov_exit): More robust detection of new program. More robust
error recovery.
(__gcov_init): Do not update program's crc here.
From-SVN: r182743
Jonathan Wakely [Fri, 30 Dec 2011 13:46:18 +0000 (13:46 +0000)]
extensions.xml: Improve markup and note that some extensions are included in C++11.
* doc/xml/manual/extensions.xml: Improve markup and note that some
extensions are included in C++11.
* doc/xml/manual/concurrency_extensions.xml: Likewise.
From-SVN: r182742
Paolo Carlini [Fri, 30 Dec 2011 11:40:37 +0000 (11:40 +0000)]
re PR libstdc++/51711 (regex.h contains incorrect code)
2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51711
* include/bits/regex.h (regex_replace): Fix thinko.
* testsuite/28_regex/algorithms/regex_replace/char/51711.cc: New.
* testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc:
Likewise.
From-SVN: r182740
GCC Administrator [Fri, 30 Dec 2011 00:19:02 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r182738
Paolo Carlini [Thu, 29 Dec 2011 22:04:16 +0000 (22:04 +0000)]
hashtable_policy.h (struct _Ebo_helper<>): Don't use _N, badname on Solaris; minor stylistic changes.
2011-12-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable_policy.h (struct _Ebo_helper<>): Don't use
_N, badname on Solaris; minor stylistic changes.
From-SVN: r182734
Michael Meissner [Thu, 29 Dec 2011 21:13:10 +0000 (21:13 +0000)]
Update PR 51623, to eliminate checks against being in the text section.
From-SVN: r182731
Michael Meissner [Thu, 29 Dec 2011 18:30:53 +0000 (18:30 +0000)]
Fix 50988 testsuite failures
From-SVN: r182728
François Dumont [Thu, 29 Dec 2011 17:58:51 +0000 (17:58 +0000)]
re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time)
2011-12-29 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/51608
* include/bits/hashtable_policy.h (_Equal_helper<>): New, change the
way the _Equal functor is used depending on whether hash code is
cached or not.
(_Ebo_helper<>): New helper type to introduce EBO when possible.
(_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move
_Equal functor management...
(_Hashtable_base): ...here, new, use _Equal_helper.
(_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>):
New, use _Hash_code_base, implementation of...
* include/bits/hashtable.h (_Hashtable<>::local_iterator,
_Hashtable<>::const_local_iterator): ...those. Add static assertions
checking that some functors are empty depending on whether hash code
is cache or not.
(_Hashtable<>::_M_bucket_index): New overloads using current bucket
count, use through out the _Hastable<> implementation.
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>): Cache hash code iff hash functor is not
empty and not final.
* include/bits/unordered_map.h (__unordered_map<>,
__unordered_multimap<>): Likewise.
* include/debug/unordered_map
(unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local):
Adapt to match new local iterator implementation.
* include/debug/unordered_set (unordered_set<>::_S_to_local,
unordered_multiset<>::_S_to_local): Likewise.
* include/profile/unordered_map (unordered_map<>::_M_profile_destruct,
unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of
local iterators.
* include/profile/unordered_set (unordered_set<>::_M_profile_destruct,
unordered_multiset<>::_M_profile_destruct): Likewise.
* testsuite_files/23_containers/unordered_set/instantiation_neg.cc:
Fix error line.
* testsuite_files/23_containers/unordered_set/final_hash.cc: New.
* testsuite_files/23_containers/unordered_multiset/final_hash.cc: New.
* testsuite_files/23_containers/unordered_map/final_hash.cc: New.
* testsuite_files/23_containers/unordered_multimap/final_hash.cc: New.
From-SVN: r182727
Michael Meissner [Thu, 29 Dec 2011 17:45:11 +0000 (17:45 +0000)]
Fix 51702 testsuite failures
From-SVN: r182726
Michael Eager [Thu, 29 Dec 2011 15:50:28 +0000 (15:50 +0000)]
microblaze.md: Add expander for simple_return...
* config/microblaze/microblaze.md: Add expander for simple_return,
return, add return_internal and simple_return_internal insns.
From-SVN: r182725
Jonathan Wakely [Thu, 29 Dec 2011 15:41:37 +0000 (15:41 +0000)]
re PR libstdc++/51701 (Remove reference to Henry Suter's RWLock from documentation)
PR libstdc++/51701
* doc/xml/manual/extensions.xml (Input and Output): Remove reference
to RWLock class.
From-SVN: r182724
Oleg Endo [Thu, 29 Dec 2011 15:11:47 +0000 (15:11 +0000)]
sh.h (BRANCH_COST): Use sh_branch_cost variable.
* config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
* config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
expression.
From-SVN: r182723
Kai Tietz [Thu, 29 Dec 2011 10:03:26 +0000 (11:03 +0100)]
bitfield3.C: Make sure test runs for windows targets without activated ms-bitfields option.
* g++.dg/abi/bitfield3.C: Make sure test runs
for windows targets without activated ms-bitfields option.
From-SVN: r182722
Kai Tietz [Thu, 29 Dec 2011 10:01:29 +0000 (11:01 +0100)]
new3.C: Adjust test for mingw targets to use static-version.
* g++.old-deja/g++.brendan/new3.C: Adjust test for mingw
targets to use static-version.
* g++.old-deja/g++.abi/cxa_vec.C: Likewise.
* g++.old-deja/g++.abi/arraynew.C: Likewise.
* g++.old-deja/g++.eh/new1.C: Likewise.
* g++.old-deja/g++.eh/new2.C: Likewise.
From-SVN: r182721
Thomas Koenig [Thu, 29 Dec 2011 09:20:01 +0000 (09:20 +0000)]
dependency.c (gfc_dep_compare_functions): Document new behavior for REALs and complex.
2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>
* dependency.c (gfc_dep_compare_functions): Document
new behavior for REALs and complex. Add comment to cases
where only INTEGERs are handled. Compare REAL and COMPLEX
constants, returning 0 and -2 only. Add assert to make
sure that only integer constants are compared.
2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/function_optimize_9.f90: New test.
From-SVN: r182720
GCC Administrator [Thu, 29 Dec 2011 00:18:53 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182719
Ian Lance Taylor [Thu, 29 Dec 2011 00:17:55 +0000 (00:17 +0000)]
* dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Go for Go.
From-SVN: r182717
Oleg Endo [Wed, 28 Dec 2011 21:02:32 +0000 (21:02 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r182713
Fabien Chêne [Wed, 28 Dec 2011 19:53:14 +0000 (20:53 +0100)]
re PR c++/23211 (using dec in nested class doesn't import name)
gcc/testsuite/ChangeLog
2011-12-28 Fabien Chene <fabien@gcc.gnu.org>
PR c++/23211
* g++.dg/template/using18.C: New.
* g++.dg/template/using19.C: New.
* g++.dg/template/nested3.C: Remove dg-message at instantiation.
* g++.dg/template/crash13.C: Likewise.
gcc/cp/ChangeLog
2011-12-28 Fabien Chene <fabien@gcc.gnu.org>
PR c++/23211
* name-lookup.c (do_class_using_decl): Use dependent_scope_p
instead of dependent_type_p, to check that a non-dependent
nested-name-specifier of a class-scope using declaration refers to
a base, even if the current scope is dependent.
* parser.c (cp_parser_using_declaration): Set
USING_DECL_TYPENAME_P to 1 if the DECL is not null. Re-indent a
'else' close to the prior modification.
From-SVN: r182711
Michael Meissner [Wed, 28 Dec 2011 18:02:49 +0000 (18:02 +0000)]
Fix PR 51623
From-SVN: r182710
Paolo Carlini [Wed, 28 Dec 2011 15:52:54 +0000 (15:52 +0000)]
re PR c++/51547 (auto, type deduction, reference collapsing and const: invalid initialization of reference of type 'const X&&' from expression of type 'const X')
2011-12-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51547
* g++.dg/cpp0x/pr51547.C: New.
From-SVN: r182709
Toon Moene [Wed, 28 Dec 2011 11:03:07 +0000 (11:03 +0000)]
ChangeLog: Fix entry.
* ChangeLog: Fix entry.
From-SVN: r182708
Uros Bizjak [Wed, 28 Dec 2011 09:21:01 +0000 (10:21 +0100)]
pr50396.c: Use dg-add-options ieee.
* gcc.dg/torture/pr50396.c: Use dg-add-options ieee.
From-SVN: r182706
Ira Rosen [Wed, 28 Dec 2011 09:20:16 +0000 (09:20 +0000)]
re PR tree-optimization/51684 (ICE in gfortran.dg/maxloc_bounds_5 on ia64)
PR tree-optimization/51684
* tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of
original statement in case of a pattern.
(vect_schedule_slp): Likewise.
From-SVN: r182705
Uros Bizjak [Wed, 28 Dec 2011 09:16:24 +0000 (10:16 +0100)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
PR testsuite/50722
* gcc.dg/pr49994-3.c: Skip on ia64-*-*-*, hppa*-*-* and *-*-hpux*.
From-SVN: r182704
Ian Lance Taylor [Wed, 28 Dec 2011 03:46:20 +0000 (03:46 +0000)]
compiler: Prohibit comparisons of funcs, maps, and slices to non-nil.
From-SVN: r182703
GCC Administrator [Wed, 28 Dec 2011 00:19:04 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r182702
Ian Lance Taylor [Wed, 28 Dec 2011 00:06:10 +0000 (00:06 +0000)]
go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use build_distinct_type_copy rather than build_variant_type_copy.
* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
build_distinct_type_copy rather than build_variant_type_copy.
(Gcc_backend::set_placeholder_array_type): Likewise.
(Gcc_backend::named_type): Add special handling for builtin
basic types.
From-SVN: r182698
Ian Lance Taylor [Wed, 28 Dec 2011 00:02:39 +0000 (00:02 +0000)]
compiler: Rework range over slice.
From-SVN: r182697
Michael Meissner [Tue, 27 Dec 2011 22:56:18 +0000 (22:56 +0000)]
Use work email address for December 2 and 9th changes
From-SVN: r182696
Paolo Carlini [Tue, 27 Dec 2011 19:04:24 +0000 (19:04 +0000)]
re PR c++/51547 (auto, type deduction, reference collapsing and const: invalid initialization of reference of type 'const X&&' from expression of type 'const X')
2011-12-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51547
* g++.dg/cpp0x/pr51547.C: New.
From-SVN: r182695
Eric Botcazou [Tue, 27 Dec 2011 16:25:43 +0000 (16:25 +0000)]
re PR rtl-optimization/51667 (new FAIL: 27_io/basic_*stream/* execution test with -m32)
PR rtl-optimization/51667
* ree.c (insn_merge_code): Delete.
(is_insn_merge_attempted): Likewise.
(get_insn_status): Likewise.
(set_insn_status): Likewise.
(struct ext_cand): Add CODE and MODE fields.
(combine_set_extend): Rename to...
(combine_set_extension): ...this. Use above fields and tidy up.
(transform_ifelse): Likewise.
(get_defs): Return the chain of definitions.
(is_this_a_cmove): Merge into...
(is_cond_copy_insn): ...this. Return bool.
(make_defs_and_copies_lists): Adjust calls to get_defs and simplify.
(merge_def_and_ext): Adjust call to combine_set_extend.
(combine_reaching_defs): Remove calls to {g|s}et_insn_status.
(struct extend_info): Rename to...
(struct re_info): ...this. Add DEF_MAP field.
(add_ext_candidate): Merge into...
(add_removable_extension): ...this. Adjust calls to get_defs. Ensure
reaching definitions are associated with only one kind of extension.
(find_removable_extensions): Create and destroy the definition map.
(find_and_remove_re): Return void. Change 'long' variables to 'int'.
Do not deal with is_insn_merge_attempted.
From-SVN: r182694
Jan Hubicka [Tue, 27 Dec 2011 10:41:58 +0000 (11:41 +0100)]
re PR tree-optimization/48641 (ICE: verify_flow_info failed: Wrong frequency of block 77 -419530 with -O -fno-tree-ccp -fno-tree-copy-prop)
PR middle-end/48641
* tree-ssa-threadupdate.c (redirect_edges): Watch for overflow.
* gcc.dg/compile/pr48641.c: New file.
From-SVN: r182693
Uros Bizjak [Tue, 27 Dec 2011 09:40:23 +0000 (10:40 +0100)]
re PR libgcj/49193 (__sync_xxxx builtins aren't used in sysdep/*/locks.h)
PR libgcj/49193
* sysdep/alpha/locks.h (compare_and_swap): Call
__sync_bool_compare_and_swap.
(release_set): Call __sync_synchronize.
From-SVN: r182692
GCC Administrator [Tue, 27 Dec 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182690
Oleg Endo [Mon, 26 Dec 2011 23:00:14 +0000 (23:00 +0000)]
sync.md: Add soft atomics ABI description.
* config/sh/sync.md: Add soft atomics ABI description.
(fetchop_name): Use 'or' instead of 'ior'.
(fetchop_insn): Remove.
(atomic_compare_and_swap<mode>_soft):
Don't insert aligning nop after the write-back instruction. Fix
multi-line asm output formatting style.
(atomic_fetch_<fetchop_name><mode>_soft): Likewise.
(atomic_fetch_nand<mode>_soft): Likewise.
(atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
(atomic_nand_fetch<mode>_soft): Likewise.
From-SVN: r182686
Joey Ye [Mon, 26 Dec 2011 08:43:48 +0000 (08:43 +0000)]
re PR middle-end/51200 (Wrong code sequence to store restrict volatile bitfield)
2011-12-26 Joey Ye <joey.ye@arm.com>
PR middle-end/51200
* gcc.dg/volatile-bitfields-2.c: New test.
From-SVN: r182685
GCC Administrator [Mon, 26 Dec 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182684
GCC Administrator [Sun, 25 Dec 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182680
Torvald Riegel [Sat, 24 Dec 2011 01:42:48 +0000 (01:42 +0000)]
libitm: Don't enforce privatization safety if already in serial mode.
libitm/
* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
privatization safety if already in serial mode.
From-SVN: r182676
Torvald Riegel [Sat, 24 Dec 2011 01:42:35 +0000 (01:42 +0000)]
libitm: Fix privatization safety during upgrades to serial mode.
libitm/
* beginend.cc (GTM::gtm_thread::restart): Add and handle
finish_serial_upgrade parameter.
* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
Don't unset reader flag.
(GTM::gtm_rwlock::write_upgrade_finish): New.
* config/posix/rwlock.cc: Same.
* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
Declare.
* config/posix/rwlock.h: Same.
* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
flag after commit or after rollback when restarting.
From-SVN: r182675
Torvald Riegel [Sat, 24 Dec 2011 01:42:20 +0000 (01:42 +0000)]
libitm: Fixed conversion to C++11 atomics.
libitm/
* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
(GTM::gtm_thread::try_commit): Changed memory order.
* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
as parameter.
* config/linux/x86/futex_bits.h (sys_futex0): Same.
* config/linux/sh/futex_bits.h (sys_futex0): Same.
* config/linux/futex_bits.h (sys_futex0): Same.
* config/linux/futex.cc (futex_wait, futex_wake): Same.
* config/linux/futex.h (futex_wait, futex_wake): Same.
* config/linux/rwlock.h (gtm_rwlock::writers,
gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
ints.
* config/linux/rwlock.cc (gtm_rwlock::read_lock,
gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
gtm_rwlock::write_unlock): Fix memory orders and fences.
* config/posix/rwlock.cc (gtm_rwlock::read_lock,
gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
gtm_rwlock::write_unlock): Same.
* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
Add comments.
(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
gl_wt_dispatch::load, gl_wt_dispatch::store,
gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
orders and fences. Add comments.
From-SVN: r182674
GCC Administrator [Sat, 24 Dec 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182673
Richard Henderson [Fri, 23 Dec 2011 22:07:16 +0000 (14:07 -0800)]
Delete VEC_EXTRACT_EVEN/ODD_EXPR.
* tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
* cfgexpand.c (expand_debug_expr): Don't handle them.
* expr.c (expand_expr_real_2): Likewise.
* fold-const.c (fold_binary_loc): Likewise.
* gimple-pretty-print.c (dump_binary_rhs): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
(can_vec_perm_for_code_p): Remove.
(expand_binop): Don't try it.
(init_optabs): Don't init vec_extract_even/odd_optab.
* genopinit.c (optabs): Likewise.
* optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
(vec_extract_even_optab, vec_extract_odd_optab): Remove.
* tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
(vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
asserting vect_strided_store_supported.
(vect_strided_load_supported): Use can_vec_perm_p.
(vect_permute_load_chain): Use VEC_PERM_EXPR.
* doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
(VEC_EXTRACT_ODD_EXPR): Remove.
* doc/md.texi (vec_extract_even, vec_extract_odd): Remove.
From-SVN: r182669
Jason Merrill [Fri, 23 Dec 2011 22:00:13 +0000 (17:00 -0500)]
re PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument-list)
PR c++/51507
* search.c (at_function_scope_p): Also check cfun.
* pt.c (tsubst_pack_expansion): Check it instead of
cp_unevaluated_operand.
(instantiate_template_1): Clear current_function_decl.
From-SVN: r182668
Jason Merrill [Fri, 23 Dec 2011 22:00:02 +0000 (17:00 -0500)]
tree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names.
* tree.c (dependent_name): OFFSET_REF and BASELINK
are not dependent names.
From-SVN: r182667
Anatoly Sokolov [Fri, 23 Dec 2011 21:40:42 +0000 (01:40 +0400)]
score.h (REGISTER_MOVE_COST, [...]): Remove.
* config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
* config/score/score-protos.h (score_register_move_cost): Remove.
* config/score/score.c (TARGET_REGISTER_MOVE_COST): Define.
(score_register_move_cost): Make static. Change arguments type from
enum reg_class to reg_class_t.
From-SVN: r182666
Uros Bizjak [Fri, 23 Dec 2011 21:11:15 +0000 (22:11 +0100)]
fast-math-pr35982.c: Fix parenthesis in target selectors.
2011-12-23 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.
From-SVN: r182665
Jakub Jelinek [Fri, 23 Dec 2011 18:38:03 +0000 (10:38 -0800)]
Delete VEC_INTERLEAVE_*_EXPR.
* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
* gimple-pretty-print.c (dump_binary_rhs): Don't handle
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
* expr.c (expand_expr_real_2): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* fold-const.c (fold_binary_loc): Likewise.
* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
* optabs.c (optab_for_tree_code): Don't handle
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
(expand_binop, init_optabs): Remove vec_interleave_high_optab
and vec_interleave_low_optab.
* genopinit.c (optabs): Likewise.
* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
documentation.
* tree-vect-stmts.c (gen_perm_mask): Renamed to...
(vect_gen_perm_mask): ... this. No longer static.
(perm_mask_for_reverse, vectorizable_load): Adjust callers.
* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
can_vec_perm_for_code_p.
(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
* config/i386/i386.c (expand_vec_perm_interleave2): If
expand_vec_perm_interleave3 would handle it, return false.
(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.
From-SVN: r182663
Richard Henderson [Fri, 23 Dec 2011 18:36:07 +0000 (10:36 -0800)]
mips: Improved vectorization support for Loongson and mips3d-ps.
* config/mips/loongson.md (UNSPEC_LOONGSON_PINSR_0,
UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2,
UNSPEC_LOONGSON_PINSR_3): Replace with...
(UNSPEC_LOONGSON_PINSRH): ... this.
(UNSPEC_LOONGSON_VINIT): New.
(UNSPEC_LOONGSON_DSLL, UNSPEC_LOONGSON_DSRL): New.
(VWB): New mode iterator.
(V_inner): New mode attribute.
(loongson_vec_init1_<VHB>): New.
(*vec_concatv2si): New.
(and<VWHB>3, ior<VWHB>3, xor<VWHB>3, one_cmpl<VWHB>2): New.
(*loongson_nor): New.
(loongson_pextrh): Un-macro-ify.
(loongson_pmaddhw): Likewise.
(smaxv4hi3, umaxv8qi3, sminv4hi3, uminv8qi3): Likewise.
(loongson_pinsrh_0): Represent with vec_select+vec_concat.
(loongson_pinsrh_1, loongson_pinsrh_2, loongson_pinsrh_3): Likewise.
(*vec_setv4hi, vec_setv4hi): New.
(sdot_prodv4hi): New.
(smax<VWB>3, smin<VWB>3): New.
(reduc_uplus_v8qi): New.
(loongson_pshufh): Remove destination matching input.
(ashl<VWH>3, ashr<VWH>3, lshr<VWH>3): Fix type attribute.
(vec_interleave_high<VWHB>, vec_interleave_low<VWHB>): Remove.
(loongson_punpckhbh, loongson_punpckhhw, loongson_punpckhhw_qi,
loongson_punpckhwd, loongson_punpckhwd_qi, loongson_punpckhwd_hi,
loongson_punpcklbh, loongson_punpcklhw, loongson_punpcklhw_qi,
loongson_punpcklwd, loongson_punpcklwd_qi, loongson_punpcklwd_hi,
vec_perm_const<VWHB>, vec_unpacks_lo_<VHB>, vec_unpacks_hi_<VHB>,
vec_unpacku_lo_<VHB>, vec_unpacku_hi_<VHB>, vec_shl_<VWHBDI>,
vec_shr_<VWHBDI>, reduc_uplus_<VWH>, reduc_splus_<VWHB>,
reduc_smax_<VWHB>, reduc_smin_<VWHB>, reduc_umax_<VWHB>,
reduc_umin_<VB>): New.
* config/mips/mips-ps-3d.md (vec_perm_const_ps): New.
(mips_pul_ps, mips_puu_ps, mips_pll_ps, mips_plu_ps): Expand in
terms of vec_perm_const_ps.
(vec_perm_constv2sf): New.
(vec_initv2sf): Use mips_expand_vector_init.
(vec_concatv2sf): Rename from vec_initv2sf_internal.
(vec_setv2sf): Use vec_perm_const_ps.
(reduc_splus_v2sf, reduc_smin_v2sf, reduc_smax_v2sf): New.
* config/mips/loongson.h (pshufh_u, pshufh_s): Don't pass dest to
the builtin.
* config/mips/mips-modes.def (V16QI, V8HI, V4SI, V4SF): New modes.
* config/mips/mips-protos.h: Update.
* config/mips/mips.c (mips_get_arg_info): Match V2SFmode, not all
MODE_VECTOR_FLOAT.
(mips_return_mode_in_fpr_p): Likewise.
(mips_cannot_change_mode_class): Allow 8-byte integral mode changes.
(CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw,
CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh,
CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): Remove.
(mips_builtins): Remove first operand for loongson pshufh builtins.
(MAX_VECT_LEN, struct expand_vec_perm_d): New.
(mips_expand_vselect, mips_expand_vselect_vconcat,
mips_expand_vpc_loongson_even_odd, mips_expand_vpc_loongson_pshufh,
mips_expand_vpc_loongson_bcast, mips_expand_vec_perm_const_1,
mips_expand_vec_perm_const, mips_vectorize_vec_perm_const_ok,
mips_expand_vec_unpack, mips_constant_elt_p, mips_expand_vi_broadcast,
mips_expand_vi_constant, mips_expand_vi_loongson_one_pinsrh,
mips_expand_vi_general, mips_expand_vec_reduc, mips_expand_vec_minmax,
TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
(mips_expand_vector_init): Rewrite.
* config/mips/predicates.md (const_2_or_3_operand): New.
(const_0_to_3_operand): New.
From-SVN: r182662
Jonathan Wakely [Fri, 23 Dec 2011 17:31:00 +0000 (17:31 +0000)]
weak_ptr_expired.cc: Modify to PASS instead of XFAIL.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/
weak_ptr_expired.cc: Modify to PASS instead of XFAIL.
From-SVN: r182661
Kai Tietz [Fri, 23 Dec 2011 17:23:38 +0000 (18:23 +0100)]
* config/os/mingw32-w64/os_defines.h (__USE_MINGW_ANSI_STDIO): Define.
From-SVN: r182660
Jonathan Wakely [Fri, 23 Dec 2011 17:20:44 +0000 (17:20 +0000)]
* include/c_global/cinttypes: Update comments that refer to TR1.
From-SVN: r182659
Jonathan Wakely [Fri, 23 Dec 2011 16:10:48 +0000 (16:10 +0000)]
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
PR libstdc++/49204
* include/std/future (future_errc): Implement LWG 2056.
From-SVN: r182658
Dmitry Plotnikov [Fri, 23 Dec 2011 13:53:17 +0000 (13:53 +0000)]
neon.md (float<mode><V_cvtto>2): New.
2011-12-23 Dmitry Plotnikov <dplotnikov@ispras.ru>
* config/arm/neon.md (float<mode><V_cvtto>2): New.
(floatuns<mode><V_cvtto>2): New.
(fix_trunc<mode><V_cvtto>2): New.
(fix_truncuns<mode><V_cvtto>2): New.
* config/arm/iterators.md (V_cvtto): New iterator.
gcc/testsuite/:
* gcc.target/arm/vect-vcvt.c: New test.
* gcc.target/arm/vect-vcvtq.c: New test.
* gcc.dg/vect/fast-math-pr35982.c: Added vect_strided2 alternative
in final check.
* lib/target-supports.exp (check_effective_target_vect_intfloat_cvt):
True for ARM NEON.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
From-SVN: r182657
Arnaud Charlet [Fri, 23 Dec 2011 09:36:49 +0000 (10:36 +0100)]
[multiple changes]
2011-12-23 Pascal Obry <obry@adacore.com>
* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
parameter to generic formal procedure.
* prj.adb (For_Every_Project_Imported): Update accordingly.
(Recursive_Check): Likewise. Do not parse imported project for
aggregate library. This is needed as the imported projects are
there just to handle dependencies.
(Look_For_Sources): Likewise.
(Recursive_Add): Likewise.
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
Add In_Aggregate_Lib parameter to routines used with
For_Every_Project_Imported generic procedure.
* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
(Check): Move where it is used. Fix implementation
to not check libraries that are inside aggregate libraries.
(Recursive_Check): Add In_Aggregate_Lib parameter.
2011-12-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
package is a referencer regardless of whether there is a
subsequent subprogram with an Inline pragma.
2011-12-23 Geert Bosch <bosch@adacore.com>
* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
From-SVN: r182656
Pascal Obry [Fri, 23 Dec 2011 09:34:21 +0000 (09:34 +0000)]
gnatcmd.adb, [...]: Minor reformatting.
2011-12-23 Pascal Obry <obry@adacore.com>
* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.
From-SVN: r182655
Richard Guenther [Fri, 23 Dec 2011 09:10:18 +0000 (09:10 +0000)]
re PR rtl-optimization/50396 (SSE division by zero generates incorrect code with optimizations enabled)
2011-12-23 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/50396
* simplify-rtx.c (simplify_binary_operation_1): Properly
guard code that only works for integers.
* gcc.dg/torture/pr50396.c: New testcase.
From-SVN: r182653
Tristan Gingold [Fri, 23 Dec 2011 08:27:22 +0000 (08:27 +0000)]
vms-crtlmap.map (log10): Fix typo.
2011-12-23 Tristan Gingold <gingold@adacore.com>
* config/vms/vms-crtlmap.map (log10): Fix typo.
From-SVN: r182652
Tristan Gingold [Fri, 23 Dec 2011 08:24:42 +0000 (08:24 +0000)]
vms.h (SUPPORTS_ONE_ONLY): Define.
2011-12-23 Tristan Gingold <gingold@adacore.com>
* config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.
From-SVN: r182651
Bin Cheng [Fri, 23 Dec 2011 05:43:09 +0000 (05:43 +0000)]
re PR tree-optimization/43491 (Unnecessary temporary for global register variable)
2011-12-22 Bin Cheng <bin.cheng@arm.com>
Richard Guenther <rguenther@suse.de>
PR tree-optimization/43491
* tree-ssa-pre.c (eliminate): Don't replace global register
variable when it is the RHS of a single assign.
testsuite:
* gcc.dg/tree-ssa/pr43491.c: New test.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r182650
Joey Ye [Fri, 23 Dec 2011 02:18:17 +0000 (02:18 +0000)]
toplev.c (process_options): Fix typo.
2011-12-22 Joey Ye <joey.ye@arm.com>
* toplev.c (process_options): Fix typo.
From-SVN: r182649
John David Anglin [Fri, 23 Dec 2011 02:17:39 +0000 (02:17 +0000)]
Commit missing log entry.
From-SVN: r182648
John David Anglin [Fri, 23 Dec 2011 02:10:52 +0000 (02:10 +0000)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
PR testsuite/50722
gcc.dg/pr49994-3.c: xfail on hppa*-*-*.
From-SVN: r182647