Open
Description
Hi can I check if this is intended?
Lexical scoping is a big part of Ecmascript / JS / TS
For example,
{
const x = 1;
function a() : number {
return x + 1;
}
console_log(a());
}
compiles to invalid llvm ir
; ModuleID = 'test'
source_filename = "test"
define i64 @main() {
entry:
%x = alloca double
store double 1.000000e+00, double* %x
%0 = call double @a()
call void @_Z11console_logd(double %0)
ret i64 0
}
define double @a() {
Entry:
%0 = load double, double* %x
%1 = fadd double %0, 1.000000e+00
ret double %1
}
declare void @_Z11console_logd(double)
Metadata
Metadata
Assignees
Labels
No labels