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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [stdlib/] [assert.c] - Diff between revs 1010 and 1765

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

Rev 1010 Rev 1765
/*
/*
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]>);
 
 
TRAD_SYNOPSIS
TRAD_SYNOPSIS
        #include <assert.h>
        #include <assert.h>
        assert(<[expression]>)
        assert(<[expression]>)
        int <[expression]>;
        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]>
. Assertion failed: <[expression]>, file <[filename]>, line <[lineno]>
 
 
        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>
 
 
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)
{
{
  (void)fiprintf(stderr,
  (void)fiprintf(stderr,
        "assertion \"%s\" failed: file \"%s\", line %d\n",
        "assertion \"%s\" failed: file \"%s\", line %d\n",
        failedexpr, file, line);
        failedexpr, file, line);
  abort();
  abort();
  /* NOTREACHED */
  /* NOTREACHED */
}
}
 
 

powered by: WebSVN 2.1.0

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