OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [config/] [i386/] [pmm_malloc.h] - Diff between revs 154 and 816

Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
 
 
   This file is part of GCC.
   This file is part of GCC.
 
 
   GCC is free software; you can redistribute it and/or modify
   GCC is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   the Free Software Foundation; either version 2, or (at your option)
   any later version.
   any later version.
 
 
   GCC is distributed in the hope that it will be useful,
   GCC is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with GCC; see the file COPYING.  If not, write to
   along with GCC; see the file COPYING.  If not, write to
   the Free Software Foundation, 51 Franklin Street, Fifth Floor,
   the Free Software Foundation, 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.  */
   Boston, MA 02110-1301, USA.  */
 
 
/* As a special exception, if you include this header file into source
/* As a special exception, if you include this header file into source
   files compiled by GCC, this header file does not by itself cause
   files compiled by GCC, this header file does not by itself cause
   the resulting executable to be covered by the GNU General Public
   the resulting executable to be covered by the GNU General Public
   License.  This exception does not however invalidate any other
   License.  This exception does not however invalidate any other
   reasons why the executable file might be covered by the GNU General
   reasons why the executable file might be covered by the GNU General
   Public License.  */
   Public License.  */
 
 
#ifndef _MM_MALLOC_H_INCLUDED
#ifndef _MM_MALLOC_H_INCLUDED
#define _MM_MALLOC_H_INCLUDED
#define _MM_MALLOC_H_INCLUDED
 
 
#include <stdlib.h>
#include <stdlib.h>
 
 
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
   may not be visible.  */
   may not be visible.  */
#ifndef __cplusplus
#ifndef __cplusplus
extern int posix_memalign (void **, size_t, size_t);
extern int posix_memalign (void **, size_t, size_t);
#else
#else
extern "C" int posix_memalign (void **, size_t, size_t) throw ();
extern "C" int posix_memalign (void **, size_t, size_t) throw ();
#endif
#endif
 
 
static __inline void *
static __inline void *
_mm_malloc (size_t size, size_t alignment)
_mm_malloc (size_t size, size_t alignment)
{
{
  void *ptr;
  void *ptr;
  if (alignment == 1)
  if (alignment == 1)
    return malloc (size);
    return malloc (size);
  if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4))
  if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4))
    alignment = sizeof (void *);
    alignment = sizeof (void *);
  if (posix_memalign (&ptr, alignment, size) == 0)
  if (posix_memalign (&ptr, alignment, size) == 0)
    return ptr;
    return ptr;
  else
  else
    return NULL;
    return NULL;
}
}
 
 
static __inline void
static __inline void
_mm_free (void * ptr)
_mm_free (void * ptr)
{
{
  free (ptr);
  free (ptr);
}
}
 
 
#endif /* _MM_MALLOC_H_INCLUDED */
#endif /* _MM_MALLOC_H_INCLUDED */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.