Tobias Burnus [Thu, 20 Dec 2007 08:16:48 +0000 (09:16 +0100)]
re PR libfortran/34530 (namelist read broken when whitespace after &namelist)
2007-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/34530
* io/list_read.c (eat_line): Move up in the file.
(eat_separator): In namelist mode, skip over comment lines.
2007-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/34530
* gfortran.dg/namelist_44.f90: New.
From-SVN: r131099
Tobias Burnus [Thu, 20 Dec 2007 08:13:09 +0000 (09:13 +0100)]
re PR fortran/34482 (FAIL: gfortran.dg/nan_4.f90 -O tests for errors)
2007-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/34482
* gfortran.texi (BOZ): Document behavior for complex
numbers.
* target-memory.h (gfc_convert_boz): Update prototype.
* target-memory.c (gfc_convert_boz): Add error check
and convert BOZ to smallest possible bit size.
* resolve.c (resolve_ordinary_assign): Check return value.
* expr.c (gfc_check_assign): Ditto.
* simplify.c (simplify_cmplx, gfc_simplify_dble,
gfc_simplify_float, gfc_simplify_real): Ditto.
2007-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/34482
* gfortran.dg/boz_8.f90: Add error-check check.
* gfortran.dg/boz_9.f90: Shorten BOZ where needed, replace
stop by call abort.
From-SVN: r131098
Sebastian Pop [Thu, 20 Dec 2007 03:42:17 +0000 (03:42 +0000)]
re PR tree-optimization/34413 (gfortran.dg/ltrans-7.f90 doesn't work)
2007-12-19 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/34413
* tree-data-ref.c (affine_fn_op, analyze_ziv_subscript,
analyze_siv_subscript_cst_affine, analyze_miv_subscript,
omega_setup_subscript): Use long_integer_type_node instead of
integer_type_node.
From-SVN: r131097
John David Anglin [Thu, 20 Dec 2007 01:17:57 +0000 (01:17 +0000)]
re PR target/34525 (ICE in extract_insn, at recog.c:1990 on hppa)
PR target/34525
* pa.c (legitimize_pic_address): Force function labels into memory.
From-SVN: r131096
GCC Administrator [Thu, 20 Dec 2007 00:17:51 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131094
Arnaud Charlet [Wed, 19 Dec 2007 16:50:42 +0000 (17:50 +0100)]
Add Sam's email for last sem_ch6.adb/sem_ch3.adb change.
From-SVN: r131089
Arnaud Charlet [Wed, 19 Dec 2007 16:47:36 +0000 (17:47 +0100)]
Resync.
From-SVN: r131088
Arnaud Charlet [Wed, 19 Dec 2007 16:27:18 +0000 (17:27 +0100)]
Update error message.
From-SVN: r131087
Robert Dewar [Wed, 19 Dec 2007 16:26:20 +0000 (17:26 +0100)]
gnat_rm.texi, [...]: Update documentation of -gnatw.o Fix name of Wide_Wide_Latin_1/9 file names Add...
2007-12-19 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
Fix name of Wide_Wide_Latin_1/9 file names
Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
Add missing documentation for Ada.Command_Line.Response_File
Update list of warning letters for Warnings pragma
Add documentation for pragma Unmodified
From-SVN: r131086
Vincent Celier [Wed, 19 Dec 2007 16:26:08 +0000 (17:26 +0100)]
makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so that the source path name is always found in the...
2007-12-19 Vincent Celier <celier@adacore.com>
* makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
that the source path name is always found in the dependencies.
From-SVN: r131085
Thomas Quinot [Wed, 19 Dec 2007 16:25:58 +0000 (17:25 +0100)]
Part of PR ada/33688
2007-12-19 Thomas Quinot <quinot@adacore.com>
Part of PR ada/33688
* gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
datagram info on Linux.
From-SVN: r131084
Tristan Gingold [Wed, 19 Dec 2007 16:25:33 +0000 (17:25 +0100)]
utils.c (create_var_decl_1): call rest_of_decl_compilation only for global variable.
2007-12-19 Tristan Gingold <gingold@adacore.com>
* utils.c (create_var_decl_1): call rest_of_decl_compilation only for
global variable.
From-SVN: r131083
Gary Dismukes [Wed, 19 Dec 2007 16:25:18 +0000 (17:25 +0100)]
re PR ada/34149 (GNAT crash - deeply inrerited function)
2007-12-19 Gary Dismukes <dismukes@adacore.com>
PR ada/34149
* sem_disp.adb (Check_Dispatching_Call): Augment existing test for
presence of a statically tagged operand (Present (Static_Tag)) with
test for Indeterm_Ancestor_Call when determining whether to propagate
the static tag to tag-indeterminate operands (which forces dispatching
on such calls).
(Check_Controlling_Formals):
Ada2005, access parameters can have
defaults.
(Add_Dispatching_Operation, Check_Operation_From_Private_View): do
not insert subprogram in list of primitive operations if already there.
From-SVN: r131082
Ed Schonberg [Wed, 19 Dec 2007 16:24:55 +0000 (17:24 +0100)]
sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings whose renamed entity is a subprogram that requires...
2007-12-19 Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
whose renamed entity is a subprogram that requires overriding.
(Premature_Usage): Test for the case of N_Full_Type_Declaration when
issuing an error for premature usage and issue a message that says
'type' rather than 'object'.
From-SVN: r131081
Bob Duff [Wed, 19 Dec 2007 16:24:44 +0000 (17:24 +0100)]
sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
2007-12-19 Bob Duff <duff@adacore.com>
* sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
(Analyze_Concatenation): Use iteration instead of recursion in order
to avoid running out of stack space for deeply nested concatenations.
From-SVN: r131080
Ed Schonberg [Wed, 19 Dec 2007 16:24:34 +0000 (17:24 +0100)]
PR ada/15803, ada/15805
2007-12-19 Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
PR ada/15803, ada/15805
* sem_ch6.adb, sem_ch3.adb (Constrain_Access): In
Ada2005, diagnose
illegal access subtypes when there is a constrained partial view.
(Check_For_Premature_Usage): New procedure inside
Access_Subprogram_Declaration for checking that an access-to-subprogram
type doesn't reference its own name within any formal parameters or
result type (including within nested anonymous access types).
(Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
(Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
context is an access_to_variable, the expression cannot be an
access_to_constant.
From-SVN: r131079
Vincent Celier [Wed, 19 Dec 2007 16:24:17 +0000 (17:24 +0100)]
prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when package is not known
2007-12-19 Vincent Celier <celier@adacore.com>
* prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
package is not known
* prj-attr.ads (Unknown_Package): New constant
Do not crash when an unknown package is in several projects
* prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
ignored
* prj-nmsc.adb (Check): Remove obsolete code related to no longer
existing package Language_Processing.
From-SVN: r131078
Ed Schonberg [Wed, 19 Dec 2007 16:24:06 +0000 (17:24 +0100)]
par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in mangled declaration
2007-12-19 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
mangled declaration
(P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
declarations.
(P_Variant_Part): Cleaner patch for parenthesized discriminant
From-SVN: r131077
Ed Schonberg [Wed, 19 Dec 2007 16:23:55 +0000 (17:23 +0100)]
freeze.adb (Freeze_Record_Type, [...]): Implement properly the
Ada2005 rules concerning when...
2007-12-19 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
properly the
Ada2005 rules concerning when the current instance of a
record type is aliased.
From-SVN: r131076
Robert Dewar [Wed, 19 Dec 2007 16:23:43 +0000 (17:23 +0100)]
exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type in complex case where array is Volatile.
2007-12-19 Robert Dewar <dewar@adacore.com>
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
in complex case where array is Volatile.
From-SVN: r131075
Robert Dewar [Wed, 19 Dec 2007 16:23:32 +0000 (17:23 +0100)]
exp_ch9.adb (Null_Statements): Moved to library level
2007-12-19 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb (Null_Statements): Moved to library level
(Trivial_Accept_OK): New function
(Expand_Accept_Declaration): Use Trivial_Accept_OK
(Expand_N_Accept_Statement): Use Trivial_Accept_OK
From-SVN: r131074
Javier Miranda [Wed, 19 Dec 2007 16:23:21 +0000 (17:23 +0100)]
exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry that forces the construction of static dispatch tables...
2007-12-19 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
that forces the construction of static dispatch tables in case of
record subtypes.
From-SVN: r131073
Robert Dewar [Wed, 19 Dec 2007 16:23:09 +0000 (17:23 +0100)]
exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in handling compile time known size of record or array (case of front...
2007-12-19 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
handling compile time known size of record or array (case of front end
layout active, e.g. in GNAAMP).
From-SVN: r131072
Ed Schonberg [Wed, 19 Dec 2007 16:22:56 +0000 (17:22 +0100)]
exp_aggr.adb (Not_OK_For_Backend): A component of a private type with discriminants forces expansion of the...
2007-12-19 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
discriminants forces expansion of the aggregate into assignments.
(Init_Record_Controller): If the type of the aggregate is untagged and
is not inherently limited, the record controller is not limited either.
From-SVN: r131071
Bob Duff [Wed, 19 Dec 2007 16:22:40 +0000 (17:22 +0100)]
atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the resulting tail recursion by hand.
2007-12-19 Bob Duff <duff@adacore.com>
* atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
the resulting tail recursion by hand. This prevents running out of
memory on deeply nested concatenations, since Field2 is where the left
operand of concatenations is stored.
Fix bug (was returning OK_Orig in some cases). Fix return subtype to
clarify that it can only return OK or Abandon.
* sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
operand by iteration, in order to avoid running out of memory on
deeply-nested concatenations. Use the Parent pointer to get back up the
tree.
(Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
Resolve_Op_Concat_Rest): New procedures split out of
Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
clearer.
* checks.adb (Remove_Checks): Use Traverse_Proc instead of
Traverse_Func, because the former already takes care of discarding the
result.
* errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
because the former already takes care of discarding the result.
(Remove_Warning_Messages): Use appropriate subtype for Status and
Discard
From-SVN: r131070
Eric Botcazou [Wed, 19 Dec 2007 16:22:26 +0000 (17:22 +0100)]
2007-12-19 Eric Botcazou <ebotcazou@adacore.com>
* targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
(Dynamic_Trampolines_Used): Delete.
* system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
Turn on stack probing mechanism on LynxOS.
From-SVN: r131069
Robert Dewar [Wed, 19 Dec 2007 16:22:02 +0000 (17:22 +0100)]
g-expect-vms.adb, [...]: Add pragma Warnings (Off) for unassigned IN OUT arguments
2007-12-19 Robert Dewar <dewar@adacore.com>
* g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
Add pragma Warnings (Off) for unassigned IN OUT arguments
* sem_warn.adb (Output_Reference): Suppress messages for internal names
(Check_References): Extensive changes to tune up warnings
(Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
(Has_Pragma_Unmodifed_Check_Spec): New function
(Check_References): Implement pragma Unmodified
(Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
* par-prag.adb: Dummy entry for pragma Unmodified
* sem_prag.adb: Implement pragma Unmodified
* einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
(Proc_Next_Component_Or_Discriminant): Fix typo.
Update comments.
* sem_util.adb (Note_Possible_Modification): Add processinng for pragma
Unmodified.
(Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
because the former already takes care of discarding the result.
(Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
Add comment.
* snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
From-SVN: r131068
Arnaud Charlet [Wed, 19 Dec 2007 16:17:40 +0000 (17:17 +0100)]
Make type limited as per Ada 2005 rules.
From-SVN: r131067
Arnaud Charlet [Wed, 19 Dec 2007 16:16:28 +0000 (17:16 +0100)]
Update test to follow Ada 2005 rules.
From-SVN: r131066
Paolo Bonzini [Wed, 19 Dec 2007 15:47:13 +0000 (15:47 +0000)]
insert missing entry for r128341 into ChangeLog, taken from svn log
From-SVN: r131065
Zdenek Dvorak [Wed, 19 Dec 2007 15:07:01 +0000 (16:07 +0100)]
omp-low.c (build_omp_regions_1): Recognition of combined parallels moved ...
* omp-low.c (build_omp_regions_1): Recognition of combined parallels
moved ...
(expand_omp): ... here.
* gcc.dg/gomp/combined-1.c: New test.
From-SVN: r131064
Zdenek Dvorak [Wed, 19 Dec 2007 15:01:19 +0000 (16:01 +0100)]
re PR tree-optimization/34355 (ICE: invariant not recomputed when ADDR_EXPR changed with -ftree-parallelize-loops)
PR tree-optimization/34355
* tree-parloops.c (take_address_of): Handle expresions
instead of just variables.
(eliminate_local_variables_1): Force whole invariant
address to ssa name.
* g++.dg/tree-ssa/pr34355.C: New test.
From-SVN: r131063
Etsushi Kato [Wed, 19 Dec 2007 14:28:32 +0000 (14:28 +0000)]
re PR target/30572 (target libraries links against /libgcc_s.1.dylib instead of $(prefix)/lib/libgcc_s.1.dylib)
2007-12-19 Etsushi Kato <ek.kato@gmail.com>
Paolo Bonzini <bonzini@gnu.org>
PR target/30572
* Makefile.in: Use @shlib_slibdir@ substitution to get correct install name
on darwin.
* config/t-slibgcc-darwin: Use @shlib_slibdir@ for -install_name.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r131062
Revital Eres [Wed, 19 Dec 2007 13:36:32 +0000 (13:36 +0000)]
Fix generation of reg-moves
From-SVN: r131060
Jakub Jelinek [Wed, 19 Dec 2007 12:58:32 +0000 (13:58 +0100)]
re PR c++/34513 (static variable not found for C++ OpenMP)
PR c++/34513
* parser.c (cp_parser_omp_parallel): For non-combined parallel
call cp_parser_statement rather than
cp_parser_already_scoped_statement.
* testsuite/libgomp.c/pr34513.c: New test.
* testsuite/libgomp.c++/pr34513.C: New test.
From-SVN: r131059
Richard Sandiford [Wed, 19 Dec 2007 09:54:45 +0000 (09:54 +0000)]
tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
gcc/
* tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
* emit-rtl.c (set_decl_incoming_rtl): Likewise. Don't set the
rtl's register attributes when the parameter is true.
* function.c (assign_parms_unsplit_complex, assign_parms)
(expand_function_start): Update calls to set_decl_incoming_rtl.
From-SVN: r131056
Richard Sandiford [Wed, 19 Dec 2007 09:54:24 +0000 (09:54 +0000)]
rtl.def (SUBREG): Update comments.
gcc/
* rtl.def (SUBREG): Update comments.
* rtl.h (reg_attrs): Be explicit about the type of offset used.
(set_reg_attrs_from_mem): Rename to...
(set_reg_attrs_from_value): ...this.
(adjust_reg_mode, byte_lowpart_offset): Declare.
* emit-rtl.c (byte_lowpart_offset): New function.
(update_reg_offset): Remove special offset handling for big-endian
targets.
(gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
offset parameter is added to REG_OFFSET.
(adjust_reg_mode): New function.
(set_reg_attrs_for_mem): Rename to...
(set_reg_attrs_for_value): ...this and generalize to all values.
If the register is a lowpart of the value, adjust the offset
accordingly.
(set_reg_attrs_for_parm): Update after the above renaming.
(set_reg_attrs_for_decl_rtl): New function, split out from
set_decl_incoming_rtl. Set the offset of plain REGs to the
offset of the REG's mode from the decl's. Assert that all
subregs are lowparts and handle their inner registers in the
same way as plain REGs.
(set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
(subreg_lowpart_offset): Explicitly say that the returned offset
is a SUBREG_BYTE.
* combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
instead of PUT_MODE.
* final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
* config/ia64/ia64.c (ia64_expand_load_address): Likewise.
* regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
* reload.c (find_reloads_subreg_address): Call set_mem_offset
when offseting a MEM.
* var-tracking.c (offset_valid_for_tracked_p): Delete.
(mode_for_reg_attrs): Replace with...
(track_loc_p): ...this new function. Return the mode and offset
to the caller, checking that the latter is valid. If the rtx is
a paradoxical lowpart of the decl, use the decl's mode instead.
Do the same when storing to a register that contains the entire decl.
(var_lowpart): Use byte_lowpart_offset rather than
subreg_lowpart_offset when adjusting the offset attribute.
(count_uses, add_uses, add_stores): Use track_reg_p instead of
REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
offset_valid_for_tracked_p and mode_for_reg_attrs. Generate
lowparts for MEMs as well as REGs.
(vt_add_function_parameters): When obtaining the information from
the decl_rtl, adjust the offset to match incoming. Use track_loc_p
and var_lowpart.
From-SVN: r131055
Samuel Tardieu [Wed, 19 Dec 2007 09:45:43 +0000 (09:45 +0000)]
Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
gcc/ada/
* Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
From-SVN: r131054
Jerry DeLisle [Wed, 19 Dec 2007 05:58:53 +0000 (05:58 +0000)]
re PR fortran/34325 (Wrong error message for syntax error)
2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34325
* gfortran.dg/missing_parens_1.f90: New.
* gfortran.dg/missing_parens_1.f90: New.
From-SVN: r131053
Jerry DeLisle [Wed, 19 Dec 2007 05:55:17 +0000 (05:55 +0000)]
re PR fortran/34325 (Wrong error message for syntax error)
2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34325
* match.h: New function declaration.
* match.c (gfc_match_parens): New function to look for mismatched
parenthesis. (gfc_match_if): Use new function to catch missing '('.
From-SVN: r131052
GCC Administrator [Wed, 19 Dec 2007 00:17:19 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131050
Daniel Franke [Tue, 18 Dec 2007 23:39:56 +0000 (18:39 -0500)]
re PR fortran/34495 (accepts invalid initialization expressions withTRANSFER)
gcc/fortran:
2007-12-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34495
* expr.c (check_init_expr): Check whether variables with flavor
FL_PARAMETER do have a value assigned. Added error messages where
appropriate.
* simplify.c (gfc_simplify_transfer): Added check if the MOLD
argument is a constant if working with initialization
expressions.
gcc/testsuite:
2007-12-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34495
* gfortran.dg/transfer_simplify_2.f90: Fixed invalid initialization
expressions.
* gfortran.dg/transfer_simplify_7.f90: New test.
From-SVN: r131047
Janis Johnson [Tue, 18 Dec 2007 22:52:13 +0000 (22:52 +0000)]
* gcc.dg/pr32912-3.c: Compile with -w.
From-SVN: r131046
Janis Johnson [Tue, 18 Dec 2007 22:50:56 +0000 (22:50 +0000)]
* gcc.dg/torture/builtin-modf-1.c: Remove -funsafe-math-optimizations.
From-SVN: r131045
Jason Merrill [Tue, 18 Dec 2007 22:25:20 +0000 (17:25 -0500)]
re PR c++/34206 (ICE in retrieve_local_specialization)
PR c++/34206
* pt.c (tsubst_aggr_type): Do nothing if the type already doesn't
use template parms.
(dependent_type_p_r): Handle the domain of an array.
From-SVN: r131044
Doug Gregor [Tue, 18 Dec 2007 21:20:17 +0000 (21:20 +0000)]
Accidentally failed to commit ChangeLog
From-SVN: r131042
Douglas Gregor [Tue, 18 Dec 2007 21:19:41 +0000 (21:19 +0000)]
re PR c++/32565 (ICE with specialization of variadic template)
2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/32565
PR c++/33943
PR c++/33965
* pt.c (template_template_parm_bindings_ok_p): New; verifies
bindings of template template parameters after all template
arguments have been deduced.
(coerce_template_parms): Don't complain when COMPLAIN doesn't
include tf_error.
(fn_type_unification): Use template_template_parm_bindings_ok_p.
(unify): Deal with variadic, bound template template parameters.
(get_class_bindings): Use template_template_parm_bindings_ok_p.
2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/32565
PR c++/33943
PR c++/33965
* g++.dg/cpp0x/variadic86.C: New.
* g++.dg/cpp0x/variadic87.C: New.
* g++.dg/cpp0x/variadic84.C: New.
* g++.dg/cpp0x/variadic85.C: New.
* g++.dg/template/ttp25.C: New.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r131041
Sebastian Pop [Tue, 18 Dec 2007 19:40:35 +0000 (19:40 +0000)]
re PR tree-optimization/34123 (verify_ssa failed with -ftree-loop-linear)
2007-12-18 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/34123
* lambda-code.c (can_duplicate_iv): New.
(cannot_convert_modify_to_perfect_nest): New.
(cannot_convert_bb_to_perfect_nest): New.
(can_convert_to_perfect_nest): Split up.
* gcc.dg/tree-ssa/pr34123.c: New test.
From-SVN: r131040
David Daney [Tue, 18 Dec 2007 16:46:16 +0000 (16:46 +0000)]
mips.md (clear_hazard): Use PRINT_OPERAND punctuation instead of .set push and .set pop.
2007-12-18 David Daney <ddaney@avtrex.com>
* config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation
instead of .set push and .set pop.
From-SVN: r131038
Rask Ingemann Lambertsen [Tue, 18 Dec 2007 15:30:57 +0000 (16:30 +0100)]
re PR target/33474 (bfin: ICE: RTL check: expected code 'set' or 'clobber', have 'parallel' in bfin_adjust_cost, at config/bfin/bfin.c:3120)
PR target/33474
* config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find
the SET.
From-SVN: r131037
Andrew Haley [Tue, 18 Dec 2007 14:06:15 +0000 (14:06 +0000)]
re PR java/27643 (ICE in java_mark_cni_decl_local compiling bytecode->native)
2007-12-18 Andrew Haley <aph@redhat.com>
PR java/27643
* jcf-parse.c (java_parse_file): Remove call to
java_mark_class_local.
(parse_class_file): Reinstate call to java_mark_class_local here.
* decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
already set, call java_mangle_decl() and make_decl_rtl() to
rewrite its name as a hidden alias.
From-SVN: r131036
Razya Ladelsky [Tue, 18 Dec 2007 11:21:48 +0000 (11:21 +0000)]
tree-parloops.c (reduiction_info): Change documentation of reduction_initial field.
2007-12-18 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c (reduiction_info): Change documentation of
reduction_initial field.
(initialize_reductions): Remove creation of reduction_initial
variable.
(create_loads_for_reductions): don't join reduction_initial to
the loaded value.
From-SVN: r131035
Paolo Carlini [Tue, 18 Dec 2007 10:33:35 +0000 (10:33 +0000)]
2007-12-18 Paolo Carlini <pcarlini@suse.de>
Tweak the last ChangeLog.
From-SVN: r131034
Richard Sandiford [Tue, 18 Dec 2007 07:40:17 +0000 (07:40 +0000)]
200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
gcc/
200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
PR rtl-optimization/34456
* resource.c (mark_set_resources): Use regs_invalidated_by_call
rather than call_used_regs and global_regs.
gcc/testsuite/
PR rtl-optimization/34456
* gcc.c-torture/execute/pr34456.c: New test.
From-SVN: r131033
Hans-Peter Nilsson [Tue, 18 Dec 2007 03:22:37 +0000 (03:22 +0000)]
inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New.
* inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New.
* fixincl.x: Regenerate.
* tests/base/wchar.h: Update.
* tests/base/features.h: New.
From-SVN: r131031
GCC Administrator [Tue, 18 Dec 2007 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131028
Jakub Jelinek [Tue, 18 Dec 2007 00:15:32 +0000 (01:15 +0100)]
re PR c++/34488 (ICE on invalid friend declaration)
PR c++/34488
* decl.c (grokdeclarator): Reject friend sfk_constructor
FUNCTION_TYPE.
* g++.dg/parse/friend7.C: New test.
From-SVN: r131025
Jakub Jelinek [Tue, 18 Dec 2007 00:13:29 +0000 (01:13 +0100)]
re PR rtl-optimization/34490 (r128833 causes miscompilation of glibc clock_gettime.c)
PR rtl-optimization/34490
* simplify-rtx.c (simplify_const_relational_operation): If !sign,
don't reduce mmin/mmax using num_sign_bit_copies.
* gcc.c-torture/execute/
20071216-1.c: New test.
From-SVN: r131023
Jonathan Wakely [Mon, 17 Dec 2007 22:07:39 +0000 (22:07 +0000)]
locale_classes.h: Simplify RTTI checks.
2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/locale_classes.h: Simplify RTTI checks.
From-SVN: r131020
Jonathan Wakely [Mon, 17 Dec 2007 21:37:26 +0000 (21:37 +0000)]
test.html: Fix paths and notes on running subset of tests.
2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* docs/html/test.html: Fix paths and notes on running subset of tests.
* docs/html/ext/parallel_mode.html: Fix markup typos.
* docs/html/ext/pb_ds/index.html: Likewise.
From-SVN: r131019
Kaveh R. Ghazi [Mon, 17 Dec 2007 21:28:51 +0000 (21:28 +0000)]
configure.ac: Change required MPFR from 2.2.0 -> 2.2.1.
* configure.ac: Change required MPFR from 2.2.0 -> 2.2.1.
Change recommended MPFR from 2.2.1 > 2.3.0.
* configure: Regenerate.
gcc:
* doc/install.texi: Change recommended MPFR from 2.2.1 > 2.3.0.
testsuite:
* gcc.dg/torture/builtin-math-4.c: Remove XFAIL.
From-SVN: r131018
Andreas Schwab [Mon, 17 Dec 2007 21:05:06 +0000 (21:05 +0000)]
* doc/invoke.texi (Warning Options): Use @itemx.
From-SVN: r131017
Dorit Nuzman [Mon, 17 Dec 2007 20:54:01 +0000 (20:54 +0000)]
tree-vectorizer.h (verbosity_levels): Add new verbosity level REPORT_COST.
* tree-vectorizer.h (verbosity_levels): Add new verbosity level
REPORT_COST.
* tree-vect-transform.c (vect_estimate_min_profitable_iters): Change
verbosity level to REPORT_COST.
(vect_model_reduction_cost): Likewise.
(vect_model_induction_cost): Likewise.
(vect_model_simple_cost): likewise.
(vect_model_store_cost): likewise.
(vect_model_load_cost): likewise.
(conservative_cost_threshold): Likewise. Remove print.
From-SVN: r131016
Benjamin Kosnik [Mon, 17 Dec 2007 19:41:32 +0000 (19:41 +0000)]
standard_facet_hierarchies.cc: Fix for generic locale model.
2007-12-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/global_templates/
standard_facet_hierarchies.cc: Fix for generic locale model.
From-SVN: r131013
Jack Howarth [Mon, 17 Dec 2007 19:30:08 +0000 (19:30 +0000)]
re PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address)
2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
PR target/32765
* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
From-SVN: r131012
Rask Ingemann Lambertsen [Mon, 17 Dec 2007 18:38:09 +0000 (19:38 +0100)]
* doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
From-SVN: r131011
Jakub Jelinek [Mon, 17 Dec 2007 17:06:44 +0000 (18:06 +0100)]
Makefile.am (compile-tests): Build libjava.jvmti/interp/*.h with -jni rather than -cni.
* testsuite/Makefile.am (compile-tests): Build
libjava.jvmti/interp/*.h with -jni rather than -cni.
* testsuite/Makefile.in: Rebuilt.
From-SVN: r131010
Jakub Jelinek [Mon, 17 Dec 2007 14:16:42 +0000 (15:16 +0100)]
re PR c/34506 (gcc disallows comma between C/C++ OpenMP clauses)
PR c/34506
* c-parser.c (c_parser_omp_all_clauses): Accept optional comma
in between clauses.
* parser.c (cp_parser_omp_all_clauses): Accept optional comma
in between clauses.
* gcc.dg/gomp/clause-2.c: New test.
* g++.dg/gomp/clause-4.C: New test.
From-SVN: r131008
Tobias Burnus [Mon, 17 Dec 2007 11:24:06 +0000 (12:24 +0100)]
intrinsic.c (add_functions): Undo change; mark float and sngl as STD_F77.
2007-12-17 Tobias Burnus <burnus@net-b.de>
* intrinsic.c (add_functions): Undo change; mark float and
sngl as STD_F77.
* intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
* gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
2007-12-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/initialization_16.f90: Update as FLOAT/SNGL are
part of Fortran 77/95/2003.
From-SVN: r131007
Dorit Nuzman [Mon, 17 Dec 2007 11:13:56 +0000 (11:13 +0000)]
re PR tree-optimization/34445 (internal compiler error: in cost_for_stmt, at tree-vect-transform.c:98)
PR tree-optimization/34445
* tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip
stmts (including live stmts) that are not relevant.
From-SVN: r131006
Arnaud Charlet [Mon, 17 Dec 2007 10:09:55 +0000 (10:09 +0000)]
* s-vxwork-alpha.ads: Removed, no longer used.
From-SVN: r131005
Jerry DeLisle [Mon, 17 Dec 2007 00:51:25 +0000 (00:51 +0000)]
re PR libfortran/34427 (Revision 130708 breaks namelist input)
2007-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34427
* gfortran.dg/namelist_42.f90: Update.
* gfortran.dg/namelist_43.f90: New.
From-SVN: r131004
Jerry DeLisle [Mon, 17 Dec 2007 00:47:14 +0000 (00:47 +0000)]
re PR libfortran/34427 (Revision 130708 breaks namelist input)
2007-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34427
* io/list_read.c (read_real): Handle intervening line ends and spaces.
(get_name): Don't push separators to saved_string.
(eat_separator): If in namelist mode eat spaces and line ends as well.
From-SVN: r131003
GCC Administrator [Mon, 17 Dec 2007 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131001
Jack Howarth [Sun, 16 Dec 2007 23:22:30 +0000 (23:22 +0000)]
re PR target/34025 (Warning when compiling with -m64 -ffast-math on Intel Darwin)
PR target/34025
* config/i386/t-crtpc: Add $(MULTILIB_CFLAGS).
* config/i386/t-crtfm: Likewise.
From-SVN: r130998
Uros Bizjak [Sun, 16 Dec 2007 23:12:15 +0000 (00:12 +0100)]
i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
From-SVN: r130997
Jonathan Wakely [Sun, 16 Dec 2007 22:44:01 +0000 (22:44 +0000)]
ChangeLog: Fix my email address in previous two entries.
2007-12-16 Jonathan Wakely <jwakely.gcc@gmail.com>
* ChangeLog: Fix my email address in previous two entries.
From-SVN: r130996
Jonathan Wakely [Sun, 16 Dec 2007 22:31:16 +0000 (22:31 +0000)]
default_weaktoshared.cc: Add required dg-option for cygwin and darwin targets.
2007-12-16 Jonathan Wakely <jwakely-gcc@gmail.com>
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
required dg-option for cygwin and darwin targets.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
From-SVN: r130995
Tobias Burnus [Sun, 16 Dec 2007 22:12:55 +0000 (23:12 +0100)]
re PR fortran/34495 (accepts invalid initialization expressions withTRANSFER)
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34495
* intrinsic.c (add_functions): Mark float and sngl as STD_GNU.
(gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX
in initialization expressions for -std=f95.
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34495
* gfortran.dg/initialization_16.f90: New.
From-SVN: r130994
Thomas Koenig [Sun, 16 Dec 2007 21:09:34 +0000 (21:09 +0000)]
re PR fortran/34305 (ICE with array(real) declaration)
2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/34305
* resolve.c (compare_bound): If either of the types of
the arguments isn't INTEGER, return CMP_UNKNOWN.
2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/34305
* gfortran.dg/real_dimension_1.f: New test case.
From-SVN: r130993
Rask Ingemann Lambertsen [Sun, 16 Dec 2007 20:46:01 +0000 (21:46 +0100)]
* gcc.dg/torture/pr24257.c: Remove -O from options.
From-SVN: r130992
Tobias Burnus [Sun, 16 Dec 2007 20:24:32 +0000 (21:24 +0100)]
re PR fortran/34246 (gfortran.dg/bind_c_usage_16.f03 doesn't work)
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34246
* trans-types.c (gfc_init_types): Change build_type_variant
to build_qualified_type.
(gfc_sym_type): Return gfc_character1_type_node for
character-returning bind(C) functions.
* trans-expr.c (gfc_conv_function_call): Do not set
se->string_length for character-returning bind(c) functions.
(gfc_trans_string_copy,gfc_trans_scalar_assign):
Support also single characters.
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34246
* gfortran.dg/bind_c_usage_16.f03: Extend test.
From-SVN: r130991
Bernhard Fischer [Sun, 16 Dec 2007 17:16:15 +0000 (18:16 +0100)]
Undo misguided distinction WRT deciding if a warning is an error or a warning.
A Warning is a warning, diagnostics DTRT. Cosmetic correction from fallout for
fix for PR21061. See ML-archives for details on why this hunk is wrong but
still harmless in effect.
2007-12-16 Bernhard Fischer <aldot@gcc.gnu.org>
* errors.c (gfc_notify_std): As originally stated but improperly
changed, disregard warnings_are_errors for deciding which buffer
to use for warnings.
From-SVN: r130990
Uros Bizjak [Sun, 16 Dec 2007 12:26:29 +0000 (13:26 +0100)]
tree-vect-transform.c (conservative_cost_threshold): Add missing space to "not vectorized" message.
* tree-vect-transform.c (conservative_cost_threshold): Add missing
space to "not vectorized" message.
From-SVN: r130989
Paul Thomas [Sun, 16 Dec 2007 11:34:08 +0000 (11:34 +0000)]
re PR fortran/31213 (ICE on valid code with gfortran)
2007-12-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31213
PR fortran/33888
PR fortran/33998
* trans-array.c (gfc_trans_array_constructor_value): If the
iterator variable does not have a backend_decl, use a local
temporary.
(get_elemental_fcn_charlen): New function to map the character
length of an elemental function onto its actual arglist.
(gfc_conv_expr_descriptor): Call the above so that the size of
the temporary can be evaluated.
* trans-expr.c : Include arith.h and change prototype of
gfc_apply_interface_mapping_to_expr to return void. Change all
references to gfc_apply_interface_mapping_to_expr accordingly.
(gfc_free_interface_mapping): Free the 'expr' field.
(gfc_add_interface_mapping): Add an argument for the actual
argument expression. This is copied to the 'expr' field of the
mapping. Only stabilize the backend_decl if the se is present.
Copy the character length expression and only add it's backend
declaration if se is present. Return without working on the
backend declaration for the new symbol if se is not present.
(gfc_map_intrinsic_function) : To simplify intrinsics 'len',
'size', 'ubound' and 'lbound' and then to map the result.
(gfc_map_fcn_formal_to_actual): Performs the formal to actual
mapping for the case of a function found in a specification
expression in the interface being mapped.
(gfc_apply_interface_mapping_to_ref): Remove seen_result and
all its references. Remove the inline simplification of LEN
and call gfc_map_intrinsic_function instead. Change the
order of mapping of the actual arguments and simplifying
intrinsic functions. Finally, if a function maps to an
actual argument, call gfc_map_fcn_formal_to_actual.
(gfc_conv_function_call): Add 'e' to the call to
gfc_add_interface_mapping.
* dump-parse-tree.c (gfc_show_symbol_n): New function for
diagnostic purposes.
* gfortran.h : Add prototype for gfc_show_symbol_n.
* trans.h : Add 'expr' field to gfc_add_interface_mapping.
Add 'expr' to prototype for gfc_show_symbol_n.
* resolve.c (resolve_generic_f0): Set specific function as
referenced.
2007-12-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31213
PR fortran/33888
PR fortran/33998
* gfortran.dg/mapping_1.f90: New test.
* gfortran.dg/mapping_2.f90: New test.
* gfortran.dg/mapping_3.f90: New test.
From-SVN: r130988
Richard Sandiford [Sun, 16 Dec 2007 09:54:34 +0000 (09:54 +0000)]
re PR rtl-optimization/34415 (Possible miscompilation on MIPS)
gcc/
PR rtl-optimization/34415
* df.h (DF_LR_IN, DF_LR_OUT): Update comments.
* resource.c (mark_target_live_regs): Use DF_LR_IN rather than
df_get_live_in. Don't handle pseudos.
gcc/testsuite/
PR rtl-optimization/34415
* gcc.c-torture/execute/pr34415.c: New test.
From-SVN: r130987
Sebastian Pop [Sun, 16 Dec 2007 01:01:23 +0000 (01:01 +0000)]
patch_tester.sh: Don't save the script anymore.
2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
* patch_tester.sh: Don't save the script anymore.
From-SVN: r130986
GCC Administrator [Sun, 16 Dec 2007 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130984
Sebastian Pop [Sun, 16 Dec 2007 00:08:17 +0000 (00:08 +0000)]
patch_tester.sh: New.
2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
* patch_tester.sh: New.
* prepare_patch.sh: New.
From-SVN: r130981
Danny Smith [Sat, 15 Dec 2007 23:57:36 +0000 (23:57 +0000)]
fastcall-1.c (f4): Change return type to void.
* gcc.target/i386/fastcall-1.c (f4): Change return type to
void.
From-SVN: r130980
Jakub Jelinek [Sat, 15 Dec 2007 23:08:47 +0000 (00:08 +0100)]
re PR bootstrap/34003 (gcc trunk unable to bootstrap itself; Unsatisfied symbols: ggc_free)
PR bootstrap/34003
* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
* config/pa/pa.c (pa_encode_section_info): If !first, preserve
SYMBOL_FLAG_REFERENCED flag.
* gcc.dg/pr34003-1.c: New test.
* gcc.dg/pr34003-2.c: New.
From-SVN: r130979
Jonathan Wakely [Sat, 15 Dec 2007 23:06:45 +0000 (23:06 +0000)]
boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references.
2007-12-15 Jonathan Wakely <jwakely-gcc@gmail.com>
* include/tr1_impl/boost_shared_ptr.h: Add support for allocators,
aliasing, make_shared and rvalue-references. Move __shared_count
and _Sp_counted_* classes to new headers.
* include/tr1_impl/boost_sp_counted_base.h: New.
* include/bits/boost_sp_shared_count.h: New.
* include/tr1/boost_sp_shared_count.h: New.
* include/std/memory, include/tr1/memory: Include new headers.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* docs/html/documentation.html: Link to shared_ptr notes.
* docs/html/20_util/shared_ptr.html: New.
* docs/html/17_intro/c++0x_status.html: Update shared_ptr status.
* testsuite/20_util/shared_ptr/cons/alias.cc: New.
* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Duplicate tr1 test.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/24805.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc:
Remove.
* testsuite/20_util/weak_ptr/lock/1.cc: Duplicate tr1 test.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc:
Remove.
From-SVN: r130978
Jonathan Wakely [Sat, 15 Dec 2007 22:28:29 +0000 (22:28 +0000)]
boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references.
2007-12-15 Jonathan Wakely <jwakely-gcc@gmail.com>
* include/tr1_impl/boost_shared_ptr.h: Add support for allocators,
aliasing, make_shared and rvalue-references. Move __shared_count
and _Sp_counted_* classes to new headers.
* include/tr1_impl/boost_sp_counted_base.h: New.
* include/bits/boost_sp_shared_count.h: New.
* include/tr1/boost_sp_shared_count.h: New.
* include/std/memory, include/tr1/memory: Include new headers.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* docs/html/documentation.html: Link to shared_ptr notes.
* docs/html/20_util/shared_ptr.html: New.
* docs/html/17_intro/c++0x_status.html: Update shared_ptr status.
* testsuite/20_util/shared_ptr/cons/alias.cc: New.
* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Duplicate tr1 test.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/24805.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc:
Remove.
* testsuite/20_util/weak_ptr/lock/1.cc: Duplicate tr1 test.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc:
Remove.
From-SVN: r130977
Joseph Myers [Sat, 15 Dec 2007 22:15:51 +0000 (22:15 +0000)]
* sv.po: Update.
From-SVN: r130976
Alexandre Oliva [Sat, 15 Dec 2007 21:46:41 +0000 (21:46 +0000)]
* tree.c (type_hash_add): Fix whitespace.
From-SVN: r130974
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:39:14 +0000 (21:39 +0000)]
Add CRIS v32 support. Fix -mcc-init.
From-SVN: r130973
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:38:34 +0000 (21:38 +0000)]
* config/cris/cris-protos.h (cris_register_move_cost)
(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.
From-SVN: r130972
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:38:19 +0000 (21:38 +0000)]
cris.md: Group related constants together, with comments local.
* gcc/config/cris/cris.md: Group related constants together, with
comments local.
(CRIS_UNSPEC_PLT_GOTREL, CRIS_UNSPEC_PLT_PCREL, CRIS_UNSPEC_PCREL)
(CRIS_UNSPEC_CASESI): New constants.
(CRIS_UNSPEC_PLT): Remove constant.
(CRIS_ACR_REGNUM): New constant.
("slottable"): New attr alternatives "has_return_slot" and
"has_call_slot".
("cc"): New attr alternatives "noov32" and "rev".
((eq_attr "slottable" "has_call_slot"))
((eq_attr "slottable" "has_return_slot")): New define_delays.
("movdi", "movsi"): Adjust operands for CRIS v32.
("tstdi", "cmpdi", "adddi3", "subdi3", "uminsi3")
("indirect_jump"): Ditto. Make define_expand.
("*tstdi_non_v32", "*tstdi_v32", "*tst<mode>_cmp")
("*tst<mode>_non_cmp", "*cmpdi_non_v32", "*cmpdi_v32")
("*movdi_v32", "*adddi3_non_v32", "*adddi3_v32")
("*addsi3_non_v32", "*addsi3_v32", "*addhi3_non_v32")
("*addhi3_v32", "*addqi3_non_v32", "*addqi3_v32")
("*subdi3_non_v32", "*subdi3_v32", "*subsi3_non_v32")
("*subsi3_v32", "*sub<mode>3_nonv32", "*sub<mode>3_v32")
("*andqi3_non_v32", "*andqi3_v32", "*iorsi3_non_v32")
("*iorsi3_v32", "*iorhi3_non_v32", "*iorhi3_v32")
("*iorqi3_non_v32", "*iorqi3_v32", "*uminsi3_non_v32")
("*uminsi3_v32", "*indirect_jump_non_v32", "*indirect_jump_v32")
("*expanded_call_v32", "*expanded_call_value_v32"): New patterns,
for the corresponding standard name.
("tst<mode>"): Limit to BW and make define_expand.
("tstsi"): Make separate insn, adjusting for CRIS v32.
("*cmp_swapext<mode>"): Adjust for v32. Specify "rev" for attr "cc".
("cmpsi", "cmp<mode>"): Remove special cases for zero. Specify
attr "cc".
("*btst"): Don't match for TARGET_CCINIT. Replace test of
register with compatible "cmpq 0". Specify attr "cc".
("*movdi_insn_non_v32"): New pattern, replacing "*movdi_insn" and
define_split.
(define_split for DI move): Match CRIS v32 only.
("*movsi_got_load", "*movsi_internal", "*addi"): Adjust for CRIS
v32.
("load_multiple", "store_multiple", "*addsbw_v32", "*addubw_v32")
("*adds<mode>_v32", "*addu<mode>_v32", "*bound<mode>_v32")
("*casesi_jump_v32", "*expanded_andsi_v32", "*expanded_andhi_v32")
("*extop<mode>si_v32", "*extopqihi_v32", "*andhi_lowpart_v32")
("*andqi_lowpart_v32", "cris_casesi_v32"): New patterns.
("add<mode>3"): Make addsi3, addhi3 and addqi3 define_expand.
("sub<mode>3"): Ditto subsi3, subhi3 and subqi3.
("ior<mode>3"): Ditto iorsi3, iorhi3 and iorqi3.
("*extopqihi_non_v32"): Replace "*extopqihi".
("*extop<mode>si_non_v32"): Replace "*extop<mode>si".
("*addxqihi_swap_non_v32"): Rename from "*extopqihi_swap", make
non-v32 only.
("*extop<mode>si_swap_non_v32"): Ditto "*extop<mode>si_swap".
("*expanded_andsi_non_v32"): Ditto "*expanded_andsi".
("*expanded_andhi_non_v32"): Ditto "*expanded_andhi".
("*andhi_lowpart_non_v32"): Ditto "*andhi_lowpart".
("*andqi_lowpart_non_v32"): Ditto "*andqi_lowpart".
("*expanded_call_non_v32"): Ditto "*expanded_call". Change from
"cris_general_operand_or_plt_symbol" to "general_operand".
("*expanded_call_value_non_v32") Ditto "*expanded_call_value".
("*casesi_adds_w", "mstep_shift", "mstep_mul")
("*expanded_call_side", "*expanded_call_value_side")
(op-extend-split, op-extend-split-rx=rz, op-extend-split-swapped)
(op-extend-split-swapped-rx=rz, op-extend, op-split-rx=rz)
(op-split-swapped, op-split-swapped-rx=rz): Make non-v32 only.
("dstep_mul", "xorsi3", "one_cmplsi2", "<shlr>si3")
("*expanded_<shlr><mode>", "*<shlr><mode>_lowpart", "ashl<mode>3")
("*ashl<mode>_lowpart", "abssi2", "clzsi2", "bswapsi2", "cris_swap_bits"): Specify "noov32" for
attr "cc".
("<su>mulsi3_highpart"): Ditto. Correct operand 0 to
register_operand.
("andqi3"): Make define_expand.
("*return_expanded"): For attr "slottable", change from "has_slot"
to "has_return_slot".
("cris_casesi_non_v32"): New pattern, old contents of "casesi".
("casesi"): Divert into "cris_casesi_v32" and
"cris_casesi_non_v32".
(moversideqi, movemsideqi, mover2side): Require
TARGET_SIDE_EFFECT_PREFIXES.
(gotplt-to-plt, gotplt-to-plt-side): Change from CRIS_UNSPEC_PLT
to CRIS_UNSPEC_PLT_GOTREL.
From-SVN: r130971
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:37:55 +0000 (21:37 +0000)]
cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
CRIS_DEFAULT_TUNE.
(CRIS_CPP_SUBTARGET_SPEC): Ditto. Add CRIS_ARCH_CPP_DEFAULT.
(ASM_SPEC): Add sanity-check erroring out when both -march= and
-mcpu= are specified. Pass on either as --march=v32.
(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
(CRIS_CPU_V32): New macro.
[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
Define v32-adjusted TARGET_DEFAULT.
(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
CRIS_CPU_BASE.
(TARGET_V32): New macro.
(REG_ALLOC_ORDER_V32): New macro.
(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
into CRIS_ACR_REGNUM.
(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS,
GENNONACR_REGS and SPEC_GENNONACR_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
GENNONACR_REGS, BASE_REG_CLASS otherwise.
(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
for CRIS_ACR_REGNUM.
(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
(EXTRA_CONSTRAINT): New constraint 'U'.
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
(SIMPLE_ADDRESS_P): Remove.
(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
SIMPLE_ADDRESS_P. Make one chained if-else, finishing as
non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
(REGISTER_MOVE_COST): Just call the new function
cris_register_move_cost.
(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
cris_rel_symbol. All users changed.
(REGISTER_NAMES): Replace "pc" with "acr".
(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
(ASM_OUTPUT_CASE_END): Just call the new function
cris_asm_output_case_end.
From-SVN: r130970
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:37:37 +0000 (21:37 +0000)]
linux.h: Sanity-check TARGET_CPU_DEFAULT for presence and contents.
* config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
presence and contents.
(CRIS_SUBTARGET_DEFAULT_ARCH): New macro, MASK_AVOID_GOTPLT for
v32, 0 otherwise.
(CRIS_CPP_SUBTARGET_SPEC, CRIS_CC1_SUBTARGET_SPEC,
CRIS_ASM_SUBTARGET_SPEC): Adjust for different
TARGET_CPU_DEFAULT.
(CRIS_SUBTARGET_DEFAULT): Add CRIS_SUBTARGET_DEFAULT_ARCH.
From-SVN: r130969