AdeptLanguage / Adept

The Adept Programming Language
GNU General Public License v3.0
120 stars 8 forks source link

Failed to compile with LLVM 18.1.1 #326

Closed ghost closed 5 months ago

ghost commented 5 months ago
$ clang -v
clang version 18.1.1
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:/msys64/clang64/bin
$ ninja
[1/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_free.c.obj
[2/216] Building C object CMakeFiles/adept.dir/src/AST/EXPR/ast_expr_str.c.obj
[3/216] Building C object CMakeFiles/adept.dir/src/AST/POLY/ast_translate.c.obj
[4/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_clone.c.obj
[5/216] Building C object CMakeFiles/adept.dir/src/AST/EXPR/ast_expr_free.c.obj
[6/216] Building C object CMakeFiles/adept.dir/src/AST/POLY/ast_resolve.c.obj
[7/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_hash.c.obj
[8/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_helpers.c.obj
[9/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_identical.c.obj
[10/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_is.c.obj
[11/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_make.c.obj
[12/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_str.c.obj
[13/216] Building C object CMakeFiles/adept.dir/src/AST/TYPE/ast_type_set.c.obj
[14/216] Building C object CMakeFiles/adept.dir/src/AST/UTIL/string_builder_extensions.c.obj
[15/216] Building C object CMakeFiles/adept.dir/src/AST/ast_dump.c.obj
[16/216] Building C object CMakeFiles/adept.dir/src/AST/ast_expr.c.obj
[17/216] Building C object CMakeFiles/adept.dir/src/AST/ast_named_expression.c.obj
[18/216] Building C object CMakeFiles/adept.dir/src/AST/ast_layout.c.obj
[19/216] Building C object CMakeFiles/adept.dir/src/AST/ast_poly_catalog.c.obj
[20/216] Building C object CMakeFiles/adept.dir/src/BKEND/backend.c.obj
[21/216] Building C object CMakeFiles/adept.dir/src/AST/ast.c.obj
[22/216] Building C object CMakeFiles/adept.dir/src/BKEND/ir_to_c.c.obj
[23/216] Building C object CMakeFiles/adept.dir/src/AST/meta_directives.c.obj
[24/216] Building C object CMakeFiles/adept.dir/src/BKEND/ir_to_llvm.c.obj
[25/216] Building C object CMakeFiles/adept.dir/src/BRIDGE/bridge.c.obj
[26/216] Building C object CMakeFiles/adept.dir/src/BRIDGE/rtti_collector.c.obj
[27/216] Building C object CMakeFiles/adept.dir/src/BKEND/ir_to_llvm_impl.c.obj
FAILED: CMakeFiles/adept.dir/src/BKEND/ir_to_llvm_impl.c.obj
C:\msys64\clang64\bin\cc.exe -DADEPT_ENABLE_PACKAGE_MANAGER -DENABLE_DEBUG_FEATURES -IC:/msys64/home/Administrator/Adept/include -D__USE_MINGW_ANSI_STDIO -std=gnu11 -Wall -Wextra -pedantic -MD -MT CMakeFiles/adept.dir/src/BKEND/ir_to_llvm_impl.c.obj -MF CMakeFiles\adept.dir\src\BKEND\ir_to_llvm_impl.c.obj.d -o CMakeFiles/adept.dir/src/BKEND/ir_to_llvm_impl.c.obj -c C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:325:20: error: call to undeclared function 'LLVMConstZExt'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  325 |             return LLVMConstZExt(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:325:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  325 |             return LLVMConstZExt(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:327:20: error: call to undeclared function 'LLVMConstSExt'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  327 |             return LLVMConstSExt(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:327:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  327 |             return LLVMConstSExt(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:329:20: error: call to undeclared function 'LLVMConstFPExt'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  329 |             return LLVMConstFPExt(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:329:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  329 |             return LLVMConstFPExt(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:333:20: error: call to undeclared function 'LLVMConstFPTrunc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  333 |             return LLVMConstFPTrunc(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:333:20: note: did you mean 'LLVMConstTrunc'?
C:/msys64/clang64/include/llvm-c/Core.h:2312:14: note: 'LLVMConstTrunc' declared here
 2312 | LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
      |              ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:333:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  333 |             return LLVMConstFPTrunc(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:339:20: error: call to undeclared function 'LLVMConstFPToUI'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  339 |             return LLVMConstFPToUI(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:339:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  339 |             return LLVMConstFPToUI(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:341:20: error: call to undeclared function 'LLVMConstFPToSI'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  341 |             return LLVMConstFPToSI(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:341:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  341 |             return LLVMConstFPToSI(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:343:20: error: call to undeclared function 'LLVMConstUIToFP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  343 |             return LLVMConstUIToFP(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:343:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  343 |             return LLVMConstUIToFP(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:345:20: error: call to undeclared function 'LLVMConstSIToFP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  345 |             return LLVMConstSIToFP(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^
C:/msys64/home/Administrator/Adept/src/BKEND/ir_to_llvm_impl.c:345:20: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'LLVMValueRef' (aka 'struct LLVMOpaqueValue *') [-Wint-conversion]
  345 |             return LLVMConstSIToFP(ir_to_llvm_value(llvm, value->extra), ir_to_llvm_type(llvm, value->type));
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 errors generated.
[28/216] Building C object CMakeFiles/adept.dir/src/BRIDGE/any.c.obj
[29/216] Building C object CMakeFiles/adept.dir/src/BRIDGEIR/rtti_table.c.obj
[30/216] Building C object CMakeFiles/adept.dir/src/BRIDGEIR/rtti_table_entry.c.obj
[31/216] Building C object CMakeFiles/adept.dir/src/BRIDGEIR/rtti.c.obj
[32/216] Building C object CMakeFiles/adept.dir/src/DRVR/compiler.c.obj
ninja: build stopped: subcommand failed.
IsaacShelton commented 5 months ago

I think they removed the const versions of those functions, but I can take a look

IsaacShelton commented 5 months ago

This should be fixed in 06eec07 but let me know if you run into any other problems :+1: