aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-02-09[multiple changes]Arnaud Charlet29-1040/+1456
2004-02-09 Ed Schonberg <schonberg@gnat.com> * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality for a tagged type, verify that both formals have the same type. * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the temporary when the formal is an in-parameter and the actual a possibly unaligned slice. * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even when expansion is disabled, to ensure proper name capture with overloaded literals. Condition can be of any boolean type, resolve accordingly. * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the renaming is for a formal subprogram with a default operator name, and there is a usable operator that is visible at the point of instantiation. 2004-02-09 Robert Dewar <dewar@gnat.com> * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major rewrite to ignore errors in ali files, intended to allow tools downward compatibility with new versions of ali files. * ali.ads: Add new parameter Ignore_Errors * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes duplicating the error message giving the file with restrictions. * debug.adb: Add debug flag I for gnatbind * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around operators for the case where the operator is a defining operator. * exp_ch3.adb: Minor reformatting (new function spec format). * exp_ch4.adb: Add comment for previous change, and make minor adjustment to loop to always check for improper loop termination. Minor reformatting throughout (new function spec format). * gnatbind.adb: Implement -di debug flag for gnatbind * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True * lib-load.adb: Fix bad assertion. Found by testing and code reading. Minor reformatting. * lib-load.ads: Minor reformatting. * lib-writ.adb: There is only one R line now. * lib-writ.ads: Add documentation on making downward compatible changes to ali files so old tools work with new ali files. There is only one R line now. Add documentation on format incompatibilities (with special GPS note) * namet.ads, namet.adb: (Is_Operator_Name): New procedure * par-load.adb: Minor reformatting * sem_ch8.adb: Fix to error message from last update Minor reformatting and restructuring of code from last update * par-prag.adb, snames.adb, snames.ads, snames.h, sem_prag.adb: Implement pragma Profile. * stylesw.adb: Implement -gnatyN switch to turn off all style check options. * usage.adb: Add line for -gnatyN switch * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN From-SVN: r77537
2004-02-09* call.c, parser.c, tree.c: Fix comment typos.Kazu Hirata4-5/+9
From-SVN: r77536
2004-02-09fold-const.c (fold): Use the original type conversion tree code rather than ↵Roger Sayle4-12/+33
call fold_convert... * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion tree code rather than call fold_convert, which doesn't specify a default floating point to integer conversion. * gcc.c-torture/compile/20040209-1.c: New test case. From-SVN: r77535
2004-02-09[multiple changes]Arnaud Charlet8-38/+128
2004-02-09 Albert Lee <lee@gnat.com> * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX 2004-02-09 Ed Schonberg <schonberg@gnat.com> * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null slices. * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram is nested in an instance that is not frozen yet, to avoid order-of-elaboration problems in gigi. * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined body the attribute is legal. 2004-02-09 Robert Dewar <dewar@gnat.com> * s-rident.ads: Minor comment correction * targparm.adb: Remove dependence on uintp completely. There was always a bug in Make in that it called Targparm before initializing the Uint package. The old code appeared to get away with this, but the new code did not! This caused an assertion error in gnatmake. * targparm.ads: Fix bad comment, restriction pragmas with parameters are indeed fully supported. From-SVN: r77531
2004-02-08parse.y (resolve_qualified_expression_name): In case of inaccessible class ↵Per Bothner2-1/+13
don't use not_accessible_field_error... * parse.y (resolve_qualified_expression_name): In case of inaccessible class don't use not_accessible_field_error, which can get confused. From-SVN: r77525
2004-02-09m68k.c, m68k.md (SGS, [...]): Remove code to support SGS assembler.Bernardo Innocenti7-460/+189
* config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove code to support SGS assembler. Reformat adjacent code where possible. * config/m68k/m68k.c (switch_table_difference_label_flag): Remove definition. * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support for '%#'. * config/m68k/linux.h, config/m68k/m68k.c, * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm macros and asm_printf() format strings. * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition. * config/m68k/linux.h: Update copyright. * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace. From-SVN: r77518
2004-02-09Daily bump.GCC Administrator1-1/+1
From-SVN: r77515
2004-02-09m68k.h (REGISTER_NAMES): Prefix each name with REGISTER_PREFIX.Bernardo Innocenti1-3/+20
* config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with REGISTER_PREFIX. * (M68K_FP_REG_NAME): New macro to specify an alternate name for the frame pointer register, overridable by OS targets. * (M68K_REGNAME): Macro to obtain register name for asm output, eventually replacing %a6 with M68K_FP_REG_NAME. * config/m68k/coff.h (REGISTER_NAMES): Don't redefine. * config/m68k/linux.h (REGISTER_NAMES): Likewise. * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise. * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise. * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x]. From-SVN: r77511
2004-02-09m68k.h (REGISTER_NAMES): Prefix each name with REGISTER_PREFIX.Andreas Schwab7-106/+75
* config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with REGISTER_PREFIX. * (M68K_FP_REG_NAME): New macro to specify an alternate name for the frame pointer register, overridable by OS targets. * (M68K_REGNAME): Macro to obtain register name for asm output, eventually replacing %a6 with M68K_FP_REG_NAME. * config/m68k/coff.h (REGISTER_NAMES): Don't redefine. * config/m68k/linux.h (REGISTER_NAMES): Likewise. * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise. * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise. * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x]. Co-Authored-By: Bernardo Innocenti <bernie@develer.com> From-SVN: r77510
2004-02-08Fixed a typo in ChangeLog.Kazu Hirata1-1/+2
From-SVN: r77507
2004-02-08target-def.h (TARGET_STRUCT_VALUE_RTX): Define as hook_rtx_tree_int_null.Kazu Hirata23-51/+21
* target-def.h (TARGET_STRUCT_VALUE_RTX): Define as hook_rtx_tree_int_null. * targhooks.c (default_struct_value_rtx): Remove. * targhooks.h: Remove the prototype for default_struct_value_rtx. * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c, config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c, config/ip2k/ip2k.c, config/iq2000/iq2000.c, config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c, config/mn10300/mn10300.c, config/pdp11/pdp11.c, config/rs6000/rs6000.c, config/s390/s390.c, config/stormy16/stormy16.c, config/v850/v850.c, config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove. * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default. From-SVN: r77505
2004-02-08README.Portability: Change "ISO C89" to "ISO C90".Joseph Myers5-7/+16
* README.Portability: Change "ISO C89" to "ISO C90". * c-parse.in (primary, initelt): Likewise. testsuite: * gcc.dg/c90-init-1.c: Adjust expected error messages. From-SVN: r77499
2004-02-08real.c (encode_ibm_extended): Normalize the input value before converting it ↵Richard Sandiford5-4/+40
to a double. * real.c (encode_ibm_extended): Normalize the input value before converting it to a double. Handle the case where a normal value rounds to infinity. From-SVN: r77498
2004-02-08c-objc-common.c (): Fix a typo in a warning.Kazu Hirata4-31/+41
* c-objc-common.c (): Fix a typo in a warning. * cse.c (preferrable): Change to preferable. Update all of its callers. * genautomata.c (ainsn): Change first_ainsn_with_given_equialence_num to first_ainsn_with_given_equivalence_num. Update all of its references. From-SVN: r77497
2004-02-08* g++.dg/eh/simd-2.C: Adjust line numbers for SPARC.Eric Botcazou2-1/+7
From-SVN: r77495
2004-02-08* gcc.c-torture/execute/va-arg-25.x: XFAIL only on SPARC 64-bit.Eric Botcazou2-8/+24
From-SVN: r77485
2004-02-08* schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.Jan Hubicka2-1/+4
From-SVN: r77480
2004-02-07* function.c (assign_parms): Fix formatting.David Edelsohn2-1/+6
From-SVN: r77478
2004-02-08default.h (PROMOTE_PROTOTYPES): Remove.Kazu Hirata7-50/+30
* default.h (PROMOTE_PROTOTYPES): Remove. * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES, STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS): Poison. * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as hook_bool_tree_false. (TARGET_PROMOTE_PROTOTYPES): Likewise. * target.h: Replace SETUP_INCOMING_VARARGS with targetm.calls.setup_incoming_varargs(). * targhooks.c (default_promote_function_return): Remove. (default_promote_prototypes): Likewise. (default_struct_value_rtx): Always abort(). (default_expand_builtin_saveregs): Always print an error message. (default_setup_incoming_varargs): Do nothing. (default_pretend_outgoing_varargs_named): Don't depend on SETUP_INCOMING_VARARGS. * targhooks.h: Remove the prototype for default_promote_function_return and default_promote_prototypes. From-SVN: r77477
2004-02-08system.h (SHARED_SECTION_ASM_OP): Poison.Kazu Hirata4-17/+8
* system.h (SHARED_SECTION_ASM_OP): Poison. * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP. * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove. From-SVN: r77476
2004-02-08c-common.c (shadow_warning): Delete.Zack Weinberg19-167/+157
* c-common.c (shadow_warning): Delete. * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete. * c-decl.c (warn_if_shadowing): Issue shadow warnings directly. * c-opts.c (c_common_parse_file): Don't call free_parser_stacks. * c-parse.in (free_parser_stacks): Delete. cp: * name-lookup.c (pushdecl): Issue shadow warnings directly. * parser.c (free_parser_stacks): Delete. testsuite: * gcc.c-torture/execute/string-opt-15.c: Define memcmp with void * arguments. * gcc.dg/fwritable-strings-1.c: Expect the deprecation notice. ------ Bug 13856 * c-decl.c (diagnose_mismatched_decls): Only give special treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE is also true. (merge_decls): Don't clear DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE when defining a built-in function. Don't update DECL_ESTIMATED_INSNS. * dwarf2out.c (dwarf2out_decl): Don't ignore built-in FUNCTION_DECLs. * tree.h: Delete DECL_ESTIMATED_INSNS. * tree-inline.c (struct inline_data): Delete inlined_insns field. (expand_call_inline, optimize_inline_calls): Don't update DECL_ESTIMATED_INSNS nor inlined_insns. * cgraphunit.c (cgraph_analyze_function): Don't update DECL_ESTIMATED_INSNS. cp: * optimize.c (maybe_clone_body): Don't update DECL_ESTIMATED_INSNS. * decl.c (duplicate_decls, start_function): Likewise. testsuite: * gcc.dg/visibility-8.c: New testcase. From-SVN: r77475
2004-02-08Daily bump.GCC Administrator1-1/+1
From-SVN: r77469
2004-02-07Makefile.in, [...]: Use the top level mkinstalldirs, not the one in the gcc ↵Nathanael Nerode8-133/+32
subdir. * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver, config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux: Use the top level mkinstalldirs, not the one in the gcc subdir. * mkinstalldirs: Remove (from the gcc subdir). From-SVN: r77466
2004-02-07re PR middle-end/13696 (enum not useable as array index?)Roger Sayle4-277/+450
PR middle-end/13696 * fold-const.c (fold_convert): New function to provide type conversion to the middle-end without using convert. (negate_expr, associate_trees, size_diffop, omit_one_operand, operand_equal_for_comparison_p, pedantic_omit_one_operand, invert_truthvalue, optimize_bit_field_compare, range_binop, decode_field_reference, make_range, build_range_check, unextend, fold_truthop, extract_muldiv_1, fold_mathfn_compare, fold_binary_op_with_conditional_arg, fold_inf_compare, fold_single_bit_test, fold, multiple_of_p): Replace all calls to convert with calls to fold_convert. * g++.dg/opt/fold1.C: New test case. From-SVN: r77464
2004-02-07genrecog.c (find_operand): add extra argument stop.Jan Hubicka2-8/+28
* genrecog.c (find_operand): add extra argument stop. (validate_pattern): Verify that mach_dup is duplicating operand defined lexically earlier. From-SVN: r77461
2004-02-07config.gcc: Don't mention MAX_LONG_TYPE_SIZE.Kazu Hirata26-100/+24
* config.gcc: Don't mention MAX_LONG_TYPE_SIZE. * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison. * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h, config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h, config/mips/iris5.h, config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h, config/rs6000/aix51.h, config/rs6000/aix52.h, config/rs6000/darwin.h, config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h, config/sparc/netbsd-elf.h, config/sparc/sparc.h, config/xtensa/xtensa.h: Remove the definitions of MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or MAX_WCHAR_TYPE_SIZE. * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove. From-SVN: r77460
2004-02-07re PR bootstrap/13990 (build fails because of wrong use of gen_rtx_NE)Stephane Carrez2-2/+15
PR bootstrap/13990 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to gen_rtx_NE. From-SVN: r77459
2004-02-07var-tracking.c (vt_add_function_parameters): Surround checkings by #ifdef ↵Josef Zlomek2-0/+9
ENABLE_CHECKING and #endif. * var-tracking.c (vt_add_function_parameters): Surround checkings by #ifdef ENABLE_CHECKING and #endif. From-SVN: r77458
2004-02-07fold-const.c (negate_expr_p, [...]): Optimize -(A+B) into either (-A)-B or ↵Roger Sayle2-13/+68
(-B)-A... * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into either (-A)-B or (-B)-A, if A or B is easily negated respectively. (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both integer types and floating point with unsafe_math_optimizations. Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2). Optimize A - B as A + (-B), if B is easily negated. From-SVN: r77453
2004-02-07c-ppoutput.c, [...]: Update copyright.Kazu Hirata15-13/+25
gcc/ * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c, config/darwin.c, config/darwin.h, config/ia64/ia64-c.c, config/m32r/linux.h, config/rs6000/ppc64-fp.c, config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi: Update copyright. cp/ * rtti.c: Update copyright. From-SVN: r77449
2004-02-07* c-ppoutput.c, var-tracking.c: Fix comment typos.Kazu Hirata3-4/+8
From-SVN: r77448
2004-02-06Fix compile error with old glibc verisons.James E Wilson2-0/+11
* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for glibc 2.3 or better. From-SVN: r77443
2004-02-07tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change to ↵Kazu Hirata2-1/+6
FLOAT_LIB_COMPARE_RETURNS_BOOL. * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change to FLOAT_LIB_COMPARE_RETURNS_BOOL. From-SVN: r77442
2004-02-07t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.Alan Modra6-14/+100
* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. (SHLIB_MAPFILES): Add libgcc-ppc64.ver. (SHLIB_MKMAP_OPTS): Delete. (TARGET_LIBGCC2_CFLAGS): Add -specs. (bispecs): Add rule. * config/rs6000/libgcc-ppc64.ver: New file. * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions. (__floatdidf, __floatdisf): Optimize multiply. (__fixunstfdi): New function. * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for real and imag parts larger than one register. (function_arg): Correct type of reg used when fp arg split partially to stack. * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT and __MACH__ or __powerpc64__. From-SVN: r77440
2004-02-07builtins.c (expand_builtin_signbit): Use extract_bit_field instead of ↵Roger Sayle2-22/+30
gen_highpart or gen_lowpart when... * builtins.c (expand_builtin_signbit): Use extract_bit_field instead of gen_highpart or gen_lowpart when the floating point format is wider than the result mode. Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com> From-SVN: r77439
2004-02-06dwarf2out.c (loclabel_num): Move into #ifdef DWARF2_DEBUGGING_INFO.Andrew Pinski2-2/+8
2004-02-06 Andrew Pinski <pinskia@physics.uc.edu> * dwarf2out.c (loclabel_num): Move into #ifdef DWARF2_DEBUGGING_INFO. From-SVN: r77438
2004-02-07re PR c++/14033 (tree check: expected class 't', have 'x' (error_mark) in ↵Giovanni Bajo2-0/+18
initialize_inlined_parameters, at tree-inline.c:829) PR c++/14033 * g++.dg/other/crash-2.C: New test. From-SVN: r77437
2004-02-07re PR c++/14033 (tree check: expected class 't', have 'x' (error_mark) in ↵Giovanni Bajo2-2/+6
initialize_inlined_parameters, at tree-inline.c:829) PR c++/14033 * decl.c (require_complete_types_for_parms): Do not insert error_mark_node in the parameter list. From-SVN: r77436
2004-02-07Daily bump.GCC Administrator1-1/+1
From-SVN: r77433
2004-02-06[gcc/ChangeLog]Ziemowit Laski2-0/+18
2004-02-06 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (build_super_template) the 'class' field of 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS. (get_super_receiver): Likewise. [gcc/libobjc/ChangeLog] 2004-02-06 Ziemowit Laski <zlaski@apple.com> * objc/objc-api.h (objc_super): The 'class' field shall be named 'super_class' #ifdef __cplusplus. From-SVN: r77430
2004-02-06reload1.c (check_eliminable_occurrences): Optimize the reset of can_eliminate.Kazu Hirata2-2/+8
* reload1.c (check_eliminable_occurrences): Optimize the reset of can_eliminate. (eliminate_regs_in_insn): Likewise. From-SVN: r77427
2004-02-06dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function at the ↵Daniel Berlin2-35/+374
beginning of function... * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function at the beginning of function, call dwarf2out_var_location for NOTE_INSN_VAR_LOCATION note. (struct var_loc_node, struct var_loc_list_def, loclabel_num, decl_loc_table): New. (lookup_decl_loc): New function. (add_var_loc_to_decl): New function. (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used only if can_use_fbreg. (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other functions. (loc_descriptor): Likewise. Process VAR_LOCATION. (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true. (loc_descriptor_from_tree): Call mem_loc_descriptor with can_use_fbreg == true. (add_location_or_const_value_attribute): Added parameter enum dwarf_attribute attr, generate attribute ATTR. Create the location list. (add_bound_info): Call loc_descriptor with can_use_fbreg == true. (gen_formal_parameter_die): Call add_location_or_const_value_attribute with attr == DW_AT_location. (gen_subprogram_die): Generate the location list for DW_AT_frame_base if frame_base_decl is defined and has a location list. (gen_variable_die): Call add_location_or_const_value_attribute with attr == DW_AT_location. (dwarf2out_var_location): New function. (dwarf2out_begin_function): New function. (dwarf2out_init): Create decl_loc_table. Co-Authored-By: Josef Zlomek <zlomekj@suse.cz> From-SVN: r77421
2004-02-06loop.c (force_movables): Transitively increase the priorities of all insns ↵Ulrich Weigand2-3/+14
forces by an insn... * loop.c (force_movables): Transitively increase the priorities of all insns forces by an insn, not just the first one. From-SVN: r77419
2004-02-06Josef Zlomek <zlomekj@suse.cz>Josef Zlomek24-10/+2820
Josef Zlomek <zlomekj@suse.cz> * Makefile.in (var-tracking.o): New. * common.opt (fvar-tracking): New. * flags.h (flag_var_tracking): New. * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added. * opts.c (common_handle_option): Add OPT_fvar_tracking. * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added. * rtl.c (note_insn_name): Likewise. * rtl.def (VAR_LOCATION): New. * rtl.h (NOTE_VAR_LOCATION): New. (NOTE_VAR_LOCATION_DECL): New. (NOTE_VAR_LOCATION_LOC): New. (enum insn_note): NOTE_INSN_VAR_LOCATION was added. (variable_tracking_main): New exported function. * timevar.def (TV_VAR_TRACKING): New. * toplev.c (enum dump_file_index): Added DFI_vartrack. (dump_file): "vartrack" was added (-dV). (flag_var_tracking): New. (f_options): "var-tracking" was added. (rest_of_handle_variable_tracking): New function. (rest_of_compilation): Run variable tracking. (process_options): If user has not specified flag_var_tracking set it according to optimize, debug_info_level and debug_hooks. * tree.h (frame_base_decl): New. * var-tracking.c: New file. * config/ia64/ia64.c (ia64_flag_var_tracking): New variable. (ia64_override_options): Set flags to run variable tracking in machine dependent reorg instead of toplev.c. (ia64_reorg): Run variable tracking if wanted. * doc/invoke.texi: Mention variable tracking in -dV, add and -fvar-tracking. * doc/passes.texi: Added variable tracking pass. Daniel Berlin <dberlin@dberlin.org> * debug.h (struct gcc_debug_hooks): Added var_location debug hook. * dbxout.c (dbx_debug_hooks): Likewise. (xcoff_debug): Likewise. * debug.c (do_nothing_debug_hooks): Likewise. * dwarf2out.c (dwarf2_debug_hooks): Likewise. * dwarfout.c (dwarf_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. * final.c (final_scan_insn): Call var_location debug hook for each NOTE_INSN_VAR_LOCATION. Co-Authored-By: Daniel Berlin <dberlin@dberlin.org> From-SVN: r77418
2004-02-06flow.c (update_life_info): Allocate reg_deaths when called from scheudler.Jan Hubicka2-8/+24
* flow.c (update_life_info): Allocate reg_deaths when called from scheudler. (attempt_auto_inc): Update life ranges accordingly. From-SVN: r77415
2004-02-06re PR debug/11816 (Incorrect debugging information for anonymous structures)Ulrich Weigand2-2/+8
PR debug/11816 * dwarf2out.c (gen_decl_die): Handle anonymous struct members. From-SVN: r77411
2004-02-06* cfganal.c (flow_call_edges_add): Never split a libcall block.Ulrich Weigand2-1/+18
From-SVN: r77410
2004-02-06dwarf2out.c (output_loc_list): Don't use deltas if we have a separate line ↵Daniel Berlin2-11/+29
info table in use. * dwarf2out.c (output_loc_list): Don't use deltas if we have a separate line info table in use. Use the correct size for terminators. (output_die): Use offset, not delta. From-SVN: r77409
2004-02-06invoke.texi: Remove the pni option from -mfpmath=.H.J. Lu2-8/+6
2004-02-06 H.J. Lu <hongjiu.lu@intel.com> * doc/invoke.texi: Remove the pni option from -mfpmath=. From-SVN: r77404
2004-02-06re PR c++/14028 (Parser accepts invalid unbalanced triangular bracketing.)Giovanni Bajo2-0/+11
PR c++/14028 * g++.dg/parse/angle-bracket2.C: New test. From-SVN: r77403