source: SVN/cambria/redboot/packages/infra/current/cdl/assert.cdl @ 1

Last change on this file since 1 was 1, checked in by Tim Harvey, 2 years ago

restored latest version of files from server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 5.1 KB
Line 
1# ====================================================================
2#
3#      assert.cdl
4#
5#      Infrastructure debugging/assertion configuration data
6#
7# ====================================================================
8#####ECOSGPLCOPYRIGHTBEGIN####
9## -------------------------------------------
10## This file is part of eCos, the Embedded Configurable Operating System.
11## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12##
13## eCos is free software; you can redistribute it and/or modify it under
14## the terms of the GNU General Public License as published by the Free
15## Software Foundation; either version 2 or (at your option) any later version.
16##
17## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20## for more details.
21##
22## You should have received a copy of the GNU General Public License along
23## with eCos; if not, write to the Free Software Foundation, Inc.,
24## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25##
26## As a special exception, if other files instantiate templates or use macros
27## or inline functions from this file, or you compile this file and link it
28## with other works to produce a work based on this file, this file does not
29## by itself cause the resulting work to be covered by the GNU General Public
30## License. However the source code for this file must still be made available
31## in accordance with section (3) of the GNU General Public License.
32##
33## This exception does not invalidate any other reasons why a work based on
34## this file might be covered by the GNU General Public License.
35##
36## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37## at http://sources.redhat.com/ecos/ecos-license/
38## -------------------------------------------
39#####ECOSGPLCOPYRIGHTEND####
40# ====================================================================
41######DESCRIPTIONBEGIN####
42#
43# Author(s):      jskov
44# Original data:  bartv,hmt
45# Contributors:
46# Date:           1999-07-02
47#
48#####DESCRIPTIONEND####
49#
50# ====================================================================
51
52# The eCos system uses a number of more specialised assertions in
53# addition to a conventional ASSERT() macro. By default these are all
54# enabled when general assertions are enabled, but it is possible to
55# suppress some of them and thus reduce the size of the generated code.
56#
57# Preconditions check that a condition holds true at the beginning of
58# a piece of code, typically at the start of a function. For example a
59# kernel function might have a precondition that it is only invoked
60# when the scheduler is locked.
61#
62# Postconditions check that a condition holds at the end of a piece of
63# code, typically at the point where a function returns. For example
64# at the end of scheduler initialisation there could be a
65# postcondition that there is at least one runnable thread, the idle
66# thread.
67#
68# Loop invariants check that a condition holds on every iteration of
69# a loop. For example the deferred service support code in the kernel
70# could have a loop invariant that interrupts are enabled whenever
71# there are still DSR's pending.
72
73cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
74    display       "Preconditions"
75    default_value 1
76    description   "
77        This option allows individual control of preconditions.
78        A precondition is one type of assert, which it is
79        useful to control separately from more general asserts.
80        The function is CYG_PRECONDITION(condition,msg)."
81}
82cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
83    display       "Postconditions"
84    default_value 1
85    description   "
86        This option allows individual control of postconditions.
87        A postcondition is one type of assert, which it is
88        useful to control separately from more general asserts.
89        The function is CYG_POSTCONDITION(condition,msg)."
90}
91cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
92    display       "Loop invariants"
93    default_value 1
94    description   "
95        This option allows individual control of loop invariants.
96        A loop invariant is one type of assert, which it is
97        useful to control separately from more general asserts,
98        particularly since a loop invariant is typically evaluated
99        a great many times when used correctly.
100        The function is CYG_LOOP_INVARIANT(condition,msg)."
101}
102
103cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
104    display       "Use assert text"
105    default_value 1
106    description   "
107        All assertions within eCos contain a text message
108        which should give some information about the condition
109        being tested.
110        These text messages will end up being embedded in the
111        application image and hence there is a significant penalty
112        in terms of image size.
113        It is possible to suppress the use of these messages by
114        disabling this option.
115        This results in smaller code size, but there is less
116        human-readable information if an assertion actually gets
117        triggered."
118}
119
120# EOF assert.cdl
Note: See TracBrowser for help on using the repository browser.