File: assert_no_arg.c

package info (click to toggle)
picolibc 1.8.11-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 50,064 kB
  • sloc: ansic: 404,031; asm: 24,984; sh: 2,585; python: 2,289; perl: 680; pascal: 329; exp: 287; makefile: 222; cpp: 71; xml: 40
file content (59 lines) | stat: -rw-r--r-- 1,646 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
Copyright (c) 1990 Regents of the University of California.
All rights reserved.
 */
/*
FUNCTION
<<assert>>---macro for debugging diagnostics

INDEX
        assert

SYNOPSIS
        #include <assert.h>
        void assert(int <[expression]>);

DESCRIPTION
        Use this macro to embed debuggging diagnostic statements in
        your programs.  The argument <[expression]> should be an
        expression which evaluates to true (nonzero) when your program
        is working as you intended.

        When <[expression]> evaluates to false (zero), <<assert>>
        calls <<abort>>, after first printing a message showing what
        failed and where:

. Assertion failed: <[expression]>, file <[filename]>, line <[lineno]>, function: <[func]>

        If the name of the current function is not known (for example,
        when using a C89 compiler that does not understand __func__),
        the function location is omitted.

        The macro is defined to permit you to turn off all uses of
        <<assert>> at compile time by defining <<NDEBUG>> as a
        preprocessor variable.   If you do this, the <<assert>> macro
        expands to

. (void(0))

RETURNS
        <<assert>> does not return a value.

PORTABILITY
        The <<assert>> macro is required by ANSI, as is the behavior
        when <<NDEBUG>> is defined.

Supporting OS subroutines required (only if enabled): <<close>>, <<fstat>>,
<<getpid>>, <<isatty>>, <<kill>>, <<lseek>>, <<read>>, <<sbrk>>, <<write>>.
*/

#include <assert.h>
#include <stdlib.h>
#include <stdio.h>

void
__assert_no_args(void)
{
    fprintf(stderr, "assertion failed\n");
    abort();
}