1. 15 Mar, 2005 20 commits
    • a-stzunb.adb, [...]: Move Realloc_For_Chunk to private part of package. · 798a9055
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
      	a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
      	Realloc_For_Chunk to private part of package.
      	New subprograms for AI-301
      
      	* a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
      	Get_Line procedure.
      	Avoid unnecessary use of Get/Set_Wide_String
      
      From-SVN: r96487
      Robert Dewar committed
    • a-reatim.ads, [...]: Add functions Minutes and Seconds for AI-386. · f122ea71
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
      	AI-386.
      
      	* a-retide.ads: Minor comment changes
      
      From-SVN: r96486
      Robert Dewar committed
    • tracebak.c: Under Darwin, use the same unwinding mechanisms as under PPC/AIX. · 0f76876e
      2005-03-08  Nicolas Setton  <setton@adacore.com>
      
      	* tracebak.c: Under Darwin, use the same unwinding mechanisms as under
      	PPC/AIX.
      
      From-SVN: r96485
      Nicolas Setton committed
    • adaint.c: Prefix #include of VMS system header files with vms/ [VMS]... · 6178dd5c
      2005-03-08  Doug Rupp  <rupp@adacore.com>
      
      	* adaint.c: Prefix #include of VMS system header files with vms/
      	[VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
      	Do not define a dummy function "convert_addresses" under Darwin,
      	not needed.
      
      	* tb-alvms.c, expect.c: Prefix #include of VMS system header files
      	with vms/
      
      From-SVN: r96484
      Doug Rupp committed
    • s-intman-posix.adb (Notify_Exception): Adjust signature, as handler for… · 3f8abd98
      s-intman-posix.adb (Notify_Exception): Adjust signature, as handler for sigactions with SA_SIGINFO set.
      
      2005-03-08  Olivier Hainque  <hainque@adacore.com>
      
      	* s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
      	for sigactions with SA_SIGINFO set. Call
      	__gnat_adjust_context_for_raise before raising, to perform the
      	potentially required adjustments to the machine context for the GCC
      	unwinder.
      
      	* raise.h (__gnat_adjust_context_for_raise): New prototype.
      
      	* init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
      	Adjust PC by one in the provided machine context.
      	(__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
      	so that the handler is passed the context structure to adjust prior to
      	the raise.
      	(__gnat_error_handler) HPUX: Adjust the signature to match what an
      	SA_SIGINFO sigaction should look like. Call
      	__gnat_adjust_context_for_raise before actually raising.
      	(__gnat_adjust_context_for_raise): Default noop to help PC
      	adjustments before raise from signal handlers.
      	(__gnat_error_handler): Indirectly call a predicate function to
      	determine if a condition should be resignaled or not.
      	(__gnat_set_resignal_predicate): User interface to modify the predicate.
      	(__gnat_default_resignal_p): Default GNAT predicate.
      
      From-SVN: r96482
      Olivier Hainque committed
    • mlib-tgt-tru64.adb, [...] (Library_Exist_For, [...]): Add new parameter In_Tree… · 7e98a4c6
      mlib-tgt-tru64.adb, [...] (Library_Exist_For, [...]): Add new parameter In_Tree to specify the project tree...
      
      2005-03-08  Vincent Celier  <celier@adacore.com>
      
      	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
      	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
      	mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
      	mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
      	Library_File_Name_For): Add new parameter In_Tree
      	to specify the project tree: needed by the project manager.
      	Adapt to changes in project manager using new parameter In_Tree.
      	Remove local imports, use functions in System.CRTL.
      
      	* make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
      	to use the project manager.
      
      	* makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
      	In_Tree to designate the project tree. Adapt to changes in the project
      	manager, using In_Tree.
      
      	* mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
      	Copy_Interface_Sources): Add new parameter In_Tree to specify the
      	project tree: needed by the project manager.
      	(Build_Library): Check that Arg'Length >= 6 before checking if it
      	contains "--RTS=...".
      
      	* mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
      	Library_File_Name_For): Add new parameter In_Tree to specify the
      	project tree: needed by the project manager.
      
      	* prj.ads, prj.adb: Major modifications to allow several project trees
      	in memory at the same time.
      	Change tables to dynamic tables and hash tables to dynamic hash
      	tables. Move tables and hash tables from Prj.Com (in the visible part)
      	and Prj.Env (in the private part). Move some constants from the visible
      	part to the private part. Make other constants deferred.
      	(Project_Empty): Make it a variable, not a function
      	(Empty_Project): Add parameter Tree. Returns the data with the default
      	naming data of the project tree Tree.
      	(Initialize): After updating Std_Naming_Data, copy its value to the
      	component Naming of Project Empty.
      	(Register_Default_Naming_Scheme): Use and update the default naming
      	component of the project tree, instead of the global variable
      	Std_Naming_Data.
      	(Standard_Naming_Data): Add defaulted parameter Tree. If project tree
      	Tree is not defaulted, return the default naming data of the Tree.
      	(Initial_Buffer_Size): Constant moved from private part
      	(Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
      	variables initialized in procedure Initialize.
      	(Add_To_Buffer): Add two in out parameters to replace global variables
      	Buffer and Buffer_Last.
      	(Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
      	functions.
      	Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
      	hash tables.
      	(Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
      	for the project tree.
      	(Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
      	constant at the beginning of the package spec, so that they cane be used
      	in subprograms before their full declarations.
      	(Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
      	(Empty_Project): Add parameter of type Project_Node_Ref
      	(Private_Project_Tree_Data): Add component Default_Naming of type
      	Naming_Data.
      	(Buffer, Buffer_Last): remove global variables
      	(Add_To_Buffer): Add two in out parameters to replace global variables
      	Buffer and Buffer_Last.
      	(Current_Packages_To_Check): Remove global variable
      	(Empty_Name): Move to private part
      	(No-Symbols): Make it a constant
      	(Private_Project_Tree_Data): New type for the private part of the
      	project tree data.
      	(Project_Tree_Data): New type for the data of a project tree
      	(Project_Tree_Ref): New type to designate a project tree
      	(Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
      	for the project tree.
      
      	* prj-attr.ads: Add with Table; needed, as package Prj no longer
      	imports package Table.
      
      	* prj-com.adb: Remove empty, no longer needed body
      
      	* prj-com.ads: Move most of the content of this package to package Prj.
      
      	* prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
      	designate the project node tree and Packages_To_Check to replace
      	global variable Current_Packages_To_Check.
      	Add new parameters In_Tree and Packages_To_Check to local subprograms,
      	when needed. Adapt to changes in project manager with project node tree
      	In_Tree.
      
      	* prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
      	project tree to most subprograms. Move tables and hash tables to
      	private part of package Prj.
      	Adapt to changes in project manager using project tree In_Tree.
      
      	* prj-makr.adb (Tree): New constant to designate the project node tree
      	Adapt to change in project manager using project node tree Tree
      
      	* prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
      	display the Library_Src_Dir and the Library_Dir.
      	Add new parameter In_Tree to designate the project node tree to most
      	subprograms. Adapt to changes in the project manager, using project tree
      	In_Tree.
      	(Check_Naming_Scheme): Do not alter the casing on platforms where
      	the casing of file names is not significant.
      	(Check): Add new parameter In_Tree to designate the
      
      	* prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
      	designate the project tree.
      	Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
      
      	* prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
      	to replace those that were in the private part of package Prj.
      	Add new parameter In__Tree to designate the project node tree to most
      	subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
      	(Post_Parse_Context_Clause): When specifying the project node of a with
      	clause, indicate that it is a limited with only if there is "limited"
      	in the with clause, not necessarily when In_Limited is True.
      	(Parse): Add new parameter In_Tree to designate the project node tree
      
      	* prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
      	designate the project node tree. Adapt to change in Prj.Tree with
      	project node tree In_Tree.
      
      	* prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
      	tree In_Tree in the call to function Empty_Process to give its initial
      	value to the project data Processed_Data.
      	Add new parameters In_Tree to designate the project tree and
      	From_Project_Node_Tree to designate the project node tree to several
      	subprograms. Adapt to change in project manager with project tree
      	In_Tree and project node tree From_Project_Node_Tree.
      
      	* prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
      	to replace those that were in the private part of package Prj.
      	Add new parameter In_Tree to designate the project node tree to most
      	subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
      
      	* prj-tree.ads, prj-tree.adb: Add new parameter of type
      	Project_Node_Tree_Ref to most subprograms.
      	Use this new parameter to store project nodes in the designated project
      	node tree.
      	(Project_Node_Tree_Ref): New type to designate a project node tree
      	(Tree_Private_Part): Change table to dynamic table and hash tables to
      	dynamic hash tables.
      
      	* prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
      	the project tree to most subprograms. Adapt to changes in project
      	manager using project tree In_Tree.
      
      	* makegpr.adb (Project_Tree): New constant needed to use project
      	manager.
      
      From-SVN: r96481
      Vincent Celier committed
    • s390.c (s390_secondary_output_reload_class): Adapt check for non-offsettable… · 0ca89db7
      s390.c (s390_secondary_output_reload_class): Adapt check for non-offsettable memory references to cope with outstanding...
      
      	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
      	for non-offsettable memory references to cope with outstanding reload
      	replacements, take 2.
      
      From-SVN: r96480
      Ulrich Weigand committed
    • s-osinte-tru64.ads, [...] (Get_Stack_Base): New function · 09c239f6
      2005-03-08  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
      	(Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
      	calling thread.
      	(Stack_Base_Available): New flag.
      	(Get_Page_Size): New overloaded functions imported from C.
      	(PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
      	PROT_ON, PROT_OFF): New constants.
      	(mprotect): New function imported from C.
      	(pthread_teb_t): New record type.
      
      	* s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
      	(Create_Task): Account for the Yellow Zone and the guard page.
      
      From-SVN: r96479
      Eric Botcazou committed
    • system-unixware.ads, [...]: Add line defining Compiler_System_Version to be False. · 0b6eb8e1
      2005-03-08  Robert Dewar  <dewar@adacore.com>
      
      	* system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
      	system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
      	system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
      	system-vxworks-xscale.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-os2.ads,
      	system-interix.ads, system-solaris-sparc.ads,
      	system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
      	system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
      	system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
      	system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
      	system-linux-s390.ads, system-linux-s390x.ads: Add line defining
      	Compiler_System_Version to be False.
      
      	* opt.ads: Add new flag Opt.Address_Is_Private
      
      	* targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
      	Add new parameter Compiler_System_Version to avoid checking for
      	completeness of parameters when compiler is compiling itself.
      	Allows old versions of GNAT to be compiled with new compiler.
      
      From-SVN: r96478
      Robert Dewar committed
    • re PR target/18668 (use prescott's fisttp) · 9199f050
      	PR target/18668
      	* config/i386/i386.h (x86_fisttp): New.
      	(TARGET_FISTTP): New macro.
      	* config/i386/i386.c (x86_fisttp): Set for NOCONA.
      	(output_fix_trunc): Add fisttp parameter.  Generate fisttp x87
      	instruction when fisttp flag is set.
      	* config/i386/i386-protos.h (output_fix_trunc): Change declaration.
      
      	* config/i386/i386.md (type attribute): Add fisttp.
      	(unit attribute): Set to i387 for fisttp type.
      	(X87MODEF, X87MODEI, SSEMODEF, SSEMODEI24): New mode macros.
      	(fix_truncxfdi2, fix_truncxfsi2): Generate fisttp patterns for
      	TARGET_FISTTP.
      	(fix_truncdfdi2, fix_truncsfdi2, fix_truncdfsi2, fix_truncsfsi2):
      	Generate fisttp patterns for TARGET_FISTTP. Implement using mode
      	macros.
      	(fix_truncxfhi2, fix_truncdfhi2, fix_truncsfhi2): Generate fisttp
      	patterns for TARGET_FISTTP.  Enable patterns for
      	(TARGET_FISTTP && !TARGET_SSE_MATH). Implement using mode macros.
      	(fix_trunc<mode>_i387_fisttp_1, fix_trunc<mode>_i387_fisttp,
      	fix_trunc<mode>_i387_fisttp_with_temp): New instruction patterns to
      	implement fisttp x87 insn.
      	(fix_trunc*_i387_fisttp splitters): New patterns.
      	(*fix_truncdi_i387, *fix_truncsi_i387, *fix_trunchi_i387):
      	Rename to *fix_trunc<mode>_i387_1.  Implement using mode macros.
      	Disable patterns for TARGET_FISTTP.  Add comment about FLAGS_REG
      	clobber.
      	(fix_truncdi_memory, fix_truncdi_nomemory, fix_trunchi_nomemory):
      	Rename to fix_trunc<mode>_i387 and fix_trunc<mode>_i387_with_temp.
      	Implement using mode macros. Disable patterns for TARGET_FISTTP.
      	(fix_truncsi_memory, fix_truncsi_nomemory, fix_trunchi_memory,
      	fix_trunchi_nomemory): Rename to fix_trunc<mode>_i387 and
      	fix_trunc<mode>_i387_with_temp. Implement using mode macros.
      	Disable patterns for TARGET_FISTTP.
      	(fix_trunc*_i387 splitters): Implement usign mode macros.
      	(fix_truncdfdi_sse, fix_truncsfdi_sse, fix_truncdfsi_sse,
      	fix_truncsfsi_sse): Disable for (TARGET_FISTTP && !TARGET_SSE_MATH).
      	(fix_trunx*_sse peephole2s): Implement using mode macros.
      
      From-SVN: r96477
      Uros Bizjak committed
    • re PR rtl-optimization/20291 (combine throws away clobbers before trying to split) · 9b12dc4f
      	PR rtl-optimization/20291
      	* combine.c (try_combine): If splitting fails, re-try with
      	original combined pattern, i.e. before clobber stripping.
      
      From-SVN: r96476
      J"orn Rennecke committed
    • Index: libcpp/ChangeLog · 6baba9bb
      2005-03-14  Geoffrey Keating  <geoffk@apple.com>
      
      	* lex.c (forms_identifier_p): Disable UCNs in C89 mode.
      
      Index: gcc/testsuite/ChangeLog
      2005-03-14  Geoffrey Keating  <geoffk@apple.com>
      
      	* gcc.dg/cpp/ucnid-6.c: New.
      
      From-SVN: r96475
      Geoffrey Keating committed
    • mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for STACK_GROWS_DOWNWARD. · 85bfab36
      2005-03-14  Eric Christopher  <echristo@redhat.com>
      
      	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
      	STACK_GROWS_DOWNWARD.
      
      From-SVN: r96474
      Eric Christopher committed
    • real.h (struct real_format): Split the signbit field into two two fields,… · b87a0206
      real.h (struct real_format): Split the signbit field into two two fields, signbit_ro and signbit_rw.
      
      
      	* real.h (struct real_format): Split the signbit field into two
      	two fields, signbit_ro and signbit_rw.
      	* real.c (ieee_single_format, mips_single_format, ieee_double_format,
      	mips_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
      	ieee_extended_intel_128_format, ibm_extended_format,
      	mips_extended_format, ieee_quad_format, mips_quad_format,
      	vax_f_format, vax_d_format, vax_g_format, i370_single_format,
      	i370_double_format, c4x_single_format, c4x_extended_format,
      	real_internal_format): Update initializers for new field.
      	* builtins.c (expand_builtin_signbit): Use signbit_ro field of the
      	real_format structure.
      	* optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
      	field of the real_format structure.
      
      From-SVN: r96471
      Roger Sayle committed
    • trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag to zero on label_tree. · 223c8158
      2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
      
      	* trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
              to zero on label_tree.
      
      From-SVN: r96468
      Feng Wang committed
    • re PR fortran/18827 (ICE on assign to common variable) · ce2df7c6
      fortran/
      2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
      
              PR fortran/18827
              * io.c (resolve_tag): Add checking on assigned label.
              (match_dt_format): Does not set symbol assign attribute.
              * match.c (gfc_match_goto):Does not set symbol assign attribute.
              * resolve.c (resolve_code): Add checking on assigned label.
              * trans-common.c (build_field): Deals with common variable assigned
              a label.
              * trans-stmt.c (gfc_conv_label_variable): New function.
              (gfc_trans_label_assign): Use it.
              (gfc_trans_goto): Ditto.
              * trans-io.c (set_string): Ditto.
              * trans.h (gfc_conv_label_variable): Add prototype.
      testsuite/
      2005-03-15  Feng Wang  <fengwang@nudt.edu.cn>
      
              PR fortran/18827
              * gfortran.dg/assign_2.f90: New test.
              * gfortran.dg/assign_3.f90: New test.
              * gfortran.dg/assign.f90: New test.
      
      From-SVN: r96467
      Feng Wang committed
    • cv_func.C, [...]: Ensure uniqueness of test assertion names. · 08091139
      	* g++.dg/other/cv_func.C, g++.dg/other/offsetof3.C,
      	g++.dg/parse/error11.C, g++.dg/tc1/dr108.C,
      	g++.dg/template/local4.C, g++.dg/template/nontype6.C,
      	g++.dg/warn/deprecated.C: Ensure uniqueness of test assertion
      	names.
      
      From-SVN: r96463
      Joseph Myers committed
    • re PR tree-optimization/20458 (structure aliasing causes wrong code) · 9044951e
      2005-03-14  Daniel Berlin <dberlin@dberlin.org>
      
      	Fix PR tree-optimization/20458
      
      	* tree-flow-inline.h (mark_call_clobbered): Don't fiddle
      	DECL_EXTERNAL on STRUCT_FIELD tags.
      	(clear_call_clobbered): Ditto.
      	* tree-ssa-operands.c (note_addressable): Make sure the original
      	variable doesn't slip into the addressable list if we have
      	subvars.
      	* tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD
      	tags too.
      
      From-SVN: r96462
      Daniel Berlin committed
    • Index: gcc/ChangeLog · 50668cf6
      2005-03-14  Geoffrey Keating  <geoffk@apple.com>
      
      	* doc/cppopts.texi (-fexec-charset): Add concept index entry.
      	(-fwide-exec-charset): Likewise.
      	(-finput-charset): Likewise.
      	* doc/invoke.texi (Warning Options): Document -Wnormalized=.
      	* c-opts.c (c_common_handle_option): Handle -Wnormalized=.
      	* c.opt (Wnormalized): New.
      
      Index: libcpp/ChangeLog
      2005-03-14  Geoffrey Keating  <geoffk@apple.com>
      
      	* init.c (cpp_create_reader): Default warn_normalize to normalized_C.
      	* charset.c: Update for new format of ucnid.h.
      	(ucn_valid_in_identifier): Update for new format of ucnid.h.
      	Add NST parameter, and update it; update callers.
      	(cpp_valid_ucn): Add NST parameter, update callers.  Replace abort
      	with cpp_error.
      	(convert_ucn): Pass normalize_state to cpp_valid_ucn.
      	* internal.h (struct normalize_state): New.
      	(INITIAL_NORMALIZE_STATE): New.
      	(NORMALIZE_STATE_RESULT): New.
      	(NORMALIZE_STATE_UPDATE_IDNUM): New.
      	(_cpp_valid_ucn): New.
      	* lex.c (warn_about_normalization): New.
      	(forms_identifier_p): Add normalize_state parameter, update callers.
      	(lex_identifier): Add normalize_state parameter, update callers.  Keep
      	the state current.
      	(lex_number): Likewise.
      	(_cpp_lex_direct): Pass normalize_state to subroutines.  Check
      	it with warn_about_normalization.
      	* makeucnid.c: New.
      	* ucnid.h: Replace.
      	* ucnid.pl: Remove.
      	* ucnid.tab: Make appropriate for input to makeucnid.c.  Remove
      	comments about obsolete version of C++.
      	* include/cpplib.h (enum cpp_normalize_level): New.
      	(struct cpp_options): Add warn_normalize field.
      
      Index: gcc/testsuite/ChangeLog
      2005-03-14  Geoffrey Keating  <geoffk@apple.com>
      
      	* gcc.dg/cpp/normalize-1.c: New.
      	* gcc.dg/cpp/normalize-2.c: New.
      	* gcc.dg/cpp/normalize-3.c: New.
      	* gcc.dg/cpp/normalize-4.c: New.
      	* gcc.dg/cpp/ucnid-4.c: New.
      	* gcc.dg/cpp/ucnid-5.c: New.
      	* g++.dg/cpp/normalize-1.C: New.
      	* g++.dg/cpp/ucnid-1.C: New.
      
      From-SVN: r96459
      Geoffrey Keating committed
    • Daily bump. · cd8b38b9
      From-SVN: r96457
      GCC Administrator committed
  2. 14 Mar, 2005 20 commits
    • * doc/invoke.texi: Add reference to Visibility document. · ce84fa41
      From-SVN: r96453
      Devang Patel committed
    • config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES. · 21c425ee
      	* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
      	MASK_SPLIT_ADDRESSES.
      	* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
      	(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
      	(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
      	(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
      	(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
      	(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
      	(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
      	(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
      	(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
      	(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
      	(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
      	(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
      	(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
      	(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
      	(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
      	(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
      	(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
      	(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
      	(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
      	(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
      	(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
      	(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
      	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
      	(TARGET_EXPLICIT_RELOCS): Delete.
      	(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
      	(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
      	* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
      	(override_options): Set MASK_LONG64 if -mint64 is given and no
      	-mlongXX option is.  Complain about -mint64 -mlong32.
      	(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
      	MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
      	* config/mips/mips.opt: New file.
      
      From-SVN: r96452
      Richard Sandiford committed
    • config.gcc (extra_options): New variable for listing option files. · 75685792
      	* config.gcc (extra_options): New variable for listing option files.
      	Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
      	* configure.ac (extra_opt_files): New AC_SUBST variable.
      	(tm_file_list, tm_include_list): Include options.h first.
      	* configure: Regenerate.
      	* Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
      	(s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
      	(s-options-h): New rule.
      	(options.h): Depend on it.
      	(TEXI_GCCINT_FILES): Add options.texi.
      	* hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
      	* hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
      	* target.h (gcc_target): Add default_target_flags and handle_option.
      	* target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
      	(TARGET_HANDLE_OPTION): New macros.
      	(TARGET_INITIALIZER): Include them.
      	* opt-functions.awk (opt_args, nth_arg): New functions.
      	(switch_flags): Handle the "Target" flag.
      	(var_args): Delete.
      	(var_name): Use opt_args and nth_arg.
      	(var_set, var_ref): Likewise.  Handle "Mask" and "InverseMask".
      	* opth-gen.awk: Declare target_flags.  Declare MASK_* and TARGET_*
      	macros for the "Mask" and "InverseMask" options.
      	* opts.h (cl_var_cond): New enum.
      	(cl_option): Replace the "has_set_value" and "set_value" fields with
      	"var_cond" and "var_value".
      	(CL_TARGET): New macro.
      	(option_enabled, print_filtered_help): Declare.
      	(decode_options): Move definition.
      	* opts.c (handle_option): Search for the original option before
      	removing any "no-" prefix.  Handle CL_TARGET.  Adjust for the new
      	var_cond and var_value fields.  Use targetm.handle_option to handle
      	target options.
      	(decode_options): Set target_flags to targetm.default_target_flags.
      	(print_filtered_help): Make global.  Handle CL_TARGET.
      	(option_enabled): New function.
      	* toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
      	(display_target_options, set_target_switch, print_switch_values)
      	(default_pch_valid_p): Guard uses of target_switches with
      	#ifdef TARGET_SWITCHES.  Also...
      	(display_target_options): Display the CL_TARGET entries in cl_options.
      	(set_target_option): Don't complain about the "" option when
      	TARGET_SWITCHES is undefined.
      	(print_switch_values): Use option_enabled.
      	(default_pch_valid_p): Check cl_options[] when looking for something
      	that has changed the value of target_flags.
      	* c.opt: Remove documentation from top of file.
      	* doc/gccint.texi: Add an "Options" chapter.  Include options.texi.
      	* doc/sourecebuild.texi: Refer to the new options documentation
      	instead of c.opt.  Document machine-specific .opt files.
      	* doc/tm.texi (target_flags): Say that this variable is declared
      	by options.h.
      	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
      	(TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
      	an alternative.
      	* doc/options.texi: New file.
      
      From-SVN: r96448
      Richard Sandiford committed
    • re PR rtl-optimization/18628 (miscompilation of switch statement in loop) · 3a3b81e7
      gcc/ChangeLog:
      PR middle-end/18628
      * cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
      register.
      gcc/testsuite/ChangeLog:
      * gcc.dg/pr18628.c: New.
      
      From-SVN: r96445
      Alexandre Oliva committed
    • re PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368) · aff98faf
      gcc/ChangeLog:
      PR c++/20280
      * gimplify.c (gimplify_cond_expr): Add fallback argument.  Use a
      temporary variable of pointer type if an lvalues is required.
      (gimplify_modify_expr_rhs): Request an rvalue from it.
      (gimplify_expr): Pass fallback on.
      gcc/testsuite/ChangeLog:
      PR c++/20280
      * g++.dg/tree-ssa/pr20280.C: New.
      
      From-SVN: r96444
      Alexandre Oliva committed
    • re PR fortran/20467 (Bad fortran code causes ICE) · 2bb02bf0
      fortran/
      PR fortran/20467
      * symbol.c (check_conflict): A dummy argument can't be a statement
      function.
      
      testsuite/
      PR fortran/20467
      * gfortran.dg/stfunc_2.f90: New test.
      
      From-SVN: r96443
      Tobias Schlüter committed
    • * cfgbuild.c: Update comments. · 55b18c19
      From-SVN: r96442
      Kazu Hirata committed
    • re PR rtl-optimization/17236 (inefficient code for long long multiply on x86) · f927760b
      
      	PR rtl-optimization/17236
      	* optabs.c (expand_doubleword_mult): New helper function split out
      	from expand_binop.  Permute the order in which instructions are
      	emitted to minimize the number of simultaneously live registers.
      	(expand_binop): Call expand_doubleword_mult to synthesize a double
      	word multiplication.
      
      From-SVN: r96441
      Roger Sayle committed
    • basic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge. · a6ee1a15
      	* basic-block.h: Update the prototypes of cached_make_edge and
      	rtl_make_eh_edge.
      	* cfg.c (cached_make_edge): Take edge_cache representing one
      	row of the adjacency matrix of edges.
      	* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
      	(make_edges): Initialize edge_cache to represent one row of
      	the adjacency matrix of edges.
      
      From-SVN: r96440
      Kazu Hirata committed
    • tree-ssa-phiopt.c (minmax_replacement, [...]): New functions. · 8eaa0f34
      	* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
      	New functions.
      	(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
      	Remove unused removed_phis variable.
      	(conditional_replacement): Use build1/build2.
      	(abs_replacement): Use last_and_only_stmt and build1/build2.
      
      	* gcc.dg/tree-ssa/phi-opt-5.c: New test.
      
      From-SVN: r96439
      Zdenek Dvorak committed
    • builtin-attrs.def (ATTR_NOVOPS, [...]): New. · dcd6de6d
      	* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
      	ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
      	* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
      	(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
      	* c-common.c (handle_novops_attribute): New function.
      	(c_common_attribute_table): Add "no vops" entry.
      	* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
      	* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
      	* tree-ssa-operands.c (get_call_expr_operands): Do not
      	create virtual operands for calls with ECF_NOVOPS flag.
      	* tree.h (DECL_IS_NOVOPS): New macro.
      	(struct tree_decl): Add novops_flag.
      	(ECF_NOVOPS): New constant.
      
      From-SVN: r96438
      Zdenek Dvorak committed
    • re PR target/17688 ([4.1] x87 fops can handle HImodes) · 0e8c2b0d
      	PR target/17688
      	* config/i386/i386.c (x86_use_himode_fiop): New.
      	(x86_use_simode_fiop): Rename from x86_use_fiop.
      	* config/i386/i386.h (x86_use_himode_fiop): Declare.
      	(TARGET_USE_HIMODE_FIOP): New.
      	(x86_use_simode_fiop): Rename from x86_use_fiop.
      	(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.
      
      	* config/i386/i386.md (X87MODEI12): New mode macro define.
      	(*cmpfp_<mode>): Rename from *cmpfp_si.  Use X87MODEI12 mode macro
      	to implement x87 FP compare with HImode input operands.
      	(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
      	Use X87MODEI12 mode macro to handle HImode input operands.
      	(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
      	*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
      	Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
      	*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
      	macro to implement x87 operators with HImode input operands.
      	(fop splitters): Use X87MODEI12 mode macro to handle HImode
      	input operands.
      
      From-SVN: r96437
      Uros Bizjak committed
    • Fix bogus date. · e4a31e19
      From-SVN: r96436
      Eric Botcazou committed
    • tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop. · f1b19062
      	* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
      	integer_zerop.
      	* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
      	constants invariant.
      
      	* fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
      	the argument of the shift to the unsigned type.
      
      From-SVN: r96435
      Zdenek Dvorak committed
    • basic-block.h (BB_VISITED): Removed. · 9e32d2be
      	* basic-block.h (BB_VISITED): Removed.
      	* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.
      
      From-SVN: r96434
      Zdenek Dvorak committed
    • Fix typo in changelog entry. · ae83e8ae
      From-SVN: r96433
      Daniel Jacobowitz committed
    • re PR c++/4403 (incorrect class becomes a friend in template) · 5a24482e
      	PR c++/4403
      	PR c++/9783, DR433
      	* name-lookup.c (pushtag): Skip template parameter scope when
      	scope is ts_global.  Don't push tag into template parameter
      	scope.
      	* pt.c (instantiate_class_template): Reorder friend class
      	template substitution to handle non-dependent friend class
      	that hasn't been previously declared.
      
      	* g++.dg/template/friend34.C: New test.
      	* g++.dg/template/friend35.C: Likewise.
      	* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's.
      
      From-SVN: r96432
      Kriang Lerdsuwanakij committed
    • re PR target/20424 (Bootstrap failure on alphaev56) · 18410793
      	PR bootstrap/20424
      	* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
      
      From-SVN: r96431
      Falk Hueffner committed
    • Friend class name lookup 5/n PR c++/1016 · bd3d082e
      	Friend class name lookup 5/n
      	PR c++/1016
      	* cp-tree.h (pushtag): Adjust declaration.
      	* decl.c (lookup_and_check_tag): Call lookup_type_scope if
      	lookup_name fails.
      	(xref_tag): Adjust call to pushtag.  Make hidden class visible.
      	(start_enum): Adjust call to pushtag.
      	* name-lookup.c (ambiguous_decl): Ignore hidden names.
      	(qualify_lookup): Change return type to bool.
      	(hidden_name_p): New function.
      	(lookup_namespace_name, unqualified_namespace_lookup,
      	lookup_name_real): Use it.
      	(lookup_type_scope): Update comments.
      	(maybe_process_template_type_declaration): Change parameter name
      	from globalize to is_friend.
      	(pushtag): Change globalize parameter of type int to tag_scope.
      	Hide name if introduced by friend declaration.
      	* name-lookup.h (hidden_name_p): Add declaration.
      	* parser.c (cp_parser_lookup_name): Don't deal with hidden name
      	here.
      	* pt.c (push_template_decl_real): Make hidden class template
      	visible.
      	(lookup_template_class, instantiate_class_template): Adjust call
      	to pushtag.
      	* semantics.c (begin_class_definition): Likewise.
      	* rtti.c (init_rtti_processing, build_dynamic_cast_1,
      	tinfo_base_init, emit_support_tinfos): Use ts_current instead of
      	ts_global.
      
      	* g++.dg/lookup/hidden-class1.C: New test.
      	* g++.dg/lookup/hidden-class2.C: Likewise.
      	* g++.dg/lookup/hidden-class3.C: Likewise.
      	* g++.dg/lookup/hidden-class4.C: Likewise.
      	* g++.dg/lookup/hidden-class5.C: Likewise.
      	* g++.dg/lookup/hidden-class6.C: Likewise.
      	* g++.dg/lookup/hidden-class7.C: Likewise.
      	* g++.dg/lookup/hidden-class8.C: Likewise.
      	* g++.dg/lookup/hidden-class9.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class1.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class2.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class3.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class4.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class5.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class6.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class7.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class8.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class9.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class10.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class11.C: Likewise.
      
      From-SVN: r96430
      Kriang Lerdsuwanakij committed
    • alloc-pool.c, [...]: Update copyright. · a2130901
      	* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
      	stringpool.c, config/mips/mips-protos.h: Update copyright.
      
      From-SVN: r96428
      Kazu Hirata committed