NewLang Project
Yet another programm language
Loading...
Searching...
No Matches
unittest.cpp
Go to the documentation of this file.
1#ifdef _MSC_VER
2
3#pragma comment(lib, "torch.lib")
4#pragma comment(lib, "torch_cpu.lib")
5#pragma comment(lib, "c10.lib")
6
7
8/* #pragma comment(lib, "clangTooling.lib")
9#pragma comment(lib, "clangFrontendTool.lib")
10#pragma comment(lib, "clangFrontend.lib")
11#pragma comment(lib, "clangDriver.lib")
12#pragma comment(lib, "clangSerialization.lib")
13#pragma comment(lib, "clangCodeGen.lib")
14#pragma comment(lib, "clangParse.lib")
15#pragma comment(lib, "clangSema.lib")
16#pragma comment(lib, "clangStaticAnalyzerFrontend.lib")
17#pragma comment(lib, "clangStaticAnalyzerCheckers.lib")
18#pragma comment(lib, "clangStaticAnalyzerCore.lib")
19#pragma comment(lib, "clangAnalysis.lib")
20#pragma comment(lib, "clangARCMigrate.lib")
21#pragma comment(lib, "clangRewrite.lib")
22#pragma comment(lib, "clangASTMatchers.lib")
23#pragma comment(lib, "clangSupport.lib")
24#pragma comment(lib, "clangRewriteFrontend.lib")
25#pragma comment(lib, "clangEdit.lib")
26#pragma comment(lib, "clangAST.lib")
27#pragma comment(lib, "clangLex.lib")
28#pragma comment(lib, "clangBasic.lib")
29 */
30
31
32#pragma comment(lib, "LLVMSupport.lib")
33
34#pragma comment(lib, "LLVM-C.lib")
35
36#pragma comment(lib, "Ws2_32.lib")
37#pragma comment(lib, "legacy_stdio_definitions.lib")
38#pragma comment(lib, "legacy_stdio_wide_specifiers.lib")
39#pragma comment(lib, "libcrypto_static.lib")
40
41#endif
42
43#ifdef BUILD_UNITTEST
44
45#include <cstdio>
46#include "gtest/gtest.h"
47
48int main(int argc, char **argv) {
49 printf("Running main() from %s\n", __FILE__);
50 testing::InitGoogleTest(&argc, argv);
51
52 //#0 __GI___libc_free (mem=0x1) at malloc.c:3102
53 //#1 0x00007fffe3d0c113 in llvm::cl::Option::~Option() () from ../contrib/libtorch/lib/libtorch_cpu.so
54 //#2 0x00007fffd93eafde in __cxa_finalize (d=0x7ffff6c74000) at cxa_finalize.c:83
55 //#3 0x00007fffe0b80723 in __do_global_dtors_aux () from ../contrib/libtorch/lib/libtorch_cpu.so
56 //#4 0x00007fffffffdd80 in ?? ()
57 //#5 0x00007ffff7fe0f6b in _dl_fini () at dl-fini.c:138
58
59 //#0 0x00000000c0200000 in ?? ()
60 //#1 0x00007fffda7b844f in ?? () from /lib/x86_64-linux-gnu/libLLVM-13.so.1
61 //#2 0x00007fffd95ecfde in __cxa_finalize (d=0x7fffdf9a0ba0) at cxa_finalize.c:83
62 //#3 0x00007fffda743cd7 in ?? () from /lib/x86_64-linux-gnu/libLLVM-13.so.1
63 //#4 0x00007fffffffdd80 in ?? ()
64 //#5 0x00007ffff7fe0f6b in _dl_fini () at dl-fini.c:138
65
66 // При завершении приложения происходит Segmentation fault из-за двойного освобожнения памяти статической переменой
67 // llvm::cl::Option::~Option() во время выгрузки динамически библиотек libLLVM или libtorch_cpu
68 // Чтобы убрать этот coredump вместо нормального завершения main вызываю _exit, чтобы
69 // все остальные функции освобождения памяти не вызывались при завершении процесса.
70
71 // return RUN_ALL_TESTS();
72 _exit(RUN_ALL_TESTS());
73}
74#else
75#error Fail build type
76#endif
int main(int argc, char **argv)
Definition nlc.cpp:49