dereferencing void *



Hi, I'd like to use g_atomic_pointer_set and g_atomic_pointer_get but
obtaining compile error. First the struct containing void *


struct _AgsReturnableThread
{
  AgsThread thread;

  volatile guint flags;

  volatile void *safe_data;
};


(gdb) r
Starting program: /home/joel/ags-code/ags 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe630a700 (LWP 5175)]
[New Thread 0x7fffe5aa9700 (LWP 5176)]
[New Thread 0x7fffe52a8700 (LWP 5177)]
[New Thread 0x7fffe4aa7700 (LWP 5178)]
[New Thread 0x7fffdffff700 (LWP 5179)]
[New Thread 0x7fffdf7fe700 (LWP 5180)]
[New Thread 0x7fffdeffd700 (LWP 5181)]
[New Thread 0x7fffde7fc700 (LWP 5182)]
[New Thread 0x7fffddffb700 (LWP 5183)]
[New Thread 0x7fffdd7fa700 (LWP 5184)]
[New Thread 0x7fffdcff9700 (LWP 5185)]
** Message: AgsRecallFactory creating: ags-delay
** Message: AgsRecallFactory creating: ags-count-beats
** Message: ags_channel_nth:
  nth channel does not exist
  `- stopped @: i = 0; nth = 0

** Message: AgsRecallFactory creating: ags-copy-pattern
** Message: ags_channel_nth:
  nth channel does not exist
  `- stopped @: i = 0; nth = 0

** Message: debug: AGS_IS_COPY_PATTERN_AUDIO_RUN(packable)


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffddffb700 (LWP 5183)]
ags_task_thread_append_task_queue (thread=0x97a010)
at ./src/ags/thread/ags_task_thread.c:264
264       task_thread = append->task_thread;




(gdb) make ags
gcc -DHAVE_CONFIG_H -I.  -I./src/  -I/usr/include/uuid
-I/usr/include/alsa    -I/usr/include/libxml2
-I/usr/include/libinstpatch-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include   -pthread
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpng12
-I/usr/include/cairo -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm
-pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/
-I/usr/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/harfbuzz
-g -O2 -MT ags-ags_returnable_thread.o -MD -MP
-MF .deps/ags-ags_returnable_thread.Tpo -c -o
ags-ags_returnable_thread.o `test -f
'./src/ags/thread/ags_returnable_thread.c' || echo
'./'`./src/ags/thread/ags_returnable_thread.c
In file included
from /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h:9:0,
                 from /usr/include/glib-2.0/glib/gtypes.h:34,
                 from /usr/include/glib-2.0/glib/galloca.h:34,
                 from /usr/include/glib-2.0/glib.h:32,
                 from ./src/ags/thread/ags_returnable_thread.h:22,
                 from ./src/ags/thread/ags_returnable_thread.c:19:
./src/ags/thread/ags_returnable_thread.c: In function
'ags_returnable_thread_init':
/usr/include/glib-2.0/glib/gmacros.h:181:53: error: size of array
'_GStaticAssertCompileTimeAssertion_1' is negative
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE
(_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]
G_GNUC_UNUSED
                                                     ^
/usr/include/glib-2.0/glib/gmacros.h:178:47: note: in definition of
macro 'G_PASTE_ARGS'
 #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ##
identifier2
                                               ^
/usr/include/glib-2.0/glib/gmacros.h:181:44: note: in expansion of macro
'G_PASTE'
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE
(_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]
G_GNUC_UNUSED
                                            ^
/usr/include/glib-2.0/glib/gatomic.h:154:5: note: in expansion of macro
'G_STATIC_ASSERT'
     G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer));
\
     ^
./src/ags/thread/ags_returnable_thread.c:108:3: note: in expansion of
macro 'g_atomic_pointer_set'
   g_atomic_pointer_set((returnable_thread->safe_data),
   ^
./src/ags/thread/ags_returnable_thread.c:108:3: error: invalid use of
void expression
In file included from /usr/include/glib-2.0/glib/gthread.h:34:0,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /usr/include/glib-2.0/glib.h:34,
                 from ./src/ags/thread/ags_returnable_thread.h:22,
                 from ./src/ags/thread/ags_returnable_thread.c:19:
/usr/include/glib-2.0/glib/gatomic.h:156:5: warning: dereferencing 'void
*' pointer [enabled by default]
     *(atomic) = (__typeof__ (*(atomic))) (gsize) (newval);
\
     ^
./src/ags/thread/ags_returnable_thread.c:108:3: note: in expansion of
macro 'g_atomic_pointer_set'
   g_atomic_pointer_set((returnable_thread->safe_data),
   ^
./src/ags/thread/ags_returnable_thread.c:108:3: error: invalid use of
void expression
make: *** [ags-ags_returnable_thread.o] Error 1





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]