- 15 Mar, 2005 20 commits
-
-
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 -
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 -
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 -
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 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 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 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 -
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 -
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 -
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 -
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 -
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 -
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, 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 -
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 -
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 -
* 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 -
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 -
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 -
From-SVN: r96457
GCC Administrator committed
-
- 14 Mar, 2005 20 commits
-
-
From-SVN: r96453
Devang Patel committed -
* 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. 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 -
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 -
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 -
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 -
From-SVN: r96442
Kazu Hirata committed -
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. * 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, 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, 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 -
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 -
From-SVN: r96436
Eric Botcazou committed -
* 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. * cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag. From-SVN: r96434
Zdenek Dvorak committed -
From-SVN: r96433
Daniel Jacobowitz committed -
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 -
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 * 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, 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
-