| 251 | } |
| 252 | |
| 253 | static llvm::Attribute::AttrKind LLVMMapAttribute(BfIRAttribute attr) |
| 254 | { |
| 255 | switch (attr) |
| 256 | { |
| 257 | case BfIRAttribute_NoReturn: return llvm::Attribute::NoReturn; |
| 258 | case BfIRAttribute_NoAlias: return llvm::Attribute::NoAlias; |
| 259 | case BfIRAttribute_NoCapture: return llvm::Attribute::NoCapture; |
| 260 | case BfIRAttribute_StructRet: return llvm::Attribute::StructRet; |
| 261 | case BfIRAttribute_ZExt: return llvm::Attribute::ZExt; |
| 262 | case BFIRAttribute_NoUnwind: return llvm::Attribute::NoUnwind; |
| 263 | case BFIRAttribute_UWTable: return llvm::Attribute::UWTable; |
| 264 | case BFIRAttribute_AlwaysInline: return llvm::Attribute::AlwaysInline; |
| 265 | case BFIRAttribute_NoRecurse: return llvm::Attribute::NoRecurse; |
| 266 | default: break; |
| 267 | } |
| 268 | return llvm::Attribute::None; |
| 269 | } |
| 270 | |
| 271 | #ifdef BF_PLATFORM_WINDOWS |
| 272 | struct BfTempFile |