- 08 Dec, 2004 31 commits
-
-
* exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic, leaving call unchanged. This deals with the case where the pragma Import specified an external name, to be handled by the back end. * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of subprogram which is Imported with convention Intrinsic if an External_Name argument is specified. (Process_Import_Or_Interface): Properly diagnose link name argument. (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion with Sem_Ch6.Cannot_Inline. (Process_Inline): Provide separate warning for inapplicable inline pragma. (Cannot_Inline): Reject subprograms that have an at_end handler, so that treatment is uniform on different targets. From-SVN: r91882
Arnaud Charlet committed -
exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit dereference as its prefix... * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit dereference as its prefix, use Insert_Explicit_Dereference instead of merely rewriting the prefix into an explicit dereference. This ensures that a reference to the original prefix is generated, if appropriate. * sem_util.adb (Insert_Explicit_Dereference): When an implicit dereference is rewritten to an explicit one, generate a reference to the entity denoted by its prefix using the original prefix node, so the dereference can be properly recorded as a read of the denoted access value, if appropriate. * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from emitting 'assigned but never read' warning on a variable on the basis that it has an access type. (Check_References): Emit unreferenced warning when the scope is a subprogram body. From-SVN: r91881
Arnaud Charlet committed -
From-SVN: r91880
Arnaud Charlet committed -
decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if... * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if SIZE is not specified. (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation of a bitfield, which we know is useless and causes trouble because of alignment implications. * utils.c (create_var_decl): Set DECL_COMMON again on targets without BSS sections. (process_attributes): Clear DECL_COMMON again when a section attribute is present. (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT. (create_field_decl): Special case ADDRESSABLE negative to mean "no bitfield creation", to be used by make_aligning_type. Don't restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode fields claimed addressable still have to be bitfields. Use value_factor_p instead of a raw binop construction to check for the position's alignment. From-SVN: r91879
Arnaud Charlet committed -
* debug.adb: Document that -gnatdA automatically sets -gnatR3m * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically set -gnatR3m mode. * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA flag. No longer needed now that we handle this in gnat1drv.adb. * repinfo.ads: Minor reformatting From-SVN: r91878
Arnaud Charlet committed -
make.adb (Check_Mains, [...]): Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix... * make.adb (Check_Mains, Switches_Of): Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). Take into account Externally_Built attribute. * clean.adb (In_Extension_Chain): Always return False when one of the parameter is No_Project. (Clean_Project): Adapt to changes in package Prj (Lang_Ada => Ada_Language_Index). (Gnatclean): Adapt to change in package Prj.Pars (no parameter Process_Languages for procedure Parse). * gnatcmd.adb (Carg_Switches): New table. (GNATCmd): Put all switches following -cargs in the Carg_Switches table. Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type Header_Num and function Hash are now declared in package Prj, not Prj.Com. * prj.adb (Suffix_Of): New function. (Set (Suffix)): New procedure. (Hash): One function moved from Prj.Com (Is_Present, Language_Processing_Data_Of): New functions (Set): Two new procedures (Add_Language_Name, Display_Language_Name): New procedures * prj.ads: (Suffix_Of): New function (Set (Suffix)): New procedure Add several types and tables for multi-language support. (Header_Num): Type moved from Prj.Com (Hash): Two functions moved from Prj.Com (Is_Present, Language_Processing_Data_Of): New functions (Set): Two new procedures (Add_Language_Name, Display_Language_Name): New procedures (Naming): Component name changes: Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix. Add new components: Impl_Suffixes, Supp_Suffixes. (Project_Data): New components: Externally_Built, Supp_Languages, First_Language_Processing, Supp_Language_Processing, Default_Linker, Default_Linker_Path. * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and new package Language_Processing with its attributes (Compiler_Driver, Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option, Binder_Driver, Default_Linker). * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj. (Header_Num): Type moved to package Prj * prj-env.adb: Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by default to the project path, except the "-" is one of the directories in env var ADA_PROJECT_PATH. (Current_Project_Path): Global variable, replacing Project_Path that was in the body of Prj.Part. (Project_Path): New function (Set_Project_Path): New procedure Initialize Current_Project_Path during elaboration of the package Remove dependency on Prj.Com, no longer needed * prj-ext.ads (Project_Path): New function (Set_Project_Path): New procedure * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no suffix is defined for language <lang>. (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of accessing directly the components of Naming. (Look_For_Sources): Use Set (Suffix) to set the suffix of a language. Reorganise of this package. Break procedure Check in several procedures. * prj-nmsc.ads: Replace all procedures (Ada_Check, Other_Languages_Check and Language_Independent_Check) with a single procedure Check. * prj-pars.ads, prj-pars.adb (Parse): Remove parameter Process_Languages, no longer needed. * prj-part.adb (Project_Path): Move to the body of Prj.Ext as Current_Project_Path. Remove elaboration code, moved to the body of Prj.Ext Use new function Prj.Ext.Project_Path instead of old variable Project_Path. (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path. When comparing with project paths on the stack, first put the resolved path in canonical case. (Parse_Single_Project): Set the path name of the project file in the tree to the normalized path. * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove parameter Process_Languages, no longer needed. (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and Other_Languages_Check. * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path to store the resolved canonical path of the project file. Remove dependency to Prj.Com, no longer needed * prj-util.adb: Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix). * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver, Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker, Externally_Built, Include_Option, Language_Processing. * makegpr.adb: Numerous changes due to changes in packages Prj and Prj.Nmsc. * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by default to the project path, except whe "-" is one of the directories in env var ADA_PROJECT_PATH. (Gnatls): In verbose mode, add the new section "Project Search Path:" From-SVN: r91877
Arnaud Charlet committed -
* back_end.adb (Scan_Back_End_Switches): Accept --param. * lang-specs.h: Accept --param. From-SVN: r91876
Arnaud Charlet committed -
* atree.adb (Visit_Itype): Create a new name for the generated itype, because the back-end may otherwise treat it as a redefinition of the old symbol. From-SVN: r91875
Arnaud Charlet committed -
a-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last... * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit targets (such as AAMP). From-SVN: r91874
Arnaud Charlet committed -
* s-intman-vxworks.adb (Notify_Exception): removed useless check for current task being suspended. * init.c (__gnat_clear_exception): added to reset VxWorks exception count. (__gnat_map_signal): removed test for current task being suspended. From-SVN: r91873
Arnaud Charlet committed -
From-SVN: r91870
Nick Clifton committed -
* config/frv/frv.c (frv_sort_insn_group): Always initialize packet_group->nop. From-SVN: r91867
Richard Sandiford committed -
PR c++/18100 * decl.c (lookup_and_check_tag): Diagnose nested class with the same name as enclosing class. * g++.dg/lookup/name-clash4.C: New test. From-SVN: r91866
Kriang Lerdsuwanakij committed -
.: PR c++/18672 * gimplify.c (canonicalize_addr_expr): Cope with array of incomplete type. (gimplify_conversion): Remove redundant checks. testsuite: PR c++/18672 * g++.dg/opt/array1.C: New. From-SVN: r91865
Nathan Sidwell committed -
From-SVN: r91864
Nathan Sidwell committed -
cp: PR c++/18803 * cp-tree.h (REFERENCE_REF_P): New. (CPTI_TYPE_INFO_TYPE): Rename to ... (CPTI_CONST_TYPE_INFO_TYPE): ... here. (CPTI_TYPE_INFO_REF_TYPE): Remove. (type_info_type_node): Rename to ... (const_type_info_type_node): ... here. (type_info_ref_type): Remove. * call.c (build_user_type_conversion): Reformat. (resolve_args): Do not convert_from_reference. (build_object_call): Call convert_from_reference. (prep_operand): Do not convert_from_reference. (build_new_method_call): Likewise. * class.c (build_vfield_ref): Likewise. * cvt.c (convert_to_reference): Likewise. (convert_from_reference): Build INDIRECT_REF here, not with build_indirect_ref. (convert_force): Do not convert_from_reference. (build_expr_type_conversion): Likewise. * decl.c (grok_reference_init): Likewise. * decl2.c (delete_sanity): Likewise. * except.c (initialize_handler_parm): Use POINTER_TYPE_P. * init.c (build_dtor_call): Do not convert_from_reference. * parser.c (cp_parser_template_argument): Unwrap indirected reference. Allow TEMPLATE_PARM_INDEX as an object parm. * pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use convert_from_reference, if indicated. <case CALL_EXPR>: Do not convert_from_reference. <case PARM_DECL, VAR_DECL>: Convert_from_reference if needed. (tsubst_initializer_list): Do not convert_from_reference. * rtti.c (init_rtti_processing): Adjust node creation. (throw_bad_typeid): Use const_type_info_type_node. Do not convert_from_reference. (typeid_ok_p): Use const_type_info_type_node. (build_typeid, get_typeid): Always return type_info typed node. (build_dynamic_cast_1): Dont convert_from_reference. Refactor. * semantics.c (finish_stmt_expr_expr): Do not convert_from_reference. (finish_id_expression): Convert_from_reference as appropriate. * typeck.c (decay_conversion): Do not convert_from_reference. (finish_class_member_access_expr): Likewise. (build_indirect_ref): Use POINTER_TYPE_P. (convert_arguments): Do not convert_from_reference. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. testsuite: PR c++/18803 * g++.dg/template/operator5.C: New. From-SVN: r91863
Nathan Sidwell committed -
* config/i386/i386.c (output_387_binary_op, ix86_prepare_fp_compare_args): Fix is_sse condition. From-SVN: r91862
Uros Bizjak committed -
PR c/18867 * gcc.dg/noncompile/20041207.c: Fix typo in dg directive. From-SVN: r91861
Hans-Peter Nilsson committed -
* Makefile.tpl: Generate normal dependencies if the LHS module is not bootstrapped. * Makefile.in: Regenerate. From-SVN: r91857
Matt Kraai committed -
* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx argument. * config/i386/i386.c (output_fp_compare): Fix is_sse condition. Use EFLAGS_P only when fcomi insn should be used. Fix handling of eflags_p variable. Change alt table accordingly. For non-fcomi compare insn always use trailing fnstsw insn. Fix intmode calculation for ficom insn. (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call ix86_free_from_memory when "pushed" is specified. (ix86_expand_branch): Change call to ix86_split_fp_branch. * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf): Change eflags_p parameter in call to output_fp_compare. (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove. (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p parameter in call to output_fp_compare. (*cmpfp_2_u): Remove. (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter in call to output_fp_compare. (*ficom_1): Remove insn definition and corresponding define_split. (*cmpfp_si): New insn definition. (*fp_jcc_8): New insn definition. Add new splitters for "memory_operand" and "register_operand". (define_split): Add new parameter in call to ix86_split_fp_branch. config/i386/predicates.md (float_operator): New predicate. From-SVN: r91856
Uros Bizjak committed -
* c-common.c (verify_tree): Don't check code length if we know we are handling tcc_unary. * print_tree.c (print_node): Remove code to handle RTL appearing as a part of a tree node. * tree-gimple.c (recalculate_side_effects): Rename fro as len. * tree.c (build1_stat): Don't check TREE_CODE_LENGTH. (PROCESS_ARG): Don't refer to fro. (build2_stat, build3_stat, build4_stat): Don't compute fro. From-SVN: r91855
Kazu Hirata committed -
* java/util/IdentityHashMap.java (put): Replace mistaken use of "<<" by "*". From-SVN: r91852
Ranjit Mathew committed -
PR middle-end/18293 * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier. (expand_mult): Special case powers of two to avoid synth_mult. * loop.c (product_cheap_p): Handle case where expand_mult does require/generate any instructions (i.e. multiplication by zero). From-SVN: r91851
Roger Sayle committed -
tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; fix off-by-one error on zero-based array bounds. * tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; fix off-by-one error on zero-based array bounds. (dump_generic_node): Use it. (print_declaration): Likewise. From-SVN: r91850
Richard Henderson committed -
* doc/invoke.texi: Adjust default values for large-function-growth and inline-unit-growth to match params.def. Clarify used algorithm. From-SVN: r91845
Richard Guenther committed -
* libgfortran/Makefile.am (AM_MAKEFLAGS): New. * libgfortran/Makefile.in: Regenerate From-SVN: r91844
Steve Ellcey committed -
* io/io.h (open_external): Change prototype. * io/unix.c (regular_file): Change prototype and set flags->action if needed. (open_external): Ditto. * io/open.c (new_unit): Let open_external set flags->action. From-SVN: r91843
Steve Ellcey committed -
PR target/18443 * config/ia64/ia64.c (ia64_assemble_integer): Add support for emitting unaligned pointer-sized integers. From-SVN: r91842
David Mosberger committed -
From-SVN: r91840
GCC Administrator committed -
PR c/18867 * c-typeck.c (c_start_case): Set orig_type to error_mark_node when the type of the controlling expression is not a valid type. testsuite/ * gcc.dg/noncompile/20041207.c: New test. From-SVN: r91837
Steven Bosscher committed -
PR tree-optimization/17340 * tree-ssa-pre.c (compute_antic): Fix comment. (compute_avail): Do not recurse, instead do a DFS using a stack and a loop. (execute_pre): Adjust. From-SVN: r91835
Steven Bosscher committed
-
- 07 Dec, 2004 9 commits
-
-
[gcc/ChangeLog] 2004-12-07 Ziemowit Laski <zlaski@apple.com> * c-tree.h (struct lang_type): Rename 'objc_protocols' field to 'objc_info'. [gcc/cp/ChangeLog] 2004-12-07 Ziemowit Laski <zlaski@apple.com> * cp-tree.h (struct lang_type_class): Rename 'objc_protocols' field to 'objc_info'. From-SVN: r91833
Ziemowit Laski committed -
* configure.ac: Check for ieeefp.h. Check for fabsf in libm. * configure: Regenerate. * config.h.in: Likewise. * c99_protos.h: New file. * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h. * intrinsics/c99_functions.c (fabsf): New function. From-SVN: r91832
Eric Botcazou committed -
2004-12-07 Eric Christopher <echristo@redhat.com> PR target/16317 * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define. From-SVN: r91831
Eric Christopher committed -
2004-12-07 Eric Christopher <echristo@redhat.com> * config/mips/mips-protos.h (mips_valid_pointer_mode): Move prototype... * config/mips/mips.c: ... here. Make static. From-SVN: r91830
Eric Christopher committed -
2004-12-07 Eric Christopher <echristo@redhat.com> PR target/18442 * config/mips/mips.c (mips_vector_mode_supported_p): New function. (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above. From-SVN: r91820
Eric Christopher committed -
gcc/ * c-common.c, expr.c, fold-const.c, print-tree.c, tree-gimple.c, tree-inline.c, tree-pretty-print.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of first_rtl_op with TREE_CODE_LENGTH. * tree.c (first_rtl_op): Remove. Replace uses of first_rtl_op with TREE_CODE_LENGTH. * tree.h: Remove the prototype for first_rtl_op. gcc/cp/ * pt.c: Replace a use of first_rtl_op with TREE_CODE_LENGTH. From-SVN: r91818
Kazu Hirata committed -
splay-tree.c (splay_tree_delete_helper): Redesign the logic so that recursion (and thus large stack space) is not needed. * splay-tree.c (splay_tree_delete_helper): Redesign the logic so that recursion (and thus large stack space) is not needed. From-SVN: r91815
DJ Delorie committed -
* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK): Revert 2004-12-01 change. From-SVN: r91812
David Edelsohn committed -
2004-12-07 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits: Implement is_const and is_volatile. * testsuite/testsuite_tr1.h (test_property): New. * testsuite/tr1/4_metaprogramming/type_properties/ is_const/is_const.c: New. * testsuite/tr1/4_metaprogramming/type_properties/ is_const/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/type_properties/ is_volatile/is_volatile.cc: Likewise. * testsuite/tr1/4_metaprogramming/type_properties/ is_volatile/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/composite_type_traits/ is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType from testsuite_tr1.h. * testsuite/tr1/4_metaprogramming/composite_type_traits/ is_fundamental/is_fundamental.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_array/is_array.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_floating_point/is_floating_point.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_integral/is_integral.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_reference/is_reference.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_void/is_void.cc: Likewise. From-SVN: r91808
Paolo Carlini committed
-