projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PR gdb/18669 libiberty demangle.test failure: strtod() on sparc-sun-solaris2.9
[deliverable/binutils-gdb.git]
/
libiberty
/
d-demangle.c
diff --git
a/libiberty/d-demangle.c
b/libiberty/d-demangle.c
index a2a3b32af6a91a9be7eed56a511ca714314645ac..3d7ccf67985ca584982507b0bbddb98648f9ce7e 100644
(file)
--- a/
libiberty/d-demangle.c
+++ b/
libiberty/d-demangle.c
@@
-28,7
+28,7
@@
If not, see <http://www.gnu.org/licenses/>. */
/* This file exports one function; dlang_demangle.
/* This file exports one function; dlang_demangle.
- This file imports strtol
and strtod
for decoding mangled literals. */
+ This file imports strtol for decoding mangled literals. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
@@
-44,7
+44,6
@@
If not, see <http://www.gnu.org/licenses/>. */
#include <stdlib.h>
#else
extern long strtol (const char *nptr, char **endptr, int base);
#include <stdlib.h>
#else
extern long strtol (const char *nptr, char **endptr, int base);
-extern double strtod (const char *nptr, char **endptr);
#endif
#include <demangle.h>
#endif
#include <demangle.h>
@@
-970,8
+969,6
@@
dlang_parse_real (string *decl, const char *mangled)
{
char buffer[64];
int len = 0;
{
char buffer[64];
int len = 0;
- double value;
- char *endptr;
/* Handle NAN and +-INF. */
if (strncmp (mangled, "NAN", 3) == 0)
/* Handle NAN and +-INF. */
if (strncmp (mangled, "NAN", 3) == 0)
@@
-1035,14
+1032,10
@@
dlang_parse_real (string *decl, const char *mangled)
mangled++;
}
mangled++;
}
- /* Convert buffer from hexadecimal to floating-point. */
+ /* Write out the demangled hexadecimal, rather than trying to
+ convert the buffer into a floating-point value. */
buffer[len] = '\0';
buffer[len] = '\0';
- value = strtod (buffer, &endptr);
-
- if (endptr == NULL || endptr != (buffer + len))
- return NULL;
-
- len = snprintf (buffer, sizeof(buffer), "%#g", value);
+ len = strlen (buffer);
string_appendn (decl, buffer, len);
return mangled;
}
string_appendn (decl, buffer, len);
return mangled;
}
This page took
0.025936 seconds
and
4
git commands to generate.