vlang / c2v

C/C++ to V translator
GNU General Public License v3.0
220 stars 31 forks source link

Error: `c++ top level` when Translating C Files & Memory Leak Warning #51

Open ThisNekoGuy opened 2 years ago

ThisNekoGuy commented 2 years ago

Was trying to run v translate (which compiled c2v automatically) on raudio.c from: https://github.com/raysan5/raylib/blob/master/src/raudio.c and it failed like this:

neko-san@ARCH /m/e/D/raylib (master)> v translate *
C to V translator 0.3.1
"src" is a directory, processing all C files in it recursively...

  translating ./raudio.c      ... GC Warning: Repeated allocation of very large block (appr. size 576020480):
        May lead to memory leak and poor performance
C++ top level
C2V failed to translate the C files. Please report it via GitHub.
neko-san@ARCH /m/e/D/raylib (master) [4]> cd src
neko-san@ARCH /m/e/D/r/src (master)> v translate raudio.c 
C to V translator 0.3.1
  translating raudio.c        ... GC Warning: Repeated allocation of very large block (appr. size 574701568):
        May lead to memory leak and poor performance
C++ top level
C2V failed to translate the C files. Please report it via GitHub.
neko-san@ARCH /m/e/D/r/src (master) [4]> cd ../../
neko-san@ARCH /m/e/Development> git clone --recurse --recurse-submodules https://github.com/vlang/c2v
Cloning into 'c2v'...
remote: Enumerating objects: 233, done.
remote: Counting objects: 100% (108/108), done.
remote: Compressing objects: 100% (67/67), done.
remote: Total 233 (delta 46), reused 67 (delta 23), pack-reused 125
Receiving objects: 100% (233/233), 151.90 KiB | 1.58 MiB/s, done.
Resolving deltas: 100% (87/87), done.
neko-san@ARCH /m/e/Development>  cd /mnt/extraStorage/Development/c2v
neko-san@ARCH /m/e/D/c2v (master)> v -gc none .
neko-san@ARCH /m/e/D/c2v (master)>  cd /mnt/extraStorage/Development
neko-san@ARCH /m/e/Development>  cd /mnt/extraStorage/Development/raylib-vlang
neko-san@ARCH /m/e/D/raylib-vlang (master)>  cd /mnt/extraStorage/Development/raylib-vlang/src
neko-san@ARCH /m/e/D/r/src (master)> mv ../../c2v/c2v .
neko-san@ARCH /m/e/D/r/src (master)> ./c2v raudio.c 
C to V translator 0.3.1
  translating raudio.c        ... C++ top level
neko-san@ARCH /m/e/D/r/src (master) [1]>

(I just moved the aforementioned glfw folder somewhere else temporarily, so this shouldn't be related? I mention that because leaving the "glfw" folder in the project throws other errors)

@ medvednikov said this about it on Discord: "it sounds like a bug, it shouldn't allocate this much memory"

nachoverdon commented 2 years ago

Got a similar error, but without the memory leak part.

C:\Users\bazoo\Downloads>v translate enet.h
C to V translator 0.3.1
   translating enet.h          ... C++ top level
C2V command: "C:\Users\bazoo\.vmodules\c2v\c2v.exe" "enet.h"
C2V failed to translate the C files. Please report it via GitHub.

File I was trying to translate: https://github.com/zpl-c/enet/blob/master/include/enet.h

BreathXV commented 3 months ago

Similar error here too:

C to V translator 0.4.0
"D:\repos\VTApp\win" is a directory, processing all C files in it recursively...

  translating .\toast.c       ... C++ top level