Jakub Jelinek [Thu, 2 Feb 2012 08:09:37 +0000 (09:09 +0100)]
re PR tree-optimization/52073 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo_for_stmt at tree-vectorizer.h:620)
PR tree-optimization/52073
* tree-vect-stmts.c (vect_mark_relevant): When checking uses of
a pattern stmt for pattern uses, ignore uses outside of the loop.
Jonathan Wakely [Wed, 1 Feb 2012 00:20:08 +0000 (00:20 +0000)]
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
PR libstdc++/49204
* include/std/future (__future_base::_State_base::wait()): Use lambda
expression for predicate and remove redundant test.
(__future_base::_State_base::wait_for()): Return future_status and
use lambda expression for predicate.
(__future_base::_State_base::wait_until()): Likewise.
(__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
(__future_base::_Async_state): Replace with _Async_state_common
class for non-dependent functionality and _Async_state_impl class
template for dependent functionality.
(__future_base::_Async_state_common::_M_join): Serialize attempts to
join thread.
(__future_base::_Async_state_common::_M_run_deferred): Join.
(__future_base::_Async_state::_M_do_run): Replace with lambda.
* src/c++11/future.cc (__future_base::_Async_state_common): Define
destructor, so key function is in the library.
* config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
* testsuite/30_threads/packaged_task/members/get_future.cc: Expect
future_status return instead of bool.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
gcc/
* function.h (regno_reg_rtx): Adjust comment.
* reginfo.c (init_reg_modes_target): Only use the previous mode
if it fits within one register. Remove MIPS comment.
Tobias Burnus [Tue, 31 Jan 2012 18:41:47 +0000 (19:41 +0100)]
re PR fortran/52024 ([OOP] GENERIC operator cannot be resolved)
2012-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/52024
* gfortran.h (gfc_tbp_generic): Store whether the
generic is an operator.
* decl.c (gfc_match_generic): Set that flag.
* resolve.c (check_generic_tbp_ambiguity): Use it in the
gfc_compare_interfaces check.
Jason Merrill [Tue, 31 Jan 2012 17:41:24 +0000 (12:41 -0500)]
re PR c++/52043 ([C++0x] ICE: SIGSEGV in tsubst_copy (pt.c:12081) with -Wreturn-type)
PR c++/52043
* cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
* pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
(tsubst_pack_expansion): Check it.
Jakub Jelinek [Tue, 31 Jan 2012 08:41:46 +0000 (09:41 +0100)]
re PR bootstrap/52041 (Bootstrap failure at revision 183650 with --enable-checking=release)
PR bootstrap/52041
PR bootstrap/52039
PR target/51974
* ree.c (add_removable_extension): Change def_map argument
to unsigned *, store in def_map 1 + offset into *insn_list vector
instead of pointers into the vector.
(find_removable_extensions): Adjust caller.
Uros Bizjak [Mon, 30 Jan 2012 21:31:38 +0000 (22:31 +0100)]
re PR go/48501 (64bit-out.go, select5-out.go, tmp.go compilation times out)
PR go/48501
* lib/go.exp (go_target_compile): Append timeout= to options.
* go.test/go-test.exp (go-gc-tests): Add dg-timeout-factor for
select5-out.go test on alpha*-*-* targets.
Georg-Johann Lay [Mon, 30 Jan 2012 19:38:07 +0000 (19:38 +0000)]
avr.md: Resolve all AS1 and AS2 macros.
* config/avr/avr.md: Resolve all AS1 and AS2 macros.
Transform all "* quoted-c-code" to { c-code }.
Remove redundant test for "optimize" in combine patterns.
Move (include "avr-dimode.md") to end of file.
gcc/testsuite/
* gcc.target/mips/extend-1.c (TEST_CHAR): Use signed char.
(TEST_SHORT): Reformat in the same way.
* gcc.target/mips/octeon-exts-6.c (TEST_CHAR): Use signed char.
(TEST_SHORT): Reformat in the same way.
* gcc.target/mips/octeon2-lx-1.c (TEST): Make sign explicit.
* gcc.target/mips/pr37362.c: Skip for mips-sde-elf.
* gcc.target/mips/mmcount-ra-address-1.c (bazl): Add NOMIPS16.
* gcc.target/mips/mmcount-ra-address-2.c (bar): Likewise.
* gcc.target/mips/mmcount-ra-address-3.c (bar): Likewise.
Tom Tromey [Mon, 30 Jan 2012 16:25:11 +0000 (16:25 +0000)]
re PR libstdc++/51649 (pretty printers don't handle std::__7:: namespace)
PR libstdc++/51649:
* testsuite/libstdc++-prettyprinters/debug.cc: New file.
* testsuite/lib/gdb-test.exp (regexp-test): New proc.
(note-test): Update.
(gdb-test): Handle regexp tests. Add some logging.
* testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
(placeholder, use): Remove.
(main): Add tests for deque, list, map, and set iterators. Add
tests for slist and slist iterator.
* testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
namespace.
* python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
the type's _Node typedef.
(StdListIteratorPrinter.to_string): Change how node type is
computed.
(StdSlistPrinter.children): Use the type's _Node typedef.
(StdSlistIteratorPrinter.to_string): Likewise.
(StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
typedef.
(StdMapPrinter.children): Change how the node's type is computed.
(StdSetPrinter.children): Likewise.
(StdForwardListPrinter.children): Use the type's _Node typedef.
(Printer.add_version): New method.
(Printer.add_container): New method.
(build_libstdcxx_dictionary): Handle __7 and __cxx1998
namespaces.
(find_type): New function.
Dodji Seketeli [Mon, 30 Jan 2012 14:26:12 +0000 (14:26 +0000)]
PR c++/51641 - Lookup finds enclosing class member instead of template parameter
gcc/cp/
PR c++/51641
* cp-tree.h (template_type_parameter_p): Declare new function.
(parameter_of_template_p): Remove
* pt.c (template_type_parameter_p): Define new function.
(parameter_of_template_p): Remove.
* name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
on parameter_of_template_p anymore. Compare the level of the
template parameter to the depth of the template.
gcc/testsuite/
PR c++/51641
* g++.dg/lookup/hidden-class17.C: New test.
Jakub Jelinek [Mon, 30 Jan 2012 13:49:44 +0000 (14:49 +0100)]
re PR debug/52027 (ICE: SIGSEGV in set_cur_line_info_table (dwarf2out.c:20428) with -O -freorder-blocks-and-partition -fno-reorder-functions -fprofile-use)
PR debug/52027
* dwarf2out.c (dwarf2out_switch_text_section): Don't call
set_cur_line_info_table if not emitting debug info.
Eric Botcazou [Mon, 30 Jan 2012 12:43:51 +0000 (12:43 +0000)]
re PR target/51920 (64-bit gcc.target/sparc/vec-init-1-vis1.c FAILs)
PR target/51920
* config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
parameter and use short-lived pseudos.
(vector_init_faligndata): Remove INNER_MODE parameter and use loop.
(sparc_expand_vector_init): Const-ify local variables and adjust
calls to above functions.
Nicolas Roche [Mon, 30 Jan 2012 12:19:17 +0000 (12:19 +0000)]
Make-lang.in: Update dependencies.
2012-01-30 Nicolas Roche <roche@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
when needed.
Remove Linker_Options -crtbe when building sjlj run-time.
Arnaud Charlet [Mon, 30 Jan 2012 12:16:12 +0000 (13:16 +0100)]
[multiple changes]
2012-01-30 Robert Dewar <dewar@adacore.com>
* sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
* sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
form 2 * small-literal.
* sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
mod value).
* sem_ch4.ads (Analyze_Mod): New procedure.
2012-01-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
types and return expression when building spec for implicit
body, to preserve global references that may be present in an
instantiation.
2012-01-30 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
Reverse_Elements): Check for cursor tampering.
2012-01-30 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
type with aspect Default_Value or Default_Component_Value is
fully initialized, and use of variables of such types do not
generate warnings.
2012-01-30 Vincent Celier <celier@adacore.com>
* projects.texi: Add documentation for attribute Interfaces.
* exp_ch7.adb (Build_Finalizer_Call): Set loc again.
* exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
location for the wrapped call to the original AT_END routine
and the subsequent return statement.
Thomas Quinot [Mon, 30 Jan 2012 11:39:58 +0000 (11:39 +0000)]
s-rannum.adb, [...] (Get_Seed): Return Unsigned_64 rather than Duration.
2012-01-30 Thomas Quinot <quinot@adacore.com>
* s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
Unsigned_64 rather than Duration.
(System.Random_Numbers.Reset): Use full value of seed
(do not truncate sub-second bits).
* exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
location when creating a call to a finalizer.
* exp_ch11.adb (Expand_Exception_Handlers): Do not provide
a source location for the first actual of Save_Occurrence for
consistency sake.
2012-01-30 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo,adb: New attribute on scalar types:
Default_Aspect_Value New attribute on array types:
Default_Aspect_Component_Value Move attribute Related_Array_Object
to a different position to accomodate new aspect attributes.
* freeze.adb (Freeze_Entity): Use new attributes to retrieve value
of defaults set with an aspect specification, rather than using
the list of aspects attached to the type, to prevent issues with
partial views.
* sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
Default_Value and Default_Component _Value, store corresponding
expression in type entity.
(Check_Aspect_At_End_Of_Declaration): If the default aspects
are declared on the full view, use the full view to resolve the
correseponding expression.
* exp_ch3.adb (Init_Component): Use attribute
Default_Aspect_Component_Value to perform default initialization,
rather than relying on the rep item list for the type.
(Get_Simple_Init_Val): Ditto.
Arnaud Charlet [Mon, 30 Jan 2012 10:35:19 +0000 (11:35 +0100)]
[multiple changes]
2012-01-30 Pascal Obry <obry@adacore.com>
* prj.ads, prj.adb (For_Each_Source): Add support for skipping
sources coming from an encapsulated library.
2012-01-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process-Full_View): fix typo.
* sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
appear on a private type and the full view is available, ensure
existence of freeze node for full view.
(Build_Predicate_Function): Attach predicate function to both
views of a private type.
2012-01-30 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
for the project if either attribute Library_Interface or
Interfaces is declared.
(Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
Check_Interfaces.
Pascal Obry [Mon, 30 Jan 2012 10:33:44 +0000 (10:33 +0000)]
prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib boolean value to true in the process list created by...
2012-01-30 Pascal Obry <obry@adacore.com>
* prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
boolean value to true in the process list created by this routine.
* prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
Continued work for KA06-021.
* prj.adb (Compute_All_Imported_Projects): Set
From_Encapsulated_Lib boolean flag.
Arnaud Charlet [Mon, 30 Jan 2012 10:32:44 +0000 (11:32 +0100)]
[multiple changes]
2012-01-30 Vincent Pucci <pucci@adacore.com>
* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
code clean up.
* s-diflio.ads: Minor change.
2012-01-30 Javier Miranda <miranda@adacore.com>
* exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
to Get_Entry_Index. Required to generate code which provides
the correct value of Entry_Index in the target entry.
2012-01-30 Nicolas Roche <roche@adacore.com>
* system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
fix issue with zcx on VxWorks5.
2012-01-30 Pascal Obry <obry@adacore.com>
* prj.ads, prj.adb (For_Every_Project_Imported): Remove
In_Aggregate_Lib.
(For_Every_Project_Imported_Context): New generic routine with
a context parameter.
* prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
distributed complexity.
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.