Jason Merrill [Wed, 8 Apr 2009 03:44:48 +0000 (23:44 -0400)]
re PR c++/34691 (Default argument checking not performed after overload resolution with C linkage)
PR c++/34691
* name-lookup.c (merge_functions): Keep multiple extern "C" functions.
* call.c (joust): Complain about mismatched default arguments
in extern "C" functions.
* class.c (resolve_address_of_overloaded_function): Handle multiple
extern "C" functions.
* pt.c (resolve_overloaded_unification): Likewise.
From-SVN: r145709
Ben Elliston [Wed, 8 Apr 2009 02:47:52 +0000 (02:47 +0000)]
* gcc.c: Replace `CC' with `GCC' throughout.
From-SVN: r145708
Gerald Pfeifer [Wed, 8 Apr 2009 02:00:48 +0000 (02:00 +0000)]
update_web_docs_svn: Run this script under plain /bin/sh as opposed to /bin/sh -x.
* update_web_docs_svn: Run this script under plain /bin/sh
as opposed to /bin/sh -x.
From-SVN: r145707
GCC Administrator [Wed, 8 Apr 2009 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r145706
Dominique d'Humieres [Tue, 7 Apr 2009 22:46:07 +0000 (00:46 +0200)]
re PR testsuite/39325 (FAIL: gcc.misc-tests/linkage.c link)
2009-04-07 Dominique d'Humieres <dominiq@lps.ens.fr>
PR testsuite/39325
* gcc.misc-tests/linkage.exp: Use -m64 for 64-bit *86*-darwin.
From-SVN: r145702
H.J. Lu [Tue, 7 Apr 2009 20:18:34 +0000 (20:18 +0000)]
invoke.texi: Document Atom support.
2009-04-07 H.J. Lu <hongjiu.lu@intel.com>
* doc/invoke.texi: Document Atom support.
From-SVN: r145700
Jason Merrill [Tue, 7 Apr 2009 17:48:52 +0000 (13:48 -0400)]
re PR c++/25185 (deep typedef substitution in error message)
PR c++/25185
* c-common.h, c-common.c: Add flag_pretty_templates.
* c-opts.c (c_common_handle_option): Set it.
* c.opt: Add -fno-pretty-templates.
* doc/invoke.texi (C++ Dialect Options): Likewise.
* error.c (dump_function_decl): Don't pretty-print templates
if -fno-pretty-templates.
(count_non_default_template_args): Print all args if
-fno-pretty-templates.
From-SVN: r145697
Arnaud Charlet [Tue, 7 Apr 2009 16:56:30 +0000 (18:56 +0200)]
[multiple changes]
2009-04-07 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
type for the case of concatenating a constrained array indexed by an
enumeration type.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Conformance): when checking conformance of an
operation that overrides an abstract operation inherited from an
interface, return False if only one of the controlling formals is an
access parameter.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Object_Renaming): additional error messages
mandated by AI05-105.
2009-04-07 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
2009-04-07 Thomas Quinot <quinot@adacore.com>
* usage.adb: Minor fix in usage message.
* sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
match declaration; the correct subtype is Node_Id, not Entity_Id,
because the expected node kind is an identifier, not a defining
identifier.
* switch-c.adb: Minor reformatting.
* uintp.adb: Minor reformatting.
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch13.adb: Minor reformatting
From-SVN: r145696
Arnaud Charlet [Tue, 7 Apr 2009 16:45:30 +0000 (18:45 +0200)]
[multiple changes]
2009-04-07 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
against missing parent.
2009-04-07 Thomas Quinot <quinot@adacore.com>
* xoscons.adb: Minor reformatting
2009-04-07 Robert Dewar <dewar@adacore.com>
* rtsfind.ads: Remove obsolete string concatenation entries
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Check_Body_Required): Handle properly imported
subprograms.
2009-04-07 Gary Dismukes <dismukes@adacore.com>
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
Attribute_Address): When Init_Or_Norm_Scalars is True and the object
is of a scalar or string type then suppress the setting of the
expression to Empty.
* freeze.adb (Warn_Overlay): Also emit the warnings about default
initialization for the cases of scalar and string objects when
Init_Or_Norm_Scalars is True.
From-SVN: r145694
Janus Weil [Tue, 7 Apr 2009 16:24:31 +0000 (18:24 +0200)]
re PR fortran/38152 (procedure pointers as module variables)
2009-04-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/38152
* trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
procedure pointer decls.
2009-04-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/38152
* gfortran.dg/proc_ptr_13.f90: Add "-g" option.
From-SVN: r145692
Arnaud Charlet [Tue, 7 Apr 2009 16:22:41 +0000 (18:22 +0200)]
[multiple changes]
2009-04-07 Bob Duff <duff@adacore.com>
* s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
2009-04-07 Bob Duff <duff@adacore.com>
* gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
Form parameter of Text_Translation=No allows binary mode for Text_IO
files.
* gnat_rm.texi: Document Form parameter Text_Translation=xxx.
2009-04-07 Javier Miranda <miranda@adacore.com>
* exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
processing the bounds for bit packed arrays or VM target machines.
From-SVN: r145691
Uros Bizjak [Tue, 7 Apr 2009 16:19:02 +0000 (09:19 -0700)]
ia64.c (ia64_builtins): Add IA64_BUILTIN_HUGE_VALQ.
2009-04-07 Uros Bizjak <ubizjak@gmail.com>
* config/ia64/ia64.c (ia64_builtins): Add IA64_BUILTIN_HUGE_VALQ.
(ia64_init_builtins): Handle IA64_BUILTIN_HUGE_VALQ.
(ia64_expand_builtin): Likewise.
From-SVN: r145690
Arnaud Charlet [Tue, 7 Apr 2009 16:15:57 +0000 (18:15 +0200)]
[multiple changes]
2009-04-07 Thomas Quinot <quinot@adacore.com>
* g-sothco.ads (Int_Access): Remove extraneous access type (use
anonymous access instead).
(Get_Socket_From_Set): Fix incorrectly reverted formals
Last and Socket to match the underlying C routine.
* g-socket.adb
(Get): Use named parameter associations instead of positional ones in
call go Get_Socket_From_Set, since this routine has two formals of the
same type.
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
(C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
for type of Arg formal.
* sem_warn.adb: Minor reformatting
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
over record components.
2009-04-07 Nicolas Roche <roche@adacore.com>
* gsocket.h:
Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
has disappeared between VxWorks 6.4 and VxWorks 6.5
In RTP mode use time.h instead of times.h
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
2009-04-07 Kevin Pouget <pouget@adacore.com>
* exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
expanded code for constrained types.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
AI05-105: in an object renaming declaration, anonymousness is a name
resolution rule.
sem_ch8.adb (Analyze_Object_Renaming): Ditto.
2009-04-07 Arnaud Charlet <charlet@adacore.com>
* g-comlin.adb (Expansion): Fix old regression: also return directory
names when matching.
From-SVN: r145689
Arnaud Charlet [Tue, 7 Apr 2009 15:57:44 +0000 (17:57 +0200)]
[multiple changes]
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb:
(Expand_N_Op_Concat): Call Expand_Concatenate for all cases
(Expand_Concatenate): New name for Expand_Concatenate_String which has
been rewritten to handle all types.
(Expand_Concatenate_Other): Remove
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb (Generate_Reference): A default subprogram in an
instance appears within the tree for the instance, but generates an
implicit reference in the ALI.
From-SVN: r145686
Martin Jambor [Tue, 7 Apr 2009 15:46:33 +0000 (17:46 +0200)]
tree-ssa-alias.c (refs_may_alias_p_1): Check for is_gimple_min_invariant rather than CONSTANT_CLASS_P so that...
2009-04-07 Martin Jambor <mjambor@suse.cz>
* tree-ssa-alias.c (refs_may_alias_p_1): Check for
is_gimple_min_invariant rather than CONSTANT_CLASS_P so that invariant
ADDR_EXPRS are include too.
From-SVN: r145685
Arnaud Charlet [Tue, 7 Apr 2009 15:46:23 +0000 (17:46 +0200)]
[multiple changes]
2009-04-07 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
derived type that has discriminants, propagate the list of interfaces
to the corresponding new base type. In addition, propagate also
attribute Limited_Present (found working in this patch).
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Rewrite concatenation expansion.
From-SVN: r145684
Arnaud Charlet [Tue, 7 Apr 2009 15:26:21 +0000 (17:26 +0200)]
[multiple changes]
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
relevant to packages.
2009-04-07 Robert Dewar <dewar@adacore.com>
* sem_attr.adb: Minor reformatting
* sem_ch6.adb: Minor reformatting
From-SVN: r145682
Arnaud Charlet [Tue, 7 Apr 2009 15:20:53 +0000 (17:20 +0200)]
[multiple changes]
2009-04-07 Tristan Gingold <gingold@adacore.com>
* socket.c: Add more protections against S_resolvLib_ macros.
2009-04-07 Thomas Quinot <quinot@adacore.com>
* sem_attr.adb: Minor reformatting
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): New predicate
Is_Overriding_Alias to handle properly types that inherit two homonym
operations that have distinct dispatch table entries.
From-SVN: r145681
Arnaud Charlet [Tue, 7 Apr 2009 15:16:34 +0000 (17:16 +0200)]
[multiple changes]
2009-04-07 Emmanuel Briot <briot@adacore.com>
* s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
looking for the end of a parenthesis group
2009-04-07 Tristan Gingold <gingold@adacore.com>
* gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
* socket.c Don't use resolvLib_ macros if not defined.
From-SVN: r145680
Arnaud Charlet [Tue, 7 Apr 2009 15:10:30 +0000 (17:10 +0200)]
[multiple changes]
2009-04-07 Robert Dewar <dewar@adacore.com>
* g-socket.adb: Minor reformatting.
* g-socthi-mingw.adb: Minor reformatting
* g-sothco.ads: Minor reformatting
* exp_ch4.adb:
(Expand_Concatenate_String): Complete rewrite to generate efficient code
inline instead of relying on external library routines.
* s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
obsolescent
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb:
(Eval_Attribute): for attributes of array objects that are not strings,
attributes are not static if nominal subtype of object is unconstrained.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
operations for a type T in an instance do not override each other,
when T is derived from a formal private type, the corresponding
operations inherited by a type derived from T outside
of the instance do not override each other either.
From-SVN: r145679
Arnaud Charlet [Tue, 7 Apr 2009 15:01:27 +0000 (17:01 +0200)]
[multiple changes]
2009-04-07 Robert Dewar <dewar@adacore.com>
(Osint.Fail): Change calling sequence to have one string arg
(Make.Make_Failed): Same change
All callers are adjusted to use concatenation
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Fix documentation typo
2009-04-07 Robert Dewar <dewar@adacore.com>
* tbuild.ads: Minor reformatting
2009-04-07 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
when compiling under ZFP runtime.
2009-04-07 Robert Dewar <dewar@adacore.com>
* g-comlin.adb: Minor reformatting
2009-04-07 Thomas Quinot <quinot@adacore.com>
* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
From-SVN: r145678
Robert Dewar [Tue, 7 Apr 2009 14:52:29 +0000 (14:52 +0000)]
gnat_ugn.texi: Document -gnatDnn/-gnatGnn
2009-04-07 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnatDnn/-gnatGnn
* opt.ads (Sprint_Line_Limit): New parameter
* sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
* switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
* usage.adb: Output information for -gnatGnn -gnatDnn
* make.adb: Minor reformatting
* mlib-tgt-specific-vms-alpha.adb: Minor reformatting
* mlib-tgt-specific-vms-ia64.adb: Minor reformatting
From-SVN: r145677
Richard Guenther [Tue, 7 Apr 2009 14:19:17 +0000 (14:19 +0000)]
tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased decls are only used if passes as parameters or if...
2009-04-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
decls are only used if passes as parameters or if they are
local statics and the call is not to a builtin.
(call_may_clobber_ref_p_1): Likewise.
From-SVN: r145676
Robert Dewar [Tue, 7 Apr 2009 14:18:13 +0000 (14:18 +0000)]
checks.adb: Remove Assume_Valid parameter from In_Subrange_Of calls
2009-04-07 Robert Dewar <dewar@adacore.com>
* checks.adb:
Remove Assume_Valid parameter from In_Subrange_Of calls
* sem_eval.adb:
(Is_Subrange_Of): Remove Assume_Valid parameter, not needed
(Is_In_Range): Remove incorrect use of Assume_Valid
(Is_Out_Of_Range): Remove incorrect use of Assume_Valid
* sem_eval.ads:
(Is_Subrange_Of): Remove Assume_Valid parameter, not needed
(Is_In_Range): Documentation cleanup
(Is_Out_Of_Range): Documentation cleanup
* gnat_rm.texi:
Add documentation for Assume_No_Invalid_Values pragma
* sem_ch12.adb: Minor reformatting
* sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
* sem_prag.adb: Improve error message.
* gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
LF/CR no longer recognized as line terminator
* switch.ads: Minor documentation improvement
* vms_data.ads: Minor reformatting
From-SVN: r145675
Arnaud Charlet [Tue, 7 Apr 2009 14:18:00 +0000 (16:18 +0200)]
Update baseline.
From-SVN: r145674
Laurent Guerby [Tue, 7 Apr 2009 14:07:24 +0000 (14:07 +0000)]
(correct version)
2009-04-06 Laurent GUERBY <laurent@guerby.net>
* Makefile.in (ADA_RTS_DIR): Define.
* Makefile.in (gnatlib-*): Link adainclude and adalib to it.
From-SVN: r145673
Robert Dewar [Tue, 7 Apr 2009 13:55:31 +0000 (13:55 +0000)]
checks.adb (Determine_Range): Add Assume_Valid parameter
2009-04-07 Robert Dewar <dewar@adacore.com>
* checks.adb (Determine_Range): Add Assume_Valid parameter
* checks.ads (Determine_Range): Add Assume_Valid parameter
* errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
Is_Null_Loop to suppress warnings in a loop body.
* exp_ch4.adb:
(Rewrite_Comparison): Major rewrite to accomodate invalid values
* exp_ch5.adb:
(Expand_N_Loop_Statement): Delete loop known not to execute
* opt.ads:
(Assume_No_Invalid_Values): Now set to False, and as documented, this
fully enables the proper handling of invalid values.
* sem_attr.adb:
New calling sequence for Is_In_Range
* sem_ch5.adb:
(Analyze_Iteration_Scheme): Accomodate possible invalid values
in determining if a loop range is null.
* sem_eval.adb:
(Is_In_Range): Add Assume_Valid parameter
(Is_Out_Of_Range): Add Assume_Valid_Parameter
(Compile_Time_Compare): Major rewrite to accomodate invalid values and
also to do more accurate and complete range analysis, catching more
cases.
* sem_eval.ads:
(Is_In_Range): Add Assume_Valid parameter
(Is_Out_Of_Range): Add Assume_Valid_Parameter
* sem_util.adb:
New calling sequence for Is_In_Range
* sinfo.adb:
(Suppress_Loop_Warnings): New flag
* sinfo.ads:
(Is_Null_Loop): Update documentation
(Suppress_Loop_Warnings): New flag
* gnat_ugn.texi: Document -gnatB switch
From-SVN: r145672
Arnaud Charlet [Tue, 7 Apr 2009 13:37:49 +0000 (13:37 +0000)]
* gnatvsn.ads: Bump version number.
From-SVN: r145671
Arnaud Charlet [Tue, 7 Apr 2009 13:21:50 +0000 (15:21 +0200)]
[multiple changes]
2009-04-07 Thomas Quinot <quinot@adacore.com>
* exp_ch3.adb: Minor rewording (comments)
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_disp.adb: Minor reformatting
From-SVN: r145670
Paolo Bonzini [Tue, 7 Apr 2009 12:48:16 +0000 (12:48 +0000)]
expr.c (do_store_flag): Remove last argument.
2009-04-07 Paolo Bonzini <bonzini@gnu.org>
* expr.c (do_store_flag): Remove last argument. Simplify code
to avoid duplication of tests already done by can_compare_p.
(expand_expr_real_1): Adjust caller.
From-SVN: r145668
Paolo Bonzini [Tue, 7 Apr 2009 12:39:37 +0000 (12:39 +0000)]
optabs.c (can_compare_p): Test the predicate of a cbranch and cstore pattern.
2009-04-07 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (can_compare_p): Test the predicate of a
cbranch and cstore pattern.
From-SVN: r145667
Paolo Bonzini [Tue, 7 Apr 2009 12:30:59 +0000 (12:30 +0000)]
expr.c (convert_move): Use emit_store_flag instead of "emulating" it.
2009-04-07 Paolo Bonzini <bonzini@gnu.org>
* expr.c (convert_move): Use emit_store_flag instead of
"emulating" it.
From-SVN: r145666
Paolo Bonzini [Tue, 7 Apr 2009 12:26:23 +0000 (12:26 +0000)]
i386.c (ix86_compare_emitted): Remove.
2009-04-07 Paolo Bonzini <bonzini@gnu.org>
* config/i386/i386.c (ix86_compare_emitted): Remove.
(ix86_expand_compare, ix86_expand_branch): Handle MODE_CC
ix86_compare_op0 like ix86_compare_emitted used to be handled.
* config/i386/i386.h (ix86_compare_emitted): Remove.
* config/i386/i386.md (stack_protect_test): Set ix86_compare_op0
instead of ix86_compare_emitted.
* config/i386/sync.md (sync_compare_and_swap_cc): Likewise.
From-SVN: r145665
Eric Botcazou [Tue, 7 Apr 2009 10:58:37 +0000 (10:58 +0000)]
decl.c (gnat_to_gnu_entity): Test the underlying type.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
underlying type.
* gcc-interface/trans.c (lvalue_required_p): Likewise.
From-SVN: r145663
Eric Botcazou [Tue, 7 Apr 2009 10:21:45 +0000 (10:21 +0000)]
trans.c (Attribute_to_gnu): Do not convert the result.
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
Do not convert the result. Remove obsolete comment.
From-SVN: r145662
Eric Botcazou [Tue, 7 Apr 2009 09:57:06 +0000 (09:57 +0000)]
trans.c (establish_gnat_vms_condition_handler): Clear DECL_CONTEXT.
* gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
DECL_CONTEXT.
(Subprogram_Body_to_gnu): Fix pasto.
From-SVN: r145661
Eric Botcazou [Tue, 7 Apr 2009 09:41:40 +0000 (09:41 +0000)]
gigi.h (standard_datatypes): Remove ADT_void_type_decl.
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
(void_type_decl_node): Remove.
(init_gigi_decls): Likewise.
(gnat_install_builtins): Declare.
(record_builtin_type): Likewise.
(create_type_stub_decl): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
(gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
artificial.
<E_Array_Subtype>: Use the index types, not only their name, in the
record giving the names of the bounds, if any.
For a packed array type, make it artificial only if the base type
was artificial as well. Remove redundant statement.
(gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
dummy types.
Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
(rest_of_type_decl_compilation_no_defer): Likewise.
* gcc-interface/misc.c (gnat_printable_name): Add missing guard.
* gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
and use create_type_stub_decl to build it.
(gnat_pushdecl): Rewrite condition.
(gnat_install_builtins): Remove bogus declaration.
(record_builtin_type): New function.
(finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
of types.
(create_type_stub_decl): New function.
(create_type_decl): Assert that the type is not dummy. If the type
hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
(build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
(build_vms_descriptor): Likewise.
(init_gigi_decls): Delete and move bulk of code to...
* gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
(emit_range_check): Add gnat_node parameter.
(emit_index_check): Likewise.
(emit_check): Likewise.
(build_unary_op_trapv): Likewise.
(build_binary_op_trapv): Likewise.
(convert_with_check): Likewise.
(Attribute_to_gnu): Adjust calls for above changes.
(call_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
(assoc_to_constructor): Likewise.
(pos_to_constructor): Likewise.
(Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
(process_type): Do not create TYPE_DECL for dummy types.
From-SVN: r145660
Eric Botcazou [Tue, 7 Apr 2009 08:26:08 +0000 (08:26 +0000)]
decl.c (gnat_to_gnu_entity): Reorder local variables.
* gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
* gcc-interface/trans.c: Fix formatting throughout. Fix comments.
* gcc-interface/utils.c: Fix comments.
From-SVN: r145658
Eric Botcazou [Tue, 7 Apr 2009 07:56:11 +0000 (07:56 +0000)]
decl.c (compile_time_known_address_p): Rewrite and move around.
* decl.c (compile_time_known_address_p): Rewrite and move around.
(gnat_to_gnu_type): Move around.
(get_unpadded_type): Likewise.
* utils.c (update_pointer_to): Use synthetic macro. Tidy comments.
From-SVN: r145654
Janus Weil [Tue, 7 Apr 2009 07:43:16 +0000 (09:43 +0200)]
repairing ChangeLog for my last commit
From-SVN: r145653
Eric Botcazou [Tue, 7 Apr 2009 07:36:31 +0000 (07:36 +0000)]
trans.c (check_for_eliminated_entity): New function.
* gcc-interface/trans.c (check_for_eliminated_entity): New function.
(Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
(call_to_gnu): Invoke it instead of manually checking.
From-SVN: r145652
Janus Weil [Tue, 7 Apr 2009 07:24:37 +0000 (09:24 +0200)]
re PR other/38920 (dw2 exceptions don't work.)
2009-04-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/38920
* expr.c (gfc_check_pointer_assign): Enable interface check for
procedure pointers.
* gfortran.h: Add copy_formal_args_intr.
* interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
if second argument is an intrinsic.
(compare_intr_interfaces): Correctly set attr.function, attr.subroutine
and ts.
(compare_parameter): Call gfc_compare_interfaces also for intrinsics.
* resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
intrinsic interfaces here. Must happen earlier.
(resolve_symbol): Resolution of intrinsic interfaces moved here from
resolve_specific_..., and formal args are now copied from intrinsic
interfaces.
* symbol.c (copy_formal_args_intr): New function to copy the formal
arguments from an intinsic procedure.
2009-04-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/38920
* gfortran.dg/proc_decl_1.f90: Modified.
* gfortran.dg/proc_ptr_11.f90: Extended.
* gfortran.dg/proc_ptr_13.f90: Modified.
From-SVN: r145651
Andrew Stubbs [Tue, 7 Apr 2009 07:10:43 +0000 (07:10 +0000)]
config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
2009-04-07 Andrew Stubbs <ams@codesourcery.com>
* config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
Add t-sysroot-suffix to tmake_file.
* config/print-sysroot-suffix.sh: New file.
* config/t-sysroot-suffix: New file.
From-SVN: r145650
Ben Elliston [Tue, 7 Apr 2009 03:26:32 +0000 (03:26 +0000)]
libgcc2.c (INFINITY): Use __builtin_huge_val...
* libgcc2.c (INFINITY): Use __builtin_huge_val, not __builtin_inf,
as the latter produces a warning when the target does not support
infinity.
From-SVN: r145646
Benjamin Kosnik [Tue, 7 Apr 2009 01:46:45 +0000 (01:46 +0000)]
Makefile.am (${pch1a_output}): Use gnu++0x flags instead of debug.
2009-04-06 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (${pch1a_output}): Use gnu++0x flags instead
of debug.
* include/Makefile.in: Regenerate.
* include/precompiled/stdc++.h: Add.
* doc/xml/api.xml: Add gcc-4.4 link.
* doc/html/api.html: Regenerate.
2009-04-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/random.h: Adjust doxygen markup.
* doc/doxygen/user.cfg.in: Prefer C++0x to tr1 includes.
* testsuite/26_numerics/random/piecewise_linear_distribution/
operators/serialize.cc: Use typedefs.
From-SVN: r145645
Ben Elliston [Tue, 7 Apr 2009 01:29:54 +0000 (01:29 +0000)]
dfp.c: Replace type punning assignments with memcpy throughout.
* dfp.c: Replace type punning assignments with memcpy throughout.
* Makefile.in (dfp.o-warn): Remove.
From-SVN: r145644
Alan Modra [Tue, 7 Apr 2009 00:47:21 +0000 (00:47 +0000)]
re PR target/39634 (powerpc64 libgcc contains useless softfp functions)
PR target/39634
* config.gcc: Merge powerpc-*-linux* and powerpc64-*-linux*.
Include soft-fp/t-softfp after rs6000/t-linux64.
* config.host: Reorder and merge to match config.gcc change.
From-SVN: r145641
GCC Administrator [Tue, 7 Apr 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r145640
H.J. Lu [Mon, 6 Apr 2009 23:07:51 +0000 (16:07 -0700)]
re PR libfortran/39664 (Revision 145571 breaks stdio)
2009-04-06 H.J. Lu <hongjiu.lu@intel.com>
PR libgfortran/39664
* io/unix.c (raw_close): Don't close STDOUT_FILENO,
STDERR_FILENO nor STDIN_FILENO.
From-SVN: r145636
Eric Botcazou [Mon, 6 Apr 2009 21:16:00 +0000 (21:16 +0000)]
stor-layout.c (set_sizetype): Use the full precision of their machine mode for bitsize types.
* stor-layout.c (set_sizetype): Use the full precision of their
machine mode for bitsize types.
From-SVN: r145631
H.J. Lu [Mon, 6 Apr 2009 21:13:20 +0000 (21:13 +0000)]
i386.md: Revert 2 accidental checkins.
2009-04-06 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md: Revert 2 accidental checkins.
From-SVN: r145630
Jason Merrill [Mon, 6 Apr 2009 20:55:04 +0000 (16:55 -0400)]
re PR c++/35146 (weird error in template function specialization)
PR c++/35146
* pt.c (fn_type_unification): For DEDUCE_EXACT check that
the deduced template arguments give us the parameter types
we're looking for.
From-SVN: r145625
Joey Ye [Mon, 6 Apr 2009 20:53:33 +0000 (20:53 +0000)]
Atom pipeline model, tuning and insn selection.
2009-04-06 Joey Ye <joey.ye@intel.com>
Xuepeng Guo <xuepeng.guo@intel.com>
H.J. Lu <hongjiu.lu@intel.com>
Atom pipeline model, tuning and insn selection.
* config.gcc (atom): Add atom config options and target.
* config/i386/atom.md: New.
* config/i386/i386.c (atom_cost): New cost.
(m_ATOM): New macro flag.
(initial_ix86_tune_features): Set m_ATOM.
(x86_accumulate_outgoing_args): Likewise.
(x86_arch_always_fancy_math_387): Likewise.
(processor_target): Add Atom cost.
(cpu_names): Add Atom cpu name.
(override_options): Set Atom ISA.
(ix86_issue_rate): New case PROCESSOR_ATOM.
(ix86_adjust_cost): Likewise.
* config/i386/i386.h (TARGET_ATOM): New target macro.
(ix86_tune_indices): Add X86_TUNE_OPT_AGU.
(TARGET_OPT_AGU): New target option.
(target_cpu_default): Add TARGET_CPU_DEFAULT_atom.
(processor_type): Add PROCESSOR_ATOM.
* config/i386/i386.md (cpu): Add new value "atom".
(use_carry, movu): New attr.
(atom.md): Include atom.md.
(adddi3_carry_rex64): Set attr "use_carry".
(addqi3_carry): Likewise.
(addhi3_carry): Likewise.
(addsi3_carry): Likewise.
(*addsi3_carry_zext): Likewise.
(subdi3_carry_rex64): Likewise.
(subqi3_carry): Likewise.
(subhi3_carry): Likewise.
(subsi3_carry): Likewise.
(x86_movdicc_0_m1_rex64): Likewise.
(*x86_movdicc_0_m1_se): Likewise.
(x86_movsicc_0_m1): Likewise.
(*x86_movsicc_0_m1_se): Likewise.
(*adddi_1_rex64): Emit add insn as much as possible.
(*addsi_1): Likewise.
(return_internal): Set atom_unit.
(return_internal_long): Likewise.
(return_pop_internal): Likewise.
(*rcpsf2_sse): Set atom_sse_attr attr.
(*qrt<mode>2_sse): Likewise.
(*prefetch_sse): Likewise.
* config/i386/i386-c.c (ix86_target_macros_internal): New case
PROCESSOR_ATOM.
(ix86_target_macros_internal): Likewise.
* config/i386/sse.md (cpu): Set attr "atom_sse_attr".
(*prefetch_sse_rex): Likewise.
(sse_rcpv4sf2): Likewise.
(sse_vmrcpv4sf2): Likewise.
(sse_sqrtv4sf2): Likewise.
(<sse>_vmsqrt<mode>2): Likewise.
(sse_ldmxcsr): Likewise.
(sse_stmxcsr): Likewise.
(*sse_sfence): Likewise.
(sse2_clflush): Likewise.
(*sse2_mfence): Likewise.
(*sse2_lfence): Likewise.
(avx_movup<avxmodesuffixf2c><avxmodesuffix>): Set attr "movu".
(<sse>_movup<ssemodesuffixf2c>): Likewise.
(avx_movdqu<avxmodesuffix>): Likewise.
(avx_lddqu<avxmodesuffix>): Likewise.
(sse2_movntv2di): Change attr "type" to "ssemov".
(sse2_movntsi): Likewise.
(rsqrtv8sf2): Change attr "type" to "sseadd".
(sse3_addsubv2df3): Set attr "atom_unit".
(sse3_h<plusminus_insn>v4sf3): Likewise.
(*sse2_pmaddwd): Likewise.
(*vec_extractv2di_1_rex64): Likewise.
(*vec_extractv2di_1_avx): Likewise.
(sse2_psadbw): Likewise.
(ssse3_phaddwv8hi3): Likewise.
(ssse3_phaddwv4hi3): Likewise.
(ssse3_phadddv4si3): Likewise.
(ssse3_phadddv2si3): Likewise.
(ssse3_phaddswv8hi3): Likewise.
(ssse3_phaddswv4hi3): Likewise.
(ssse3_phsubwv8hi3): Likewise.
(ssse3_phsubwv4hi3): Likewise.
(ssse3_phsubdv4si3): Likewise.
(ssse3_phsubdv2si3): Likewise.
(ssse3_phsubswv8hi3): Likewise.
(ssse3_phsubswv4hi3): Likewise.
(ssse3_pmaddubsw128): Likewise.
(sse3_pmaddubsw: Likewise.
(ssse3_palignrti): Likewise.
(ssse3_palignrdi): Likewise.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com>
From-SVN: r145624
Laurent GUERBY [Mon, 6 Apr 2009 20:18:10 +0000 (20:18 +0000)]
gnat.exp: Handle multilib.
testsuite/
2009-04-06 Laurent GUERBY <laurent@guerby.net>
* lib/gnat.exp: Handle multilib.
libada/
2009-04-06 Laurent GUERBY <laurent@guerby.net>
* Makefile.in (ADA_RTS_DIR): Define.
* Makefile.in (gnatlib-*): Link adainclude and adalib to it.
From-SVN: r145622
Paul Thomas [Mon, 6 Apr 2009 20:13:39 +0000 (20:13 +0000)]
re PR fortran/38863 (WHERE with multiple elemental defined assignments gives wrong answer)
2009-04-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38863
* dependency.c (ref_same_as_full_array): New function.
(gfc_dep_resolver): Call it.
2009-04-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38863
* gfortran.dg/dependency_23.f90: New test.
From-SVN: r145621
Gerald Pfeifer [Mon, 6 Apr 2009 19:38:39 +0000 (19:38 +0000)]
* doc/install.texi (Specific): Fix two cross-references to MinGW.
From-SVN: r145619
Andrew Stubbs [Mon, 6 Apr 2009 16:47:32 +0000 (16:47 +0000)]
atomicity.h: Put the SH4A specific functions in the __gnu_cxx namespace.
2009-04-06 Andrew Stubbs <ams@codesourcery.com>
* config/cpu/sh/atomicity.h: Put the SH4A specific functions in the
__gnu_cxx namespace. Remove "static inline".
From-SVN: r145613
David Edelsohn [Mon, 6 Apr 2009 15:32:03 +0000 (15:32 +0000)]
io.h (struct stream): Rename truncate to trunc.
* io/io.h (struct stream): Rename truncate to trunc.
(struncate): Same.
* io/unix.c (raw_init): Rename truncate to trunc.
(buf_init): Same.
(open_internal): Same.
From-SVN: r145608
Richard Guenther [Mon, 6 Apr 2009 14:55:31 +0000 (14:55 +0000)]
re PR tree-optimization/28868 (Not eliminating the PHIs which have the same arguments)
2009-04-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/28868
* tree-ssa-pre.c (inserted_phi_names): New bitmap to keep track
of which PHI results we inserted.
(insert_into_preds_of_block): Record inserted PHIs.
(eliminate): Eliminate redundant PHI nodes.
(init_pre): Init inserted_phi_names.
* gcc.dg/tree-ssa/ssa-fre-21.c: New testcase.
* gcc.dg/tree-ssa/ssa-sccvn-1.c: Adjust.
* gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
From-SVN: r145607
Paolo Carlini [Mon, 6 Apr 2009 14:50:06 +0000 (14:50 +0000)]
random.tcc (linear_congruential_engine<>:: seed(seed_seq&)): Fix typo in last fix for __m == 0.
2009-04-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc (linear_congruential_engine<>::
seed(seed_seq&)): Fix typo in last fix for __m == 0.
From-SVN: r145605
Richard Guenther [Mon, 6 Apr 2009 14:16:15 +0000 (14:16 +0000)]
re PR tree-optimization/39643 (cris-elf gcc.dg/torture/builtin-math-3.c -O1 and -Os sincos one)
2009-04-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39643
* tree-ssa-ccp.c (ccp_fold): Fold REALPART_EXPRs and
IMAGPART_EXPRs of complex constants.
(execute_fold_all_builtins): If we folded a call queue
TODO_update_address_taken.
From-SVN: r145604
Paolo Carlini [Mon, 6 Apr 2009 13:31:12 +0000 (13:31 +0000)]
random.h (operator==): Mark all inline.
2009-04-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (operator==): Mark all inline.
(mersenne_twister_engine): Enable #if 0 checks.
* include/bits/random.h: Formatting tweaks.
From-SVN: r145602
Andrew Stubbs [Mon, 6 Apr 2009 11:29:51 +0000 (11:29 +0000)]
pragma-isr-trapa2.c: Skip test for FPU-less architectures.
2009-04-06 Andrew Stubbs <ams@codesourcery.com>
gcc/testsuite/
* gcc.dg/pragma-isr-trapa2.c: Skip test for FPU-less architectures.
From-SVN: r145590
Jan Hubicka [Mon, 6 Apr 2009 11:24:32 +0000 (13:24 +0200)]
re PR middle-end/39659 (ICE building libstdc++v3 functexcept.cc)
PR middle-end/39659
* except.c (remove_unreachable_regions): Propagate may_contain_throw
flag.
From-SVN: r145589
Andrew Stubbs [Mon, 6 Apr 2009 11:22:09 +0000 (11:22 +0000)]
lib1funcs.asm (ic_invalidate): Move ICBI out of the delay slot.
2009-04-06 Andrew Stubbs <ams@codesourcery.com>
* config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the
delay slot.
(ic_invalidate_array): Likewise.
From-SVN: r145588
Andrew Stubbs [Mon, 6 Apr 2009 11:17:36 +0000 (11:17 +0000)]
sh4a-memmovua.c: Include string.h instead of stdlib.h.
2009-04-06 Andrew Stubbs <ams@codesourcery.com>
* gcc.target/sh/sh4a-memmovua.c: Include string.h instead of stdlib.h.
2009-04-06 Andrew Stubbs <ams@codesourcery.com>
* gcc.target/sh/sh4a-bitmovua.c (y0): Rename to y_0 to avoid a clash
with the built-in y0, and the subsequent warning.
(y1): Likewise, rename to y_1.
From-SVN: r145587
Hariharan Sandanagobalane [Mon, 6 Apr 2009 10:54:42 +0000 (10:54 +0000)]
calls.c (emit_library_call_value_1): Fix a problem with parameter alignment for library calls.
* calls.c (emit_library_call_value_1): Fix a problem with parameter
alignment for library calls.
From-SVN: r145586
Janus Weil [Mon, 6 Apr 2009 08:33:31 +0000 (10:33 +0200)]
re PR fortran/39414 (PROCEDURE statement double declaration bug)
2009-04-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/39414
* decl.c (match_procedure_decl): Fix double declaration problems with
PROCEDURE statements.
* symbol.c (gfc_add_type): Ditto.
2009-04-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/39414
* gfortran.dg/proc_decl_21.f90: New.
From-SVN: r145583
Danny Smith [Mon, 6 Apr 2009 07:25:36 +0000 (07:25 +0000)]
config.gcc (mingw32 tm_file): Add mingw-stdint.h.
* config.gcc (mingw32 tm_file): Add mingw-stdint.h.
(mingw32 tm clause use_gcc_stdint): Set to wrap.
* config/i386/mingw-stdint.h: New file.
From-SVN: r145582
Paul Thomas [Mon, 6 Apr 2009 05:25:46 +0000 (05:25 +0000)]
re PR fortran/36091 (false positive in bounds checking with forall)
2009-04-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/36091
* trans-array.c (gfc_conv_array_ref): If the symbol has the
temporary attribute use the array_spec for the bounds.
* gfortran.h : Add the temporary field to the structure
'symbol_attribute'.
* trans-stmt.c (forall_make_variable_temp): Set the symbol's
temporary attribute.
2009-04-06 Paul Thomas <pault@gcc.gnu.org
PR fortran/36091
* gfortran.dg/forall_13.f90: Add -fbounds-check option.
From-SVN: r145581
Hans-Peter Nilsson [Mon, 6 Apr 2009 03:41:44 +0000 (03:41 +0000)]
namelist_51.f90, [...]: Gate test on effective_target fd_truncate.
* gfortran.dg/namelist_51.f90, gfortran.dg/utf8_2.f03,
gfortran.dg/namelist_48.f90, gfortran.dg/read_repeat.f90,
gfortran.dg/streamio_9.f90, gfortran.dg/widechar_IO_1.f90,
gfortran.dg/namelist_50.f90, gfortran.dg/namelist_52.f90,
gfortran.dg/utf8_1.f03, gfortran.dg/namelist_56.f90,
gfortran.dg/namelist_49.f90: Gate test on effective_target
fd_truncate.
* gfortran.dg/widechar_IO_3.f90: Ditto. Fix typo in comment.
From-SVN: r145580
Jason Merrill [Mon, 6 Apr 2009 00:55:30 +0000 (20:55 -0400)]
fix markup
From-SVN: r145579
GCC Administrator [Mon, 6 Apr 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r145578
Paolo Carlini [Sun, 5 Apr 2009 22:51:37 +0000 (22:51 +0000)]
random.tcc (piecewise_linear_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Remove spurious closed parenthesis.
2009-04-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc (piecewise_linear_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&)):
Remove spurious closed parenthesis.
From-SVN: r145575
Daniel Kraft [Sun, 5 Apr 2009 20:23:21 +0000 (22:23 +0200)]
re PR libfortran/38654 (Fortran I/O speedup)
2009-04-05 Daniel Kraft <d@domob.eu>
PR fortran/38654
* gfortran.dg/read_float_2.f03
* gfortran.dg/read_float_3.f90
From-SVN: r145572
Jerry DeLisle [Sun, 5 Apr 2009 20:13:56 +0000 (20:13 +0000)]
[multiple changes]
2009-04-05 Daniel Kraft <d@domob.eu>
PR fortran/38654
* io/read.c (read_f): Reworked to speed up floating point parsing.
(convert_real): Use pointer-casting instead of memcpy and temporaries.
2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37754
* io/io.h (format_hash_entry): New structure for hash table.
(format_hash_table): The hash table itself.
(free_format_data): Revise function prototype.
(free_format_hash_table, init_format_hash,
free_format_hash): New function prototypes.
* io/unit.c (close_unit_1): Use free_format_hash_table.
* io/transfer.c (st_read_done, st_write_done): Free format data if
internal unit.
* io/format.c (free_format_hash_table): New function that frees any
memory allocated previously for cached format data.
(reset_node): New static helper function to reset the format counters
for a format node.
(reset_fnode_counters): New static function recursively calls reset_node
to traverse the fnode tree.
(format_hash): New simple hash function based on XOR, probabalistic,
tosses collisions.
(save_parsed_format): New static function to save the parsed format
data to use again.
(find_parsed_format): New static function searches the hash table
looking for a match.
(free_format_data): Revised to accept pointer to format data rather than
the dtp pointer so that the function can be used in more places.
(format_lex): Editorial.
(parse_format_list): Set flag used to determine of format data hashing
is to be used. Internal units are not persistent enough for this.
(revert): Move to ne location in file.
(parse_format): Use new functions to look for previously parsed
format strings and use them rather than re-parse. If not found, saves
the parsed format data for later use.
2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/37754
* io/transfer.c (formatted_transfer_scalar): Remove this function by
factoring it into two new functions, one for read and one for write,
eliminating all the conditionals for read or write mode.
(formatted transfer_scalar_read): New function.
(formatted transfer_scalar_write): New function.
(formatted_transfer): Use new functions.
2009-04-05 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/25561 libfortran/37754
* io/io.h (struct stream): Define new stream interface function
pointers, and inline functions for accessing it.
(struct fbuf): Use int instead of size_t, remove flushed element.
(mem_alloc_w): New prototype.
(mem_alloc_r): New prototype.
(stream_at_bof): Remove prototype.
(stream_at_eof): Remove prototype.
(file_position): Remove prototype.
(flush): Remove prototype.
(stream_offset): Remove prototype.
(unit_truncate): New prototype.
(read_block_form): Change to return pointer, int* argument.
(hit_eof): New prototype.
(fbuf_init): Change prototype.
(fbuf_reset): Change prototype.
(fbuf_alloc): Change prototype.
(fbuf_flush): Change prototype.
(fbuf_seek): Change prototype.
(fbuf_read): New prototype.
(fbuf_getc_refill): New prototype.
(fbuf_getc): New inline function.
* io/fbuf.c (fbuf_init): Use int, get rid of flushed.
(fbuf_debug): New function.
(fbuf_reset): Flush, and return position offset.
(fbuf_alloc): Simplify, don't flush, just realloc.
(fbuf_flush): Make usable for read mode, salvage remaining bytes.
(fbuf_seek): New whence argument.
(fbuf_read): New function.
(fbuf_getc_refill): New function.
* io/file_pos.c (formatted_backspace): Use new stream interface.
(unformatted_backspace): Likewise.
(st_backspace): Make sure format buffer is reset, use new stream
interface, use unit_truncate.
(st_endfile): Likewise.
(st_rewind): Likewise.
* io/intrinsics.c: Use new stream interface.
* io/list_read.c (push_char): Don't use u.p.scratch, use realloc
to resize.
(free_saved): Don't check u.p.scratch.
(next_char): Use new stream interface, use fbuf_getc() for external files.
(finish_list_read): flush format buffer.
(nml_query): Update to use modified interface:s
* io/open.c (test_endfile): Use new stream interface.
(edit_modes): Likewise.
(new_unit): Likewise, set bytes_left to 1 for stream files.
* io/read.c (read_l): Use new read_block_form interface.
(read_utf8): Likewise.
(read_utf8_char1): Likewise.
(read_default_char1): Likewise.
(read_utf8_char4): Likewise.
(read_default_char4): Likewise.
(read_a): Likewise.
(read_a_char4): Likewise.
(read_decimal): Likewise.
(read_radix): Likewise.
(read_f): Likewise.
* io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
usage of u.p.line_buffer.
(read_block_form): Update interface to return pointer, use
fbuf_read for direct access.
(read_block_direct): Update to new stream interface.
(write_block): Use mem_alloc_w for internal I/O.
(write_buf): Update to new stream interface.
(formatted_transfer_scalar): Don't use u.p.line_buffer, use
fbuf_seek for external files.
(us_read): Update to new stream interface.
(us_write): Likewise.
(data_transfer_init): Always check if we switch modes and flush.
(skip_record): Use new stream interface, fix comparison.
(next_record_r): Check for and reset u.p.at_eof, use new stream
interface, use fbuf_getc for spacing.
(write_us_marker): Update to new stream interface, don't inline.
(next_record_w_unf): Likewise.
(sset): New function.
(next_record_w): Use new stream interface, use fbuf for printing
newline.
(next_record): Use new stream interface.
(finalize_transfer): Remove sfree call, use new stream interface.
(st_iolength_done): Don't use u.p.scratch.
(st_read): Don't check for end of file.
(st_read_done): Don't use u.p.scratch, use unit_truncate.
(hit_eof): New function.
* io/unit.c (init_units): Always init fbuf for formatted units.
(update_position): Use new stream interface.
(unit_truncate): New function.
(finish_last_advance_record): Use fbuf to print newline.
* io/unix.c: Remove unused SSIZE_MAX macro.
(BUFFER_SIZE): Make static const variable rather than macro.
(struct unix_stream): Remove dirty_offset, len, method,
small_buffer. Order elements by decreasing size.
(struct int_stream): Remove.
(move_pos_offset): Remove usage of dirty_offset.
(reset_stream): Remove.
(do_read): Rename to raw_read, update to match new stream
interface.
(do_write): Rename to raw_write, update to new stream interface.
(raw_seek): New function.
(raw_tell): New function.
(raw_truncate): New function.
(raw_close): New function.
(raw_flush): New function.
(raw_init): New function.
(fd_alloc): Remove.
(fd_alloc_r_at): Remove.
(fd_alloc_w_at): Remove.
(fd_sfree): Remove.
(fd_seek): Remove.
(fd_truncate): Remove.
(fd_sset): Remove.
(fd_read): Remove.
(fd_write): Remove.
(fd_close): Remove.
(fd_open): Remove.
(fd_flush): Rename to buf_flush, update to new stream interface
and unix_stream.
(buf_read): New function.
(buf_write): New function.
(buf_seek): New function.
(buf_tell): New function.
(buf_truncate): New function.
(buf_close): New function.
(buf_init): New function.
(mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
(mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
(mem_read): Change to match new stream interface.
(mem_write): Likewise.
(mem_seek): Likewise.
(mem_tell): Likewise.
(mem_truncate): Likewise.
(mem_close): Likewise.
(mem_flush): New function.
(mem_sfree): Remove.
(empty_internal_buffer): Cast to correct type.
(open_internal): Use correct type, init function pointers.
(fd_to_stream): Test whether to open file as buffered or raw.
(output_stream): Remove mode set.
(error_stream): Likewise.
(flush_all_units_1): Use new stream interface.
(flush_all_units): Likewise.
(stream_at_bof): Remove.
(stream_at_eof): Remove.
(file_position): Remove.
(file_length): Update logic to use stream interface.
(flush): Remove.
(stream_offset): Remove.
* io/write.c (write_utf8_char4): Use int instead of size_t.
(write_x): Extra safety check.
(namelist_write_newline): Use new stream interface.
From-SVN: r145571
Richard Biener [Sun, 5 Apr 2009 19:50:28 +0000 (19:50 +0000)]
re PR c/39648 (internal compiler error: in fold_convert, at fold-const.c:2506)
2009-04-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39648
* tree-ssa-sccvn.c (vn_reference_fold_indirect): Work around
our &A vs. &A[0] IL deficiencies.
* gcc.c-torture/compile/pr39648.c: New testcase.
From-SVN: r145569
Jason Merrill [Sun, 5 Apr 2009 19:30:35 +0000 (15:30 -0400)]
fix ChangeLogs
From-SVN: r145567
Jason Merrill [Sun, 5 Apr 2009 19:29:02 +0000 (15:29 -0400)]
re PR c++/14912 (Do not print default template arguments in error messages)
PR c++/14912
* error.c (count_non_default_template_args): New fn.
(dump_template_parms): Call it.
(dump_template_argument_list): Call it. Add parms parm.
(dump_template_argument): Adjust call to dump_template_argument_list.
(dump_type, dump_decl): Likewise.
(dump_template_bindings): Refactor logic.
From-SVN: r145566
Jan Hubicka [Sun, 5 Apr 2009 18:33:13 +0000 (20:33 +0200)]
except.c (sjlj_find_directly_reachable_regions): Be ready for removed toplevel regions.
* except.c (sjlj_find_directly_reachable_regions): Be ready for removed toplevel
regions.
(sjlj_mark_call_sites): Likewise.
From-SVN: r145565
Daniel Franke [Sun, 5 Apr 2009 18:02:00 +0000 (14:02 -0400)]
re PR fortran/29458 (Spurious -Wuninitialized warning for implied do-loop counter)
gcc/fortran/:
2009-04-05 Daniel Franke <franke.daniel@gmail.com>
PR fortran/29458
* trans-array.c (gfc_trans_array_constructor_value): Shadow implied
do-loop variable to avoid spurious middle-end warnings.
gcc/testsuite/:
2009-04-05 Daniel Franke <franke.daniel@gmail.com>
PR fortran/29458
* gfortran.dg/implied_do_1.f90: New.
From-SVN: r145564
Paolo Carlini [Sun, 5 Apr 2009 16:56:16 +0000 (16:56 +0000)]
PR libstdc++/39644 (partial)
2009-04-05 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39644 (partial)
* include/bits/random.tcc (linear_congruential_engine<>::
seed(seed_seq&), independent_bits_engine<>::operator(),
generate_canonical(_UniformRandomNumberGenerator&)): Avoid log2l.
From-SVN: r145563
Dave Korn [Sun, 5 Apr 2009 16:11:54 +0000 (16:11 +0000)]
config.gcc (cygwin tm_file): Add cygwin-stdint.h.
* config.gcc (cygwin tm_file): Add cygwin-stdint.h.
(cygwin tm clause use_gcc_stdint): Set to wrap.
* config/i386/cygwin-stdint.h: New file.
From-SVN: r145562
GCC Administrator [Sun, 5 Apr 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r145558
Paolo Carlini [Sat, 4 Apr 2009 23:10:42 +0000 (23:10 +0000)]
2009-04-04 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typos in last ChangeLog entry.
From-SVN: r145554
Paolo Carlini [Sat, 4 Apr 2009 23:09:02 +0000 (23:09 +0000)]
[multiple changes]
2009-04-05 Edward M. Smith-Rowland <3dw4rd@verizon.net>
* include/bits/random.h (struct _ShiftMin1): Fix small typo and
thinko.
* testsuite/26_numerics/random/mersenne_twister_engine/cons/
default.cc: Enable.
2009-04-05 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39629 (partial)
* testsuite/26_numerics/random/independent_bits_engine/cons/
base_move.cc: Use uint_fast64_t instead of unsigned long.
* testsuite/26_numerics/random/independent_bits_engine/cons/
seed1.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/cons/
seed2.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/cons/
base_copy.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/cons/
seed_seq.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/
requirements/typedefs.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/
operators/equal.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/
operators/serialize.cc: Likewise.
* testsuite/26_numerics/random/mt19937_64.cc: Use ull.
From-SVN: r145553
Tobias Burnus [Sat, 4 Apr 2009 21:38:12 +0000 (23:38 +0200)]
re PR fortran/39577 (False positive with -fcheck=recursion)
2009-04-04 Tobias Burnus <burnus@net-b.de>
PR fortran/39577
* trans-decl.c (gfc_generate_function_code): Move recursive
check to the right position.
2009-04-04 Tobias Burnus <burnus@net-b.de>
PR fortran/39577
* gfortran.dg/recursive_check_8.f90: New.
* gfortran.dg/recursive_check_9.f90: New.
* gfortran.dg/recursive_check_10.f90: New.
* gfortran.dg/recursive_check_11.f90: New.
* gfortran.dg/recursive_check_12.f90: New.
* gfortran.dg/recursive_check_13.f90: New.
* gfortran.dg/recursive_check_14.f90: New.
From-SVN: r145552
Richard Guenther [Sat, 4 Apr 2009 20:53:39 +0000 (20:53 +0000)]
Makefile.in (tree-ssa-copy.o): Add $(CFGLOOP_H) dependency.
2009-04-04 Richard Guenther <rguenther@suse.de>
* Makefile.in (tree-ssa-copy.o): Add $(CFGLOOP_H) dependency.
* tree-ssa-copy.c (init_copy_prop): Do not propagate through
single-argument PHIs if we are in loop-closed SSA form.
* tree-vect-loop-manip.c (slpeel_add_loop_guard): Pass extra guards
for the pre-condition.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_build_loop_niters): Take an optional sequence to append stmts.
(vect_generate_tmps_on_preheader): Likewise.
(vect_do_peeling_for_loop_bound): Take extra guards for the
pre-condition.
(vect_do_peeling_for_alignment): Adjust. Unconditionally apply
the cost model check.
(vect_loop_versioning): Take stmt and stmt list to put pre-condition
guards if we are going to peel. Do not apply versioning in that
case.
* tree-vectorizer.h (vect_loop_versioning): Adjust declaration.
(vect_do_peeling_for_loop_bound): Likewise.
* tree-vect-loop.c (vect_transform_loop): If we are peeling for
loop bound only record extra pre-conditions, do not apply loop
versioning.
From-SVN: r145551
Jason Merrill [Sat, 4 Apr 2009 19:19:30 +0000 (15:19 -0400)]
re PR c++/25185 (deep typedef substitution in error message)
PR c++/25185
* error.c (dump_template_bindings): Look through typedefs in
typename results.
(dump_type) [TYPENAME_TYPE]: Print the typedef name if any.
(find_typenames_r): Also collect typedefs.
* pt.c (unify): Strip typedefs.
From-SVN: r145550
Eric Botcazou [Sat, 4 Apr 2009 19:11:05 +0000 (19:11 +0000)]
utils.c (finish_record_type): Force structural equality checks if the record type is discriminated.
* gcc-interface/utils.c (finish_record_type): Force structural equality
checks if the record type is discriminated.
From-SVN: r145549
Richard Guenther [Sat, 4 Apr 2009 18:54:42 +0000 (18:54 +0000)]
tree-ssa-operands.c (pop_stmt_changes): Remove automatic renaming code.
2009-04-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.c (pop_stmt_changes): Remove automatic
renaming code.
From-SVN: r145547
Jan Hubicka [Sat, 4 Apr 2009 18:31:39 +0000 (20:31 +0200)]
tree-ssa-uncprop.c (associate_equivalences_with_edges): Use last_basic_block for size of bb->index indexed array.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
last_basic_block for size of bb->index indexed array.
* bt-load.c (compute_defs_uses_and_gen, compute_kill,
compute_out, link_btr_uses, build_btr_def_use_webs,
build_btr_def_use_webs, migrate_btr_defs): Likewise.
From-SVN: r145546
Jan Hubicka [Sat, 4 Apr 2009 17:15:31 +0000 (19:15 +0200)]
except.c (remove_eh_handler_and_replace): Break out from ...
* except.c (remove_eh_handler_and_replace): Break out from ...
(remove_eh_handler): ... here.
(bring_to_root): New function.
(remove_unreachable_regions): Collect MUST_NOT_THROW, unify runtime
handled ones, bring others to root of tree.
From-SVN: r145545
Jan Hubicka [Sat, 4 Apr 2009 17:13:15 +0000 (17:13 +0000)]
Fix changelog entry.
From-SVN: r145544
Jan Hubicka [Sat, 4 Apr 2009 17:09:45 +0000 (19:09 +0200)]
except.c (remove_eh_handler): Make static.
* except.c (remove_eh_handler): Make static.
(eh_region_must_not_throw_p): Kill.
(expand_resx_expr): Assertize.
(duplicate_eh_regions): Accept callback as parameter; comment.
* except.h (duplicate_eh_regions): New function.
(remap_decl_v): Kill.
(copy_cfg_body): Update call of duplicate_eh_regions.
From-SVN: r145542
Paul Thomas [Sat, 4 Apr 2009 16:41:30 +0000 (16:41 +0000)]
re PR fortran/37614 (Change position of padding for aligned COMMONs)
2009-04-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37614
* trans-common.c (translate_common): Do not offset the whole
coomon block.
2009-04-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37614
* gfortran.dg/common_align_2.f90: New test.
From-SVN: r145541
Richard Guenther [Sat, 4 Apr 2009 14:12:10 +0000 (14:12 +0000)]
tree-ssa.c (verify_ssa): With -O0 we do not need VOPs.
2009-04-04 Richard Guenther <rguenther@suse.de>
* tree-ssa.c (verify_ssa): With -O0 we do not need VOPs.
* tree-ssa-operands.c (append_vdef): Do not append VOPs at -O0.
(append_vuse): Likewise.
From-SVN: r145539
Jakub Jelinek [Sat, 4 Apr 2009 11:41:16 +0000 (13:41 +0200)]
unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value.
* unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value.
* unwind-dw2.c (execute_cfa_program): Set how to REG_UNDEFINED
instead of REG_UNSAVED for DW_CFA_undefined.
(uw_update_context_1): Handle REG_UNDEFINED the same as REG_UNSAVED.
(uw_update_context): If RA column is REG_UNDEFINED, mark it as
outermost frame.
From-SVN: r145535
Richard Earnshaw [Sat, 4 Apr 2009 10:37:10 +0000 (10:37 +0000)]
re PR target/39501 (-O -ffinite-math-only gets min(x,y) optimization wrong for soft-float on arm-*-gnueabi)
PR target/39501
* arm.md (movsfcc): Disable if not TARGET_HARD_FLOAT.
* testsuite/gcc.c-torture/execute/pr39501.c: New file.
* testsuite/gcc.c-torture/execute/pr39501.x: New file.
From-SVN: r145534
Richard Guenther [Sat, 4 Apr 2009 09:34:32 +0000 (09:34 +0000)]
re PR c++/8781 (Pessimization of C++ (functional) code)
2009-04-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/8781
PR tree-optimization/37892
* tree-ssa-sccvn.h (vn_reference_fold_indirect): Declare.
* tree-ssa-sccvn.c (vn_reference_fold_indirect): New function.
(valueize_refs): Call it for *& valueizations.
(shared_reference_ops_from_ref): Rename to ...
(valueize_shared_reference_ops_from_ref): ... this and valueize.
(shared_reference_ops_from_call): Rename to ...
(valueize_shared_reference_ops_from_call): ... this and valueize.
(vn_reference_lookup): Update.
(visit_reference_op_call): Likewise.
* tree-ssa-pre.c (phi_translate_1): Fold *&.
(eliminate): Value-replace the call address in call statements.
* g++.dg/tree-ssa/pr8781.C: New testcase.
* gcc.dg/tree-ssa/ssa-pre-25.c: Likewise.
From-SVN: r145533