123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- //=============================================================================
- // 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 */
|