diff options
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/dwarf2out.c | 9 | 
2 files changed, 13 insertions, 3 deletions
| diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3fb268..1971ecb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2000-06-08  James E. Wilson  <wilson@bletchleypark.cygnus.com> + +	* dwarf2out.c (size_of_die, case dw_val_class_const): Use +	size_of_sleb128. +	(value_format, case dw_val_class_const): Use sdata format. +	(output_die): Call output_sleb128. +  2000-06-08  Mark Mitchell  <mark@codesourcery.com>  	* invoke.texi: Remove documentation for -fsquangle and diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 81230d0..58be8c4 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -4644,7 +4644,7 @@ size_of_die (die)  	  }  	  break;  	case dw_val_class_const: -	  size += 4; +	  size += size_of_sleb128 (AT_int (a));  	  break;  	case dw_val_class_unsigned_const:  	  size += constant_size (AT_unsigned (a)); @@ -4801,7 +4801,7 @@ value_format (a)  	  abort ();  	}      case dw_val_class_const: -      return DW_FORM_data4; +      return DW_FORM_sdata;      case dw_val_class_unsigned_const:        switch (constant_size (AT_unsigned (a)))  	{ @@ -5089,7 +5089,10 @@ output_die (die)  	  break;  	case dw_val_class_const: -	  ASM_OUTPUT_DWARF_DATA4 (asm_out_file, AT_int (a)); +	  /* ??? It would be slightly more efficient to use a scheme like is +	     used for unsigned constants below, but gdb 4.x does not sign +	     extend.  Gdb 5.x does sign extend.  */ +	  output_sleb128 (AT_int (a));  	  break;  	case dw_val_class_unsigned_const: | 
