Prevent main function form returning value
							parent
							
								
									40ad868f22
								
							
						
					
					
						commit
						4020a3ab8c
					
				|  | @ -3087,12 +3087,6 @@ fn (p mut Parser) return_st() { | |||
| 	p.cgen.insert_before(p.cur_fn.defer) | ||||
| 	p.check(.key_return) | ||||
| 
 | ||||
| 	if p.cur_fn.name == 'main' { | ||||
| 		p.gen('return 0') | ||||
| 		p.returns = true | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	fn_returns := p.cur_fn.typ != 'void' | ||||
| 	if fn_returns { | ||||
| 		if p.tok == .rcbr { | ||||
|  | @ -3118,11 +3112,16 @@ fn (p mut Parser) return_st() { | |||
| 	} | ||||
| 	else { | ||||
| 		// Don't allow `return val` in functions that don't return anything
 | ||||
| 		// if p.tok != .rcbr && p.tok != .hash {
 | ||||
| 		if false && p.tok == .name || p.tok == .integer { | ||||
| 			p.error('function `$p.cur_fn.name` does not return a value') | ||||
| 		} | ||||
| 		p.gen('return') | ||||
| 
 | ||||
| 		if p.cur_fn.name == 'main' { | ||||
| 			p.gen('return 0') | ||||
| 		} | ||||
| 		else { | ||||
| 			p.gen('return') | ||||
| 		} | ||||
| 	} | ||||
| 	p.returns = true | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue