Merge remote-tracking branch 'origin/integrate-library' into integrate-library
This commit is contained in:
commit
984c34cfc7
|
@ -76,6 +76,11 @@ void delete_files(ModuleFileStack *stack) {
|
||||||
|
|
||||||
// behaves like fgets except that it has defined behavior when n == 1
|
// behaves like fgets except that it has defined behavior when n == 1
|
||||||
static void custom_fgets(char *buffer, size_t n, FILE *stream) {
|
static void custom_fgets(char *buffer, size_t n, FILE *stream) {
|
||||||
|
if (feof(stream)) {
|
||||||
|
buffer[0] = '\n';
|
||||||
|
buffer[1] = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (n == 1) {
|
if (n == 1) {
|
||||||
buffer[0] = (char) fgetc(stream);
|
buffer[0] = (char) fgetc(stream);
|
||||||
buffer[1] = 0;
|
buffer[1] = 0;
|
||||||
|
|
|
@ -372,10 +372,13 @@ BackendError impl_variable_load(LLVMBackendCompileUnit *unit, LLVMLocalScope *sc
|
||||||
} else {
|
} else {
|
||||||
type = variable->impl.declaration.type;
|
type = variable->impl.declaration.type;
|
||||||
}
|
}
|
||||||
|
|
||||||
get_type_impl(unit, scope->func_scope->global_scope, type, &llvm_type);
|
get_type_impl(unit, scope->func_scope->global_scope, type, &llvm_type);
|
||||||
|
|
||||||
*llvm_result = LLVMBuildLoad2(builder, llvm_type, llvm_variable, "");
|
if (LLVMGetTypeKind(LLVMTypeOf(llvm_variable)) == LLVMPointerTypeKind) {
|
||||||
|
*llvm_result = LLVMBuildLoad2(builder, llvm_type, llvm_variable, "");
|
||||||
|
} else {
|
||||||
|
*llvm_result = llvm_variable;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue