X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ferror.h;h=ab38af6234631099cb19a46f8b4a1901c4a9bf0f;hb=4a73877b4d56caed03d383fb4d38347a9774046f;hp=60bcbe85df5cef10bbda9f2c3f4fd615d4a0a85c;hpb=7b98b3a4f58f6dc5a8e9cbc188b627966d5e652d;p=pspp-builds.git diff --git a/src/error.h b/src/error.h index 60bcbe85..ab38af62 100644 --- a/src/error.h +++ b/src/error.h @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #if !error_h #define error_h 1 @@ -33,7 +33,7 @@ enum ERR_CLASS_COUNT, /* Number of message classes. */ ERR_CLASS_MASK = 0xf, /* Bitmask for class. */ ERR_VERBOSITY_SHIFT = 4, /* Shift count for verbosity. */ - ERR_VERBOSITY_MASK = 0xf, /* Bitmask for verbosity. */ + ERR_VERBOSITY_MASK = 0xf /* Bitmask for verbosity. */ }; /* If passed to msg() as CLASS, the return value will cause the message @@ -53,7 +53,6 @@ struct error int class; /* One of the classes above. */ struct file_locator where; /* File location, or (NULL, -1). */ const char *title; /* Special text inserted if not null. */ - const char *text; /* Error text. */ }; /* Number of errors, warnings reported. */ @@ -85,6 +84,20 @@ void err_location (struct file_locator *); void err_break (void); void err_check_count (void); void err_hcf (int exit_code) NO_RETURN; -void err_vmsg (const struct error *); +void err_vmsg (const struct error *, const char *, va_list); + +/* Used in panic situations only */ +void request_bug_report_and_abort(const char *msg ); + +void err_assert_fail(const char *expr, const char *file, int line); + +#undef __STRING +#define __STRING(x) #x +#undef assert + + +#define assert(expr) ( (void) ( expr ? (void) 0 : \ + err_assert_fail(__STRING(expr), __FILE__, __LINE__)) ) + #endif /* error.h */