Provide xmemdup0

and some tidies in as.h

	* as.h (inline, __PTR_TO_INT, __INT_TO_PTR): Don't define.
	(xmemdup0): New inline function.
This commit is contained in:
Alan Modra 2016-04-27 15:42:50 +09:30
parent a6a4679fc0
commit 25771140e2
2 changed files with 13 additions and 15 deletions

View File

@ -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.

View File

@ -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;