This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Provide xmemdup0


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=25771140e2dc735712d052ba621c57eeb7248d9f

commit 25771140e2dc735712d052ba621c57eeb7248d9f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Apr 27 15:42:50 2016 +0930

    Provide xmemdup0
    
    and some tidies in as.h
    
    	* as.h (inline, __PTR_TO_INT, __INT_TO_PTR): Don't define.
    	(xmemdup0): New inline function.

Diff:
---
 gas/ChangeLog |  5 +++++
 gas/as.h      | 23 ++++++++---------------
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index f95948d..94fa783 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-27  Alan Modra  <amodra@gmail.com>
+
+	* as.h (inline, __PTR_TO_INT, __INT_TO_PTR): Don't define.
+	(xmemdup0): New inline function.
+
 2016-04-22  Maciej W. Rozycki  <macro@imgtec.com>
 
 	* config/tc-mips.c (code_option_type): New enum.
diff --git a/gas/as.h b/gas/as.h
index 9ff8bb8..f3e1cf0 100644
--- a/gas/as.h
+++ b/gas/as.h
@@ -98,13 +98,6 @@
 /* Define the standard progress macros.  */
 #include "progress.h"
 
-/* This doesn't get taken care of anywhere.  */
-#ifndef __MWERKS__  /* Metrowerks C chokes on the "defined (inline)"  */
-#if !defined (__GNUC__) && !defined (inline)
-#define inline
-#endif
-#endif /* !__MWERKS__ */
-
 /* Other stuff from config.h.  */
 #ifdef NEED_DECLARATION_ENVIRON
 extern char **environ;
@@ -144,14 +137,6 @@ extern int vsnprintf(char *, size_t, const char *, va_list);
 #define bcopy(src,dest,size)	memcpy (dest, src, size)
 #endif
 
-/* Make Saber happier on obstack.h.  */
-#ifdef SABER
-#undef  __PTR_TO_INT
-#define __PTR_TO_INT(P) ((int) (P))
-#undef  __INT_TO_PTR
-#define __INT_TO_PTR(P) ((char *) (P))
-#endif
-
 #ifndef __LINE__
 #define __LINE__ "unknown"
 #endif /* __LINE__ */
@@ -522,6 +507,14 @@ segT   subseg_get (const char *, int);
 const char *remap_debug_filename (const char *);
 void add_debug_prefix_map (const char *);
 
+static inline void *
+xmemdup0 (const void *in, size_t len)
+{
+  char *out = (char *) xmalloc (len + 1);
+  out[len] = 0;
+  return memcpy (out, in, len);
+}
+
 struct expressionS;
 struct fix;
 typedef struct symbol symbolS;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]