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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc2/] [newlib/] [libc/] [stdlib/] [assert.c] - Diff between revs 207 and 520

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 207 Rev 520
/*
/*
FUNCTION
FUNCTION
<<assert>>---macro for debugging diagnostics
<<assert>>---macro for debugging diagnostics
 
 
INDEX
INDEX
        assert
        assert
 
 
ANSI_SYNOPSIS
ANSI_SYNOPSIS
        #include <assert.h>
        #include <assert.h>
        void assert(int <[expression]>);
        void assert(int <[expression]>);
 
 
DESCRIPTION
DESCRIPTION
        Use this macro to embed debuggging diagnostic statements in
        Use this macro to embed debuggging diagnostic statements in
        your programs.  The argument <[expression]> should be an
        your programs.  The argument <[expression]> should be an
        expression which evaluates to true (nonzero) when your program
        expression which evaluates to true (nonzero) when your program
        is working as you intended.
        is working as you intended.
 
 
        When <[expression]> evaluates to false (zero), <<assert>>
        When <[expression]> evaluates to false (zero), <<assert>>
        calls <<abort>>, after first printing a message showing what
        calls <<abort>>, after first printing a message showing what
        failed and where:
        failed and where:
 
 
. Assertion failed: <[expression]>, file <[filename]>, line <[lineno]>, function: <[func]>
. Assertion failed: <[expression]>, file <[filename]>, line <[lineno]>, function: <[func]>
 
 
        If the name of the current function is not known (for example,
        If the name of the current function is not known (for example,
        when using a C89 compiler that does not understand __func__),
        when using a C89 compiler that does not understand __func__),
        the function location is omitted.
        the function location is omitted.
 
 
        The macro is defined to permit you to turn off all uses of
        The macro is defined to permit you to turn off all uses of
        <<assert>> at compile time by defining <<NDEBUG>> as a
        <<assert>> at compile time by defining <<NDEBUG>> as a
        preprocessor variable.   If you do this, the <<assert>> macro
        preprocessor variable.   If you do this, the <<assert>> macro
        expands to
        expands to
 
 
. (void(0))
. (void(0))
 
 
RETURNS
RETURNS
        <<assert>> does not return a value.
        <<assert>> does not return a value.
 
 
PORTABILITY
PORTABILITY
        The <<assert>> macro is required by ANSI, as is the behavior
        The <<assert>> macro is required by ANSI, as is the behavior
        when <<NDEBUG>> is defined.
        when <<NDEBUG>> is defined.
 
 
Supporting OS subroutines required (only if enabled): <<close>>, <<fstat>>,
Supporting OS subroutines required (only if enabled): <<close>>, <<fstat>>,
<<getpid>>, <<isatty>>, <<kill>>, <<lseek>>, <<read>>, <<sbrk>>, <<write>>.
<<getpid>>, <<isatty>>, <<kill>>, <<lseek>>, <<read>>, <<sbrk>>, <<write>>.
*/
*/
 
 
#include <assert.h>
#include <assert.h>
#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>
 
 
#ifndef HAVE_ASSERT_FUNC
#ifndef HAVE_ASSERT_FUNC
/* func can be NULL, in which case no function information is given.  */
/* func can be NULL, in which case no function information is given.  */
void
void
_DEFUN (__assert_func, (file, line, func, failedexpr),
_DEFUN (__assert_func, (file, line, func, failedexpr),
        const char *file _AND
        const char *file _AND
        int line _AND
        int line _AND
        const char *func _AND
        const char *func _AND
        const char *failedexpr)
        const char *failedexpr)
{
{
  fiprintf(stderr,
  fiprintf(stderr,
           "assertion \"%s\" failed: file \"%s\", line %d%s%s\n",
           "assertion \"%s\" failed: file \"%s\", line %d%s%s\n",
           failedexpr, file, line,
           failedexpr, file, line,
           func ? ", function: " : "", func ? func : "");
           func ? ", function: " : "", func ? func : "");
  abort();
  abort();
  /* NOTREACHED */
  /* NOTREACHED */
}
}
#endif /* HAVE_ASSERT_FUNC */
#endif /* HAVE_ASSERT_FUNC */
 
 
void
void
_DEFUN (__assert, (file, line, failedexpr),
_DEFUN (__assert, (file, line, failedexpr),
        const char *file _AND
        const char *file _AND
        int line _AND
        int line _AND
        const char *failedexpr)
        const char *failedexpr)
{
{
   __assert_func (file, line, NULL, failedexpr);
   __assert_func (file, line, NULL, failedexpr);
  /* NOTREACHED */
  /* NOTREACHED */
}
}
 
 

powered by: WebSVN 2.1.0

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