The LLVM C API is missing type attributes as is needed by attributes such as sret and byval. This patch adds three missing wrapper functions.
|50 ms||x64 debian > Flang.Semantics::resolve102.f90|
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/flang/test/Semantics/test_errors.sh /mnt/disks/ssd0/agent/llvm-project/flang/test/Semantics/resolve102.f90 /mnt/disks/ssd0/agent/llvm-project/build/tools/flang/test/Semantics/Output/resolve102.f90.tmp /mnt/disks/ssd0/agent/llvm-project/build/bin/f18 -intrinsic-module-directory /mnt/disks/ssd0/agent/llvm-project/build/tools/flang/include/flang
I see echo.cpp utilizing LLVMCreateEnumAttribute (but nothing using LLVMCreateStringAttribute), but I am not familiar with that code.
I submitted this change as there seemed little interest in https://bugs.llvm.org/show_bug.cgi?id=48249 from anyone else and there was a suggestion on the Discord that if I submitted a patch then maybe someone could have a look at it. The code is straightforward, but I don't know LLVM well enough to set up any tests. Both my project (C3) and the Odin Language is looking to use these functions as soon as they are included.