File tree Expand file tree Collapse file tree 3 files changed +10
-7
lines changed
Expand file tree Collapse file tree 3 files changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -500,7 +500,7 @@ func (m Module) Dump() {
500500
501501func (m Module ) String () string {
502502 cir := C .LLVMPrintModuleToString (m .C )
503- defer C .free ( unsafe . Pointer ( cir ) )
503+ defer C .LLVMDisposeMessage ( cir )
504504 ir := C .GoString (cir )
505505 return ir
506506}
Original file line number Diff line number Diff line change 1313package llvm
1414
1515/*
16+ #include "llvm-c/Core.h"
1617#include "llvm-c/IRReader.h"
1718#include <stdlib.h>
1819*/
1920import "C"
2021
2122import (
2223 "errors"
23- "unsafe"
2424)
2525
2626// ParseIR parses the textual IR given in the memory buffer and returns a new
@@ -30,7 +30,7 @@ func (c *Context) ParseIR(buf MemoryBuffer) (Module, error) {
3030 var errmsg * C.char
3131 if C .LLVMParseIRInContext (c .C , buf .C , & m .C , & errmsg ) != 0 {
3232 err := errors .New (C .GoString (errmsg ))
33- C .free ( unsafe . Pointer ( errmsg ) )
33+ C .LLVMDisposeMessage ( errmsg )
3434 return Module {}, err
3535 }
3636 return m , nil
Original file line number Diff line number Diff line change @@ -19,8 +19,10 @@ package llvm
1919#include <stdlib.h>
2020*/
2121import "C"
22- import "unsafe"
23- import "errors"
22+ import (
23+ "errors"
24+ "unsafe"
25+ )
2426
2527type (
2628 TargetData struct {
@@ -220,7 +222,7 @@ func GetTargetFromTriple(triple string) (t Target, err error) {
220222 fail := C .LLVMGetTargetFromTriple (ctriple , & t .C , & errstr )
221223 if fail != 0 {
222224 err = errors .New (C .GoString (errstr ))
223- C .free ( unsafe . Pointer ( errstr ) )
225+ C .LLVMDisposeMessage ( errstr )
224226 }
225227 return
226228}
@@ -264,6 +266,7 @@ func (tm TargetMachine) CreateTargetData() TargetData {
264266// Triple returns the triple describing the machine (arch-vendor-os).
265267func (tm TargetMachine ) Triple () string {
266268 cstr := C .LLVMGetTargetMachineTriple (tm .C )
269+ defer C .LLVMDisposeMessage (cstr )
267270 return C .GoString (cstr )
268271}
269272
@@ -290,7 +293,7 @@ func (tm TargetMachine) Dispose() {
290293
291294func DefaultTargetTriple () (triple string ) {
292295 cTriple := C .LLVMGetDefaultTargetTriple ()
293- defer C .free ( unsafe . Pointer ( cTriple ) )
296+ defer C .LLVMDisposeMessage ( cTriple )
294297 triple = C .GoString (cTriple )
295298 return
296299}
You can’t perform that action at this time.
0 commit comments