OSDN Git Service

* config/elfos.h (ASM_OUTPUT_LABELREF): Don't define. The default
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Feb 2000 20:03:11 +0000 (20:03 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Feb 2000 20:03:11 +0000 (20:03 +0000)
is right for most ELF targets.
* config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
Let the default file use %U properly.
* config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define.  Use the
default.

* config/fp-bit.c (pack_d): Properly handle rounding of denormal
numbers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32183 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/elfos.h
gcc/config/fp-bit.c
gcc/config/ns32k/ns32k.h
gcc/config/sh/elf.h

index 53c413a..67ed4eb 100644 (file)
@@ -1,3 +1,15 @@
+2000-02-26  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/elfos.h (ASM_OUTPUT_LABELREF): Don't define.  The default
+       is right for most ELF targets.
+       * config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
+       Let the default file use %U properly.
+       * config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define.  Use the
+       default.
+
+       * config/fp-bit.c (pack_d): Properly handle rounding of denormal
+       numbers.
+
 Sat Feb 26 09:39:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * toplev.c (documented_lang_options): Correct spelling error.
index 1021954..91c3677 100644 (file)
@@ -84,15 +84,6 @@ Boston, MA 02111-1307, USA.  */
 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
 #endif
 
-/* This is how to output a reference to a user-level label named NAME.
-   `assemble_name' uses this.
-
-   For most ELF systems the convention is *not* to prepend a leading
-   underscore onto user-level symbol names.  */
-
-#undef  ASM_OUTPUT_LABELREF
-#define ASM_OUTPUT_LABELREF(FILE,NAME) fprintf (FILE, "%s", NAME)
-     
 /* All SVR4 targets use the ELF object file format.  */
 #define OBJECT_FORMAT_ELF
 
index 8e9df1c..4d894e7 100644 (file)
@@ -502,8 +502,25 @@ pack_d ( fp_number_type *  src)
            }
          else
            {
-             /* Shift by the value */
-             fraction >>= shift;
+             int lowbit = (fraction & ((1 << shift) - 1)) ? 1 : 0;
+             fraction = (fraction >> shift) | lowbit;
+           }
+         if ((fraction & GARDMASK) == GARDMSB)
+           {
+             if ((fraction & (1 << NGARDS)))
+               fraction += GARDROUND + 1;
+           }
+         else
+           {
+             /* Add to the guards to round up.  */
+             fraction += GARDROUND;
+           }
+         /* Perhaps the rounding means we now need to change the
+             exponent.  */
+         if (fraction >= IMPLICIT_2)
+           {
+             fraction >>= 1;
+             exp += 1;
            }
          fraction >>= NGARDS;
        }
index 92a35da..d39ce85 100644 (file)
@@ -1590,12 +1590,6 @@ do {                                                                     \
 } while (0)
 #endif
 
-/* This is how to output a reference to a user-level label named NAME.
-   `assemble_name' uses this.  */
-
-#define ASM_OUTPUT_LABELREF(FILE,NAME) \
-  fprintf (FILE, "_%s", NAME)
-
 /* This is how to output an internal numbered label where
    PREFIX is the class of label and NUM is the number within the class.  */
 
index 3fda1b6..ff57fca 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for gcc for Hitachi Super-H using ELF.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor <ian@cygnus.com>.
 
 This file is part of GNU CC.
@@ -76,12 +76,6 @@ Boston, MA 02111-1307, USA.  */
 #define DBX_REGISTER_NUMBER(REGNO)     \
   (((REGNO) >= 22 && (REGNO) <= 39) ? ((REGNO) + 1) : (REGNO))
 
-/* SH ELF, unlike most ELF implementations, uses underscores before
-   symbol names.  */
-#undef ASM_OUTPUT_LABELREF
-#define ASM_OUTPUT_LABELREF(STREAM,NAME) \
-  asm_fprintf (STREAM, "%U%s", NAME)
-
 #undef ASM_GENERATE_INTERNAL_LABEL
 #define ASM_GENERATE_INTERNAL_LABEL(STRING, PREFIX, NUM) \
   sprintf ((STRING), "*%s%s%ld", LOCAL_LABEL_PREFIX, (PREFIX), (long)(NUM))