91 lines
2.7 KiB
C++
91 lines
2.7 KiB
C++
//=============================================================================
|
|
// File : utilities.h
|
|
// Created : mar jun 19 13:18:14 CEST 2001
|
|
// Author : Antoine YESSAYAN, Paul RASCLE, EDF
|
|
// Project : SALOME
|
|
// Copyright : EDF 2001
|
|
// $Header$
|
|
//=============================================================================
|
|
|
|
/* --- Definition macros file to print information if _DEBUG_ is defined --- */
|
|
|
|
# ifndef UTILITIES_H
|
|
# define UTILITIES_H
|
|
|
|
# include <stdlib.h>
|
|
//# include <iostream> ok for gcc3.01
|
|
# include <iostream>
|
|
|
|
/* --- INFOS is always defined (without _DEBUG_): to be used for warnings, with release version --- */
|
|
|
|
# define HEREWEARE cout<<flush ; cerr << __FILE__ << " [" << __LINE__ << "] : " << flush ;
|
|
# define INFOS(chain) {HEREWEARE ; cerr << chain << endl ;}
|
|
# define PYSCRIPT(chain) {cout<<flush ; cerr << "---PYSCRIPT--- " << chain << endl ;}
|
|
|
|
/* --- To print date and time of compilation of current source on stdout --- */
|
|
|
|
# if defined ( __GNUC__ )
|
|
# define COMPILER "g++" ;
|
|
# elif defined ( __sun )
|
|
# define COMPILER "CC" ;
|
|
# elif defined ( __KCC )
|
|
# define COMPILER "KCC" ;
|
|
# elif defined ( __PGI )
|
|
# define COMPILER "pgCC" ;
|
|
# else
|
|
# define COMPILER "undefined" ;
|
|
# endif
|
|
|
|
# ifdef INFOS_COMPILATION
|
|
# error INFOS_COMPILATION already defined
|
|
# endif
|
|
# define INFOS_COMPILATION {\
|
|
cerr << flush;\
|
|
cout << __FILE__ ;\
|
|
cout << " [" << __LINE__ << "] : " ;\
|
|
cout << "COMPILED with " << COMPILER ;\
|
|
cout << ", " << __DATE__ ; \
|
|
cout << " at " << __TIME__ << endl ;\
|
|
cout << "\n\n" ;\
|
|
cout << flush ;\
|
|
}
|
|
|
|
# ifdef _DEBUG_
|
|
|
|
/* --- the following MACROS are useful at debug time --- */
|
|
|
|
# define HERE cout<<flush ; cerr << "- Trace " << __FILE__ << " [" << __LINE__ << "] : " << flush ;
|
|
# define SCRUTE(var) HERE ; cerr << #var << "=" << var << endl ;
|
|
# define MESSAGE(chain) {HERE ; cerr << chain << endl ;}
|
|
# define INTERRUPTION(code) HERE ; cerr << "INTERRUPTION return code= " << code << endl ; exit(code) ;
|
|
|
|
# ifndef ASSERT
|
|
# define ASSERT(condition) if (!(condition)){ HERE ; cerr << "CONDITION " << #condition << " NOT VERIFIED"<< endl ; INTERRUPTION(1) ;}
|
|
# endif /* ASSERT */
|
|
|
|
#define REPERE cout<<flush ; cerr << " --------------" << endl << flush ;
|
|
#define BEGIN_OF(chain) {REPERE ; HERE ; cerr << "Begin of: " << chain << endl ; REPERE ; }
|
|
#define END_OF(chain) {REPERE ; HERE ; cerr << "Normal end of: " << chain << endl ; REPERE ; }
|
|
|
|
|
|
|
|
# else /* ifdef _DEBUG_*/
|
|
|
|
# define HERE
|
|
# define SCRUTE(var)
|
|
# define MESSAGE(chain)
|
|
# define INTERRUPTION(code)
|
|
|
|
# ifndef ASSERT
|
|
# define ASSERT(condition)
|
|
# endif /* ASSERT */
|
|
|
|
#define REPERE
|
|
#define BEGIN_OF(chain)
|
|
#define END_OF(chain)
|
|
|
|
|
|
# endif /* ifdef _DEBUG_*/
|
|
|
|
# endif /* ifndef UTILITIES_H */
|