Skip to content

Commit 31d704e

Browse files
authored
cppcheckexecutor.cpp: extracted platform-dependent code into separate files (danmar#4359)
1 parent 72c764b commit 31d704e

15 files changed

Lines changed: 865 additions & 634 deletions

Makefile

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,13 @@ EXTOBJ = externals/simplecpp/simplecpp.o \
209209

210210
CLIOBJ = cli/cmdlineparser.o \
211211
cli/cppcheckexecutor.o \
212+
cli/cppcheckexecutorseh.o \
213+
cli/cppcheckexecutorsig.o \
212214
cli/executor.o \
213215
cli/filelister.o \
214216
cli/main.o \
215217
cli/processexecutor.o \
218+
cli/stacktrace.o \
216219
cli/threadexecutor.o
217220

218221
TESTOBJ = test/options.o \
@@ -291,7 +294,7 @@ cppcheck: $(LIBOBJ) $(CLIOBJ) $(EXTOBJ)
291294

292295
all: cppcheck testrunner
293296

294-
testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/executor.o cli/processexecutor.o cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/filelister.o
297+
testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/executor.o cli/processexecutor.o cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/cppcheckexecutorseh.o cli/cppcheckexecutorsig.o cli/stacktrace.o cli/filelister.o
295298
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(LDFLAGS) $(RDYNAMIC)
296299

297300
test: all
@@ -574,9 +577,15 @@ $(libcppdir)/valueflow.o: lib/valueflow.cpp lib/analyzer.h lib/astutils.h lib/ca
574577
cli/cmdlineparser.o: cli/cmdlineparser.cpp cli/cmdlineparser.h cli/cppcheckexecutor.h cli/filelister.h externals/tinyxml2/tinyxml2.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
575578
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/cmdlineparser.o cli/cmdlineparser.cpp
576579

577-
cli/cppcheckexecutor.o: cli/cppcheckexecutor.cpp cli/cmdlineparser.h cli/cppcheckexecutor.h cli/executor.h cli/filelister.h cli/processexecutor.h cli/threadexecutor.h externals/simplecpp/simplecpp.h lib/analyzerinfo.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
580+
cli/cppcheckexecutor.o: cli/cppcheckexecutor.cpp cli/cmdlineparser.h cli/cppcheckexecutor.h cli/cppcheckexecutorseh.h cli/cppcheckexecutorsig.h cli/executor.h cli/filelister.h cli/processexecutor.h cli/threadexecutor.h externals/simplecpp/simplecpp.h lib/analyzerinfo.h lib/check.h lib/checkunusedfunctions.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/path.h lib/pathmatch.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
578581
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/cppcheckexecutor.o cli/cppcheckexecutor.cpp
579582

583+
cli/cppcheckexecutorseh.o: cli/cppcheckexecutorseh.cpp cli/cppcheckexecutor.h cli/cppcheckexecutorseh.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/suppressions.h lib/utils.h
584+
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/cppcheckexecutorseh.o cli/cppcheckexecutorseh.cpp
585+
586+
cli/cppcheckexecutorsig.o: cli/cppcheckexecutorsig.cpp cli/cppcheckexecutor.h cli/cppcheckexecutorsig.h cli/stacktrace.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/suppressions.h
587+
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/cppcheckexecutorsig.o cli/cppcheckexecutorsig.cpp
588+
580589
cli/executor.o: cli/executor.cpp cli/executor.h
581590
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/executor.o cli/executor.cpp
582591

@@ -589,6 +598,9 @@ cli/main.o: cli/main.cpp cli/cppcheckexecutor.h lib/color.h lib/config.h lib/err
589598
cli/processexecutor.o: cli/processexecutor.cpp cli/cppcheckexecutor.h cli/executor.h cli/processexecutor.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
590599
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/processexecutor.o cli/processexecutor.cpp
591600

601+
cli/stacktrace.o: cli/stacktrace.cpp cli/stacktrace.h lib/config.h lib/utils.h
602+
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/stacktrace.o cli/stacktrace.cpp
603+
592604
cli/threadexecutor.o: cli/threadexecutor.cpp cli/cppcheckexecutor.h cli/executor.h cli/threadexecutor.h lib/analyzerinfo.h lib/check.h lib/color.h lib/config.h lib/cppcheck.h lib/errorlogger.h lib/errortypes.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/timer.h lib/utils.h
593605
$(CXX) ${INCLUDE_FOR_CLI} $(CPPFLAGS) $(CPPFILESDIR) $(CXXFLAGS) $(UNDEF_STRICT_ANSI) -c -o cli/threadexecutor.o cli/threadexecutor.cpp
594606

cli/cli.vcxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,10 +407,13 @@
407407
<ClInclude Include="..\lib\config.h" />
408408
<ClInclude Include="cmdlineparser.h" />
409409
<ClInclude Include="cppcheckexecutor.h" />
410+
<ClCompile Include="cppcheckexecutorseh.h" />
411+
<ClCompile Include="cppcheckexecutorsig.h" />
410412
<ClInclude Include="executor.h" />
411413
<ClInclude Include="filelister.h" />
412414
<ClInclude Include="processexecutor.h" />
413415
<ClInclude Include="threadexecutor.h" />
416+
<ClInclude Include="stacktrace.h" />
414417
</ItemGroup>
415418
<ItemGroup>
416419
<ProjectReference Include="..\lib\cppcheck.vcxproj">
@@ -420,11 +423,14 @@
420423
<ItemGroup>
421424
<ClCompile Include="cmdlineparser.cpp" />
422425
<ClCompile Include="cppcheckexecutor.cpp" />
426+
<ClCompile Include="cppcheckexecutorseh.cpp" />
427+
<ClCompile Include="cppcheckexecutorsig.cpp" />
423428
<ClCompile Include="executor.cpp" />
424429
<ClCompile Include="filelister.cpp" />
425430
<ClCompile Include="main.cpp" />
426431
<ClCompile Include="processexecutor.cpp" />
427432
<ClCompile Include="threadexecutor.cpp" />
433+
<ClCompile Include="stacktrace.cpp" />
428434
</ItemGroup>
429435
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
430436
<ImportGroup Label="ExtensionTargets" />

cli/cli.vcxproj.filters

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,18 @@
2626
<ClInclude Include="cppcheckexecutor.h">
2727
<Filter>Header Files</Filter>
2828
</ClInclude>
29+
<ClInclude Include="cppcheckexecutorseh.h">
30+
<Filter>Header Files</Filter>
31+
</ClInclude>
32+
<ClInclude Include="cppcheckexecutorsig.h">
33+
<Filter>Header Files</Filter>
34+
</ClInclude>
2935
<ClInclude Include="filelister.h">
3036
<Filter>Header Files</Filter>
3137
</ClInclude>
38+
<ClInclude Include="stacktrace.h">
39+
<Filter>Header Files</Filter>
40+
</ClInclude>
3241
</ItemGroup>
3342
<ItemGroup>
3443
<ClCompile Include="main.cpp">
@@ -40,12 +49,21 @@
4049
<ClCompile Include="cppcheckexecutor.cpp">
4150
<Filter>Source Files</Filter>
4251
</ClCompile>
52+
<ClCompile Include="cppcheckexecutorseh.cpp">
53+
<Filter>Source Files</Filter>
54+
</ClCompile>
55+
<ClCompile Include="cppcheckexecutorsig.cpp">
56+
<Filter>Source Files</Filter>
57+
</ClCompile>
4358
<ClCompile Include="filelister.cpp">
4459
<Filter>Source Files</Filter>
4560
</ClCompile>
4661
<ClCompile Include="cmdlineparser.cpp">
4762
<Filter>Source Files</Filter>
4863
</ClCompile>
64+
<ClCompile Include="stacktrace.cpp">
65+
<Filter>Source Files</Filter>
66+
</ClCompile>
4967
</ItemGroup>
5068
<ItemGroup>
5169
<ResourceCompile Include="version.rc">

cli/cmdlineparser.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ bool CmdLineParser::parseFromArgs(int argc, const char* const argv[])
341341
else if (std::strcmp(argv[i], "--exception-handling") == 0)
342342
mSettings->exceptionHandling = true;
343343

344+
// TODO: only applied with Signal handling i.e. Linux
344345
else if (std::strncmp(argv[i], "--exception-handling=", 21) == 0) {
345346
mSettings->exceptionHandling = true;
346347
const std::string exceptionOutfilename = &(argv[i][21]);

0 commit comments

Comments
 (0)