Hi,

Here is what I spotted:

fun Mix_FadeInMusic {l:addr} ( music: Mix_Music, loops: int, ms: int ) :
int = "mac#Mix_FadeInMusic"

should probably be declared as follows:

fun Mix_FadeInMusic ( music: &Mix_Music, loops: int, ms: int ) : int =
"mac#Mix_FadeInMusic"

because Mix_Music is a struct in C.

On Tue, Apr 28, 2020 at 6:59 AM d4v3y_5c0n3s <tmj9...@gmail.com> wrote:

>      Ever since my previous question, I've been running into two issues
> with my SDL_mixer bindings.  The first, is that I get a warning message
> whenever I use the function Mix_GetError() (the definition for this
> function may be found here:
> https://github.com/d4v3y5c0n3s/Goldelish-Engine/blob/master/source/SDL2/SDL_mixer.sats).
> The warning is as follows:
>
> g_audio_dats.c: In function 'audio_sound_play':
> /home/d4v3y/ATS2-Postiats-0.4.0/ccomp/runtime/pats_ccomp_instrset.h:276:35: 
> warning:
> assignment discards 'const' qualifier fr
> om pointer target type [-Wdiscarded-qualifiers]
> #define ATSINSmove(tmp, val) (tmp = val)
>
> While this is only a warning, I would still like to know what is going
> wrong here.  I looked at ATS-contrib's SDL binding, and found that the
> SDL_GetError() function there had the exact same problem.  (The file for
> this function definition may be found here:
> https://github.com/githwxi/ATS-Postiats-contrib/blob/master/contrib/SDL2/SATS/SDL_error.sats
> )
>
>      The second issue that I'm running into has to do with my
> Mix_FadeInMusic() function (which is defined here:
> https://github.com/d4v3y5c0n3s/Goldelish-Engine/blob/master/source/SDL2/SDL_mixer.sats).
> When I use this function, I get the following error message:
>
> g_audio_dats.c: In function 'audio_music_play':
> g_audio_dats.c:931:11: error: storage size of 'tmpref41' isn't known
> ATStmpdec(tmpref41, Mix_Music) ;
>           ^~~~~~~~
> /home/d4v3y/ATS2-Postiats-0.4.0/ccomp/runtime/pats_ccomp_instrset.h:209:33: 
> note:
> in definition of macro 'ATStmpdec'
> #define ATStmpdec(tmp, hit) hit tmp
>                                 ^~~
> /home/d4v3y/ATS2-Postiats-0.4.0/ccomp/runtime/pats_ccomp_instrset.h:217:29: 
> error:
> dereferencing pointer to incomplete type '
> Mix_Music' {aka 'struct _Mix_Music'}
> #define ATSderef(pmv, hit) (*(hit*)pmv)
>
>
>      The file *where I've been receiving these errors* is available here:
> https://github.com/d4v3y5c0n3s/Goldelish-Engine/blob/master/source/g_audio.dats.
> My full source code is available on Github here:
> https://github.com/d4v3y5c0n3s/Goldelish-Engine.
>
>      Any help is appreciated, and if you'd like me to provide any more
> information, please ask for it.  Also, if anyone knows of a great resource
> for understanding how the internals of ATS work, please let me know.  I
> have a feeling that if I better understood how ATS worked, I would also
> better understand what to do when I encounter error messages such as these.
>
> --
> You received this message because you are subscribed to the Google Groups
> "ats-lang-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ats-lang-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ats-lang-users/e3db4fac-0969-406f-aaa5-02b3b2145a84%40googlegroups.com
> <https://groups.google.com/d/msgid/ats-lang-users/e3db4fac-0969-406f-aaa5-02b3b2145a84%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ats-lang-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/CAPPSPLp4qhjua5JZRbF0%2BBHbEJYrvgk4Smx17GidoZBrD8qZCw%40mail.gmail.com.

Reply via email to