llvm-c-kaleidoscope icon indicating copy to clipboard operation
llvm-c-kaleidoscope copied to clipboard

Not compatible with LLVM 3.6

Open PerMildner opened this issue 10 years ago • 1 comments
trafficstars

The code uses the old JIT. Only MCJIT seems to be available in more recent versions of LLVM.

This prevents the code from compiling.

PerMildner avatar Apr 20 '15 19:04 PerMildner

hi, after make say error:

$ make mkdir -p build mkdir -p build/bison yacc -dv -o src/parser.c src/parser.y lex --header-file=src/lexer.h -o src/lexer.c src/lexer.l cc llvm-config --cflags -g -Wall -Wextra -Wno-self-assign -std=c99 -c -o src/kaleidoscope.o src/kaleidoscope.c In file included from src/kaleidoscope.c:8:0: src/ast.h:87:6: warning: ISO C99 doesn’t support unnamed structs/unions [-Wpedantic] }; ^ In file included from src/codegen.h:4:0, from src/kaleidoscope.c:10: /usr/lib/llvm-3.8/include/llvm-c/Core.h:83:23: warning: enumerator value for ‘LLVMNonLazyBind’ is not an integer constant expression [-Wpedantic] LLVMNonLazyBind = 1 << 31 ^ src/kaleidoscope.c: In function ‘main’: src/kaleidoscope.c:25:5: warning: implicit declaration of function ‘LLVMLinkInJIT’ [-Wimplicit-function-declaration] LLVMLinkInJIT(); ^~~~~~~~~~~~~ src/kaleidoscope.c:75:64: warning: passing argument 1 of ‘kal_ast_prototype_create’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] kal_ast_node *prototype = kal_ast_prototype_create("", NULL, 0); ^~ In file included from src/kaleidoscope.c:8:0: src/ast.h:108:15: note: expected ‘char *’ but argument is of type ‘const char *’ kal_ast_node *kal_ast_prototype_create(char name, char args, ^~~~~~~~~~~~~~~~~~~~~~~~ src/kaleidoscope.c: At top level: cc1: warning: unrecognized command line option ‘-Wno-self-assign’ cc llvm-config --cflags -g -Wall -Wextra -Wno-self-assign -std=c99 -c -o src/codegen.o src/codegen.c In file included from src/codegen.c:4:0: /usr/lib/llvm-3.8/include/llvm-c/Core.h:83:23: warning: enumerator value for ‘LLVMNonLazyBind’ is not an integer constant expression [-Wpedantic] LLVMNonLazyBind = 1 << 31 ^ In file included from src/codegen.h:5:0, from src/codegen.c:7: src/ast.h:87:6: warning: ISO C99 doesn’t support unnamed structs/unions [-Wpedantic] }; ^ cc1: warning: unrecognized command line option ‘-Wno-self-assign’ cc -g -Wall -Wextra -Wno-self-assign -std=c99 -c -o src/ast.o src/ast.c src/ast.c: In function ‘kal_ast_variable_create’: src/ast.c:44:27: warning: implicit declaration of function ‘strdup’ [-Wimplicit-function-declaration] node->variable.name = strdup(name); ^~~~~~ src/ast.c:44:25: warning: assignment makes pointer from integer without a cast [-Wint-conversion] node->variable.name = strdup(name); ^ src/ast.c: In function ‘kal_ast_call_create’: src/ast.c:89:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] node->call.name = strdup(name); ^ src/ast.c: In function ‘kal_ast_prototype_create’: src/ast.c:118:26: warning: assignment makes pointer from integer without a cast [-Wint-conversion] node->prototype.name = strdup(name); ^ src/ast.c:123:33: warning: assignment makes pointer from integer without a cast [-Wint-conversion] node->prototype.args[i] = strdup(args[i]); ^ src/ast.c: At top level: cc1: warning: unrecognized command line option ‘-Wno-self-assign’ cc -g -Wall -Wextra -Wno-self-assign -std=c99 -c -o src/lexer.o src/lexer.c src/lexer.l: In function ‘yylex’: src/lexer.l:4:38: warning: implicit declaration of function ‘strndup’ [-Wimplicit-function-declaration] #define SAVE_STRING yylval->string = strndup(yytext, yyleng) ^ src/lexer.l:22:1: note: in expansion of macro ‘SAVE_STRING’ [a-zA-Z_][a-zA-Z0-9_] SAVE_STRING; return TIDENTIFIER; ^~~~~~~~~~~ src/lexer.l:4:36: warning: assignment makes pointer from integer without a cast [-Wint-conversion] #define SAVE_STRING yylval->string = strndup(yytext, yyleng) ^ src/lexer.l:22:1: note: in expansion of macro ‘SAVE_STRING’ [a-zA-Z_][a-zA-Z0-9_] SAVE_STRING; return TIDENTIFIER; ^~~~~~~~~~~ src/lexer.c: In function ‘yy_get_next_buffer’: src/lexer.c:627:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for ( n = 0; n < max_size &&
^ src/lexer.c:1168:3: note: in expansion of macro ‘YY_INPUT’ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), ^~~~~~~~ src/lexer.c: In function ‘yy_init_buffer’: src/lexer.c:1525:48: warning: implicit declaration of function ‘fileno’ [-Wimplicit-function-declaration] b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; ^~~~~~ src/lexer.c: In function ‘yy_scan_bytes’: src/lexer.c:1728:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for ( i = 0; i < _yybytes_len; ++i ) ^ At top level: src/lexer.c:1316:16: warning: ‘input’ defined but not used [-Wunused-function] static int input (yyscan_t yyscanner) ^~~~~ src/lexer.c:1272:17: warning: ‘yyunput’ defined but not used [-Wunused-function] static void yyunput (int c, char * yy_bp , yyscan_t yyscanner) ^~~~~~~ cc1: warning: unrecognized command line option ‘-Wno-self-assign’ cc -g -Wall -Wextra -Wno-self-assign -std=c99 -c -o src/parser.o src/parser.c src/parser.y: In function ‘yyerror’: src/parser.y:8:24: warning: unused parameter ‘scanner’ [-Wunused-parameter] void yyerror(void scanner, const char s) { printf("ERROR: %s\n", s); } ^~~~~~~ src/parser.y: In function ‘yyparse’: src/parser.y:81:115: warning: implicit declaration of function ‘strdup’ [-Wimplicit-function-declaration] | TIDENTIFIER { $$.count = 1; $$.args = malloc(sizeof(char)); $$.args[0] = strdup($1); } ^
src/parser.y:81:113: warning: assignment makes pointer from integer without a cast [-Wint-conversion] | TIDENTIFIER { $$.count = 1; $$.args = malloc(sizeof(char
)); $$.args[0] = strdup($1); } ^ src/parser.y:82:213: warning: assignment makes pointer from integer without a cast [-Wint-conversion] | proto_args TCOMMA TIDENTIFIER { $1.count++; $1.args = realloc($1.args, sizeof(char
) * $1.count); $1.args[$1.count-1] = strdup($3); $$ = $1; } ^ src/parser.y: At top level: cc1: warning: unrecognized command line option ‘-Wno-self-assign’ rm -f build/libkaleidoscope.a ar rcs build/libkaleidoscope.a src/kaleidoscope.o src/codegen.o src/ast.o src/lexer.o src/parser.o ranlib build/libkaleidoscope.a g++ llvm-config --libs --cflags --ldflags core analysis executionengine jit interpreter native -g -Wall -Wextra -Wno-self-assign -rdynamic -Isrc -o build/kaleidoscope src/kaleidoscope.o build/libkaleidoscope.a llvm-config: unknown component name: jit src/kaleidoscope.o: In function main': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:20: undefined reference to LLVMModuleCreateWithName' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:21: undefined reference to LLVMCreateBuilder' src/kaleidoscope.o: In function LLVMInitializeNativeTarget': /usr/lib/llvm-3.8/include/llvm-c/Target.h:139: undefined reference to LLVMInitializeX86TargetInfo' /usr/lib/llvm-3.8/include/llvm-c/Target.h:140: undefined reference to LLVMInitializeX86Target' /usr/lib/llvm-3.8/include/llvm-c/Target.h:141: undefined reference to LLVMInitializeX86TargetMC' src/kaleidoscope.o: In function main': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:25: undefined reference to LLVMLinkInJIT' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:29: undefined reference to LLVMCreateExecutionEngineForModule' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:36: undefined reference to LLVMCreateFunctionPassManagerForModule' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:37: undefined reference to LLVMGetExecutionEngineTargetData' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:37: undefined reference to LLVMAddTargetData' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:38: undefined reference to LLVMAddPromoteMemoryToRegisterPass' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:39: undefined reference to LLVMAddInstructionCombiningPass' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:40: undefined reference to LLVMAddReassociatePass' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:41: undefined reference to LLVMAddGVNPass' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:42: undefined reference to LLVMAddCFGSimplificationPass' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:43: undefined reference to LLVMInitializeFunctionPassManager' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:87: undefined reference to LLVMDumpValue' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:91: undefined reference to LLVMGetPointerToGlobal' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:87: undefined reference to LLVMDumpValue' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:97: undefined reference to LLVMRunFunctionPassManager' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:105: undefined reference to LLVMDumpModule' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:107: undefined reference to LLVMDisposePassManager' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:108: undefined reference to LLVMDisposeBuilder' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:109: undefined reference to LLVMDisposeModule' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/kaleidoscope.c:31: undefined reference to LLVMDisposeMessage' build/libkaleidoscope.a(codegen.o): In function kal_codegen_number': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:36: undefined reference to LLVMDoubleType' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:36: undefined reference to LLVMConstReal' build/libkaleidoscope.a(codegen.o): In function kal_codegen_prototype': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:163: undefined reference to LLVMGetNamedFunction' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:166: undefined reference to LLVMCountParams' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:172: undefined reference to LLVMCountBasicBlocks' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:195: undefined reference to LLVMGetParam' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:196: undefined reference to LLVMSetValueName' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:182: undefined reference to LLVMDoubleType' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:186: undefined reference to LLVMDoubleType' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:186: undefined reference to LLVMFunctionType' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:189: undefined reference to LLVMAddFunction' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:190: undefined reference to LLVMSetLinkage' build/libkaleidoscope.a(codegen.o): In function kal_codegen_binary_expr': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:97: undefined reference to LLVMBuildFDiv' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:94: undefined reference to LLVMBuildFMul' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:88: undefined reference to LLVMBuildFAdd' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:91: undefined reference to LLVMBuildFSub' build/libkaleidoscope.a(codegen.o): In function kal_codegen_call': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:118: undefined reference to LLVMGetNamedFunction' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:126: undefined reference to LLVMCountParams' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:144: undefined reference to LLVMBuildCall' build/libkaleidoscope.a(codegen.o): In function kal_codegen_function': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:229: undefined reference to LLVMAppendBasicBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:230: undefined reference to LLVMPositionBuilderAtEnd' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:240: undefined reference to LLVMBuildRet' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:243: undefined reference to LLVMVerifyFunction' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:245: undefined reference to LLVMDeleteFunction' build/libkaleidoscope.a(codegen.o): In function kal_codegen_if_expr': /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:272: undefined reference to LLVMDoubleType' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:272: undefined reference to LLVMConstReal' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:273: undefined reference to LLVMBuildFCmp' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:276: undefined reference to LLVMGetInsertBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:276: undefined reference to LLVMGetBasicBlockParent' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:279: undefined reference to LLVMAppendBasicBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:280: undefined reference to LLVMAppendBasicBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:281: undefined reference to LLVMAppendBasicBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:283: undefined reference to LLVMBuildCondBr' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:286: undefined reference to LLVMPositionBuilderAtEnd' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:292: undefined reference to LLVMBuildBr' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:293: undefined reference to LLVMGetInsertBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:295: undefined reference to LLVMPositionBuilderAtEnd' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:300: undefined reference to LLVMBuildBr' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:301: undefined reference to LLVMGetInsertBlock' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:303: undefined reference to LLVMPositionBuilderAtEnd' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:304: undefined reference to LLVMDoubleType' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:304: undefined reference to LLVMBuildPhi' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:305: undefined reference to LLVMAddIncoming' /home/guest/Project/learn/1/llvm-c-kaleidoscope-master/src/codegen.c:306: undefined reference to LLVMAddIncoming' collect2: error: ld returned 1 exit status Makefile:50: recipe for target 'build/kaleidoscope' failed make: *** [build/kaleidoscope] Error 1 guest@system:~/Project/learn/1/llvm-c-kaleidoscope-master$

please check and fix this. :+1:

QuestionPython avatar Mar 07 '17 19:03 QuestionPython