commit e1ab4fe0bc055483f50409987107226776b3438c
parent 89fea712fbfcccf5054cacc17371469206a8a92e
Author: Kyle Milz <kyle@0x30.net>
Date: Sat, 13 Aug 2016 03:49:39 -0600
src: unfuck some logic
Diffstat:
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/src/inst_main.cc b/src/inst_main.cc
@@ -130,8 +130,13 @@ main(int argc, char *argv[])
CitrunInst main(argc, argv, llog, is_citruninst);
main.process_cmdline();
- if (main.instrument())
- return 1;
+
+ int ret = main.instrument();
+ if (is_citruninst)
+ return ret;
+ if (ret)
+ return main.try_unmodified_compile();
+
return main.compile_modified();
}
@@ -303,14 +308,7 @@ CitrunInst::instrument()
int ret = Tool.run(f.get());
m_log << "Instrumentation " << (ret ? "failed.\n" : "successful.\n");
-
- if (m_is_citruninst)
- // Nothing left to do if we're in this mode.
- exit(ret);
-
- if (ret)
- return try_unmodified_compile();
- return 0;
+ return ret;
}
int
diff --git a/src/inst_main.h b/src/inst_main.h
@@ -7,9 +7,9 @@ class CitrunInst {
public:
CitrunInst(int, char *argv[], InstrumentLogger &, bool);
- void clean_PATH();
void process_cmdline();
int instrument();
+ int try_unmodified_compile();
int compile_modified();
private:
@@ -17,7 +17,6 @@ private:
int fork_compiler();
void restore_original_src();
void save_if_srcfile(char *);
- int try_unmodified_compile();
std::vector<char *> m_args;
InstrumentLogger m_log;