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
John David Anglin [Fri, 23 Dec 2011 01:53:13 +0000 (01:53 +0000)]
re PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error))
PR middle-end/51252
* config/pa/pa.c (pa_som_tm_clone_table_section): New function.
(som_tm_clone_table_section): Declare.
(pa_file_start_space): Create $TM_CLONE_TABLE$ subspace.
(pa_som_asm_init_sections): Init som_tm_clone_table_section.
* config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
From-SVN: r182646
Jonathan Wakely [Fri, 23 Dec 2011 01:47:41 +0000 (01:47 +0000)]
regex.h (match_results::size_type): Use allocator_traits.
* include/bits/regex.h (match_results::size_type): Use
allocator_traits.
From-SVN: r182645
GCC Administrator [Fri, 23 Dec 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182644
Richard Sandiford [Thu, 22 Dec 2011 21:28:40 +0000 (21:28 +0000)]
tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
gcc/
* doc/tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
* doc/tm.texi: Regenerate.
* target.def (prepare_pch_save): New hook.
* c-family/c-pch.c (c_common_write_pch): Call it.
* config/mips/mips.c (was_mips16_pch_p): Delete.
(mips_set_mips16_mode): Don't refer to was_mips16_pch_p.
(mips_prepare_pch_save): New function.
(TARGET_PREPARE_PCH_SAVE): Define.
From-SVN: r182640
Ian Lance Taylor [Thu, 22 Dec 2011 20:49:18 +0000 (20:49 +0000)]
go-gcc.cc (set_placeholder_pointer_type): Arrange for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
* go-gcc.cc (set_placeholder_pointer_type): Arrange for the type
name to have a DECL_ORIGINAL_TYPE as gcc expects.
(set_placeholder_struct_type): Likewise.
(set_placeholder_array_type): Likewise.
(named_type): Set DECL_ORIGINAL_TYPE.
From-SVN: r182639
Janne Blomqvist [Thu, 22 Dec 2011 20:44:32 +0000 (22:44 +0200)]
PR 51646 Use POSIX mode flags in open() argument.
2011-12-22 Janne Blomqvist <jb@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR libfortran/51646
* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
flags, omit mode argument when flags argument does not have
O_CREAT.
* io/unix.c (tempfile): Use POSIX mode flags.
* configure: Regenerate.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r182638
Ian Lance Taylor [Thu, 22 Dec 2011 20:39:29 +0000 (20:39 +0000)]
libgo: Use -std=gnu99 on Solaris 10.
From Rainer Orth.
From-SVN: r182637
Aldy Hernandez [Thu, 22 Dec 2011 20:18:11 +0000 (20:18 +0000)]
re PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -fgnu-tm -fnon-call-exceptions and transaction_callable)
PR middle-end/51212
* opts.c (finish_options): Call sorry on -fgnu-tm and
-fnon-call-exceptions combination.
From-SVN: r182636
Ian Lance Taylor [Thu, 22 Dec 2011 19:07:12 +0000 (19:07 +0000)]
runtime: Fix missing USING_SPLIT_STACK ifdef.
From Uros Bizjak.
From-SVN: r182633
Jonathan Wakely [Thu, 22 Dec 2011 18:58:15 +0000 (18:58 +0000)]
re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
PR libstdc++/48362
* testsuite/libstdc++-prettyprinters/48362.cc: New.
From-SVN: r182632
Jonathan Wakely [Thu, 22 Dec 2011 17:52:36 +0000 (17:52 +0000)]
invoke.texi (C++ Dialect Options): Add missing options and move -Wzero-as-null-pointer-constant to ...
2011-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/invoke.texi (C++ Dialect Options): Add missing options and
move -Wzero-as-null-pointer-constant to ...
(Warning Options): ... here.
From-SVN: r182631
Jonathan Wakely [Thu, 22 Dec 2011 17:35:05 +0000 (17:35 +0000)]
re PR target/47643 (x86 -mtune docs still imply i386 is the default for codegen)
PR target/47643
* doc/invoke.texi (i386 and x86-64 Options): Fix description of
-mtune without -march.
From-SVN: r182630
Richard Earnshaw [Thu, 22 Dec 2011 17:31:50 +0000 (17:31 +0000)]
re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)
PR target/51643
* arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
change.
From-SVN: r182628
Tristan Gingold [Thu, 22 Dec 2011 16:40:11 +0000 (16:40 +0000)]
ia64.c (ia64_promote_function_mode): Remove.
2011-12-22 Tristan Gingold <gingold@adacore.com>
* config/ia64/ia64.c (ia64_promote_function_mode): Remove.
(TARGET_PROMOTE_FUNCTION_MODE): Remove.
(ia64_function_value): Call promote_function_mode instead of
ia64_promote_function_mode.
* config/ia64/vms.h (PROMOTE_MODE): Define.
(TARGET_PROMOTE_FUNCTION_MODE): Define.
From-SVN: r182627
Uros Bizjak [Thu, 22 Dec 2011 16:35:16 +0000 (17:35 +0100)]
re PR rtl-optimization/27468 (sign-extending Alpha instructions not exploited)
PR target/27468
* common/config/alpha/alpha-common.c (alpha_option_optimization_table):
Enable flag_ree at -O2 or higher.
From-SVN: r182626