Fix warnings and issues
This commit is contained in:
		
							parent
							
								
									023d3b75b6
								
							
						
					
					
						commit
						ea8a833bdf
					
				| @ -1,9 +1,9 @@ | ||||
| // Arithmetic, function calls and imports! | ||||
| 
 | ||||
| pub fn OneHalf(var1: f32) -> f32 { | ||||
|   return var1 * 1.5; | ||||
| pub fn test() -> u8 { | ||||
|   return 5; | ||||
| } | ||||
| 
 | ||||
| pub fn main() -> bool { | ||||
|   return 7.5 > 5.001; | ||||
|   return 7.5 > (test() as f16); | ||||
| } | ||||
|  | ||||
| @ -61,5 +61,5 @@ fn main() { | ||||
| 
 | ||||
|     dbg!(&context); | ||||
| 
 | ||||
|     context.compile(); | ||||
|     context.compile(None, Vec::new()); | ||||
| } | ||||
|  | ||||
| @ -8,7 +8,7 @@ use std::{ | ||||
| }; | ||||
| 
 | ||||
| use llvm_sys::{ | ||||
|     LLVMAttributeIndex, LLVMIntPredicate, LLVMLinkage, LLVMRealPredicate, LLVMValueKind, | ||||
|     LLVMIntPredicate, LLVMLinkage, LLVMRealPredicate, LLVMValueKind, | ||||
|     analysis::LLVMVerifyModule, | ||||
|     core::*, | ||||
|     debuginfo::*, | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| use std::{cell::RefCell, collections::hash_map::Values, rc::Rc}; | ||||
| use std::{cell::RefCell, rc::Rc}; | ||||
| 
 | ||||
| use crate::builder::InstructionValue; | ||||
| 
 | ||||
|  | ||||
| @ -6,8 +6,8 @@ use reid_lib::{ | ||||
| }; | ||||
| 
 | ||||
| use crate::mir::{ | ||||
|     self, CustomTypeKey, FunctionCall, FunctionDefinition, FunctionDefinitionKind, IfExpression, | ||||
|     SourceModuleId, TypeDefinition, TypeKind, WhileStatement, | ||||
|     self, CustomTypeKey, FunctionCall, FunctionDefinitionKind, IfExpression, SourceModuleId, | ||||
|     TypeKind, WhileStatement, | ||||
| }; | ||||
| 
 | ||||
| #[derive(Debug)] | ||||
|  | ||||
| @ -8,8 +8,6 @@ use crate::{ | ||||
|     }, | ||||
| }; | ||||
| 
 | ||||
| use super::TypeKind; | ||||
| 
 | ||||
| impl mir::Context { | ||||
|     pub fn from(modules: Vec<mir::Module>, base: PathBuf) -> mir::Context { | ||||
|         let mut map = ModuleMap::new(); | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| use std::{cell::RefCell, collections::HashMap, hash::Hash, mem, rc::Rc}; | ||||
| use std::{cell::RefCell, collections::HashMap, mem, rc::Rc}; | ||||
| 
 | ||||
| use reid_lib::{ | ||||
|     builder::{InstructionValue, TypeValue}, | ||||
|  | ||||
| @ -2,42 +2,9 @@ use reid_lib::{builder::InstructionValue, Instr}; | ||||
| 
 | ||||
| use crate::{ | ||||
|     codegen::{ErrorKind, Scope, StackValue, StackValueKind}, | ||||
|     mir::{BinaryOperator, BinopDefinition, FunctionDefinition, FunctionDefinitionKind, TypeKind}, | ||||
|     mir::{BinopDefinition, FunctionDefinition, TypeKind}, | ||||
| }; | ||||
| 
 | ||||
| fn intrinsic( | ||||
|     name: &str, | ||||
|     ret_ty: TypeKind, | ||||
|     params: Vec<(&str, TypeKind)>, | ||||
|     fun: impl IntrinsicFunction + 'static, | ||||
| ) -> FunctionDefinition { | ||||
|     FunctionDefinition { | ||||
|         name: name.into(), | ||||
|         is_pub: false, | ||||
|         is_imported: false, | ||||
|         return_type: ret_ty, | ||||
|         parameters: params.into_iter().map(|(n, ty)| (n.into(), ty)).collect(), | ||||
|         kind: FunctionDefinitionKind::Intrinsic(Box::new(fun)), | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| fn intrinsic_binop( | ||||
|     op: BinaryOperator, | ||||
|     lhs: TypeKind, | ||||
|     rhs: TypeKind, | ||||
|     ret_ty: TypeKind, | ||||
|     fun: impl IntrinsicFunction + 'static, | ||||
| ) -> BinopDefinition { | ||||
|     BinopDefinition { | ||||
|         lhs: ("lhs".to_string(), lhs), | ||||
|         op, | ||||
|         rhs: ("rhs".to_owned(), rhs), | ||||
|         return_type: ret_ty, | ||||
|         fn_kind: FunctionDefinitionKind::Intrinsic(Box::new(fun)), | ||||
|         meta: Default::default(), | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| pub fn form_intrinsics() -> Vec<FunctionDefinition> { | ||||
|     let intrinsics = Vec::new(); | ||||
| 
 | ||||
|  | ||||
| @ -1,8 +1,4 @@ | ||||
| use std::{ | ||||
|     fmt::Debug, | ||||
|     ops::{Add, AddAssign}, | ||||
|     str::Chars, | ||||
| }; | ||||
| use std::{fmt::Debug, ops::AddAssign, str::Chars}; | ||||
| 
 | ||||
| static BINARY_NUMERICS: &[char] = &['0', '1']; | ||||
| static OCTAL_NUMERICS: &[char] = &['0', '1', '2', '3', '4', '5', '6', '7']; | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| //! This module contains relevant code for [`Pass`] and shared code between
 | ||||
| //! passes. Passes can be performed on Reid MIR to e.g. typecheck the code.
 | ||||
| 
 | ||||
| use std::collections::{HashMap, HashSet}; | ||||
| use std::collections::HashMap; | ||||
| use std::convert::Infallible; | ||||
| use std::error::Error as STDError; | ||||
| 
 | ||||
|  | ||||
| @ -13,7 +13,7 @@ use std::{ | ||||
| use crate::{mir::TypeKind, util::try_all}; | ||||
| 
 | ||||
| use super::{ | ||||
|     pass::{self, Pass, PassResult, PassState, ScopeBinopDef, ScopeBinopKey}, | ||||
|     pass::{Pass, PassResult, PassState, ScopeBinopKey}, | ||||
|     typecheck::{ErrorKind, ErrorTypedefKind}, | ||||
|     typerefs::{ScopeTypeRefs, TypeRef, TypeRefs}, | ||||
|     BinopDefinition, Block, CustomTypeKey, ExprKind, Expression, FunctionDefinition, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user