about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorPjotr Prins2025-01-04 01:59:26 -0600
committerPjotr Prins2025-01-04 01:59:26 -0600
commit2701a364228d91ba2c52f511ad6619d070e2235b (patch)
treebb2f24888472dc37c243bd439964661d7ae9a91d /src
parentc6a475370d4c1190685195265cb64ccc7bd17745 (diff)
downloadpangemma-2701a364228d91ba2c52f511ad6619d070e2235b.tar.gz
Show checkpoints passed with -debug switch
Diffstat (limited to 'src')
-rw-r--r--src/checkpoint.cpp3
-rw-r--r--src/checkpoint.h6
2 files changed, 6 insertions, 3 deletions
diff --git a/src/checkpoint.cpp b/src/checkpoint.cpp
index 6fcc1a2..a37c1be 100644
--- a/src/checkpoint.cpp
+++ b/src/checkpoint.cpp
@@ -26,7 +26,8 @@
 
 using namespace std;
 
-void checkpoint(string msg, string filename) {
+void checkpoint_run(string msg, string filename, string srcfilename, int line, string funcname) {
+    is_debug_mode() && std::cerr << "**** DEBUG: checkpoint " << msg << " passed with " << filename << " in " << srcfilename << " at line " << line << " in " << funcname << endl;
     if (msg == checkpoint_name) {
 	cerr << "**** Checkpoint reached: " << msg << " (normal exit)" << endl;
 	exit(0);
diff --git a/src/checkpoint.h b/src/checkpoint.h
index 7a70855..2792fac 100644
--- a/src/checkpoint.h
+++ b/src/checkpoint.h
@@ -20,12 +20,14 @@
 #ifndef __CHECKPOINT_H__
 #define __CHECKPOINT_H__
 
-#include <string>
+#include <debug.h>
 
 using namespace std;
 
 extern string checkpoint_name;
 
-void checkpoint(string msg, string filename);
+void checkpoint_run(string msg, string filename, string srcfilename, int line, string funcname);
 
+#define checkpoint(msg, fname)						\
+    checkpoint_run(msg, fname, __FILE__, __LINE__, __SHOW_FUNC)
 #endif