/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1985-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* David Korn <[email protected]> *18* Phong Vo <[email protected]> *19* *20***********************************************************************/21#pragma prototyped22/*23* <debug.h> support24*/2526#include <ast.h>27#include <error.h>28#include <debug.h>2930void31debug_fatal(const char* file, int line)32{33error(2, "%s:%d: debug error", file, line);34abort();35}3637#if _sys_times3839#include <times.h>40#include <sys/resource.h>4142double43debug_elapsed(int set)44{45double tm;46struct rusage ru;4748static double prev;4950getrusage(RUSAGE_SELF, &ru);51tm = (double)ru.ru_utime.tv_sec + (double)ru.ru_utime.tv_usec/1000000.0;52if (set)53return prev = tm;54return tm - prev;55}5657#else5859double60debug_elapsed(int set)61{62return 0;63}6465#endif666768