glib/gobject
Ryan Lortie 8382135265 glib: Rewrite gatomic.[ch]
- remove all inline assembly versions

 - implement the atomic operations using either GCC intrinsics, the
   Windows interlocked API or a mutex-based fallback

 - drop gatomic-gcc.c since these are now defined in the header file.
   Adjust Makefile.am accordingly.

 - expand the set of operations: support 'get', 'set', 'compare and
   exchange', 'add', 'or', and 'xor' for both integers and pointers

 - deprecate g_atomic_int_exchange_and_add since g_atomic_int_add (as
   with all the new arithmetic operations) now returns the prior value

 - unify the use of macros: all functions are now wrapped in macros that
   perform the proper casts and checks

 - remove G_GNUC_MAY_ALIAS use; it was never required for the integer
   operations (since casting between pointers that only vary in
   signedness of the target is explicitly permitted) and we avoid the
   need for the pointer operations by using simple 'void *' instead of
   'gpointer *' (which caused the 'type-punned pointer' warning)

 - provide function implementations of g_atomic_int_inc and
   g_atomic_int_dec_and_test: these were strictly macros before

 - improve the documentation to make it very clear exactly which types
   of pointers these operations may be used with

 - remove a few uses of the now-deprecated g_atomic_int_exchange_and_add

 - drop initialisation of gatomic from gthread (by using a GStaticMutex
   instead of a GMutex)

 - update glib.symbols and documentation sections files

Closes #650823 and #650935
2011-05-28 16:10:44 -04:00
..
tests Fix compiler warnings 2011-05-02 11:50:23 -04:00
.gitignore Update .gitignores 2011-05-02 09:54:15 -04:00
abicheck.sh Simply symbols files 2011-05-23 00:21:06 -04:00
ChangeLog Update README files to refer to git 2009-03-31 19:39:16 -04:00
gatomicarray.c Don't do pointer arithmetics on void* 2010-01-07 10:14:24 +02:00
gatomicarray.h Add GAtomicArray for RCU-style lockless updates 2009-11-30 20:48:50 +01:00
gbinding.c Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gbinding.h Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gboxed.c Add GI annotations to GValue and GValueArray. 2010-12-19 10:39:36 +01:00
gboxed.h GObject: move GLib type definitions to a separate header 2011-05-19 17:39:33 -04:00
gclosure.c Fix compiler warnings 2011-05-02 11:50:23 -04:00
gclosure.h Add a generic libffi based marshaller to libgobject 2011-04-08 17:34:44 -04:00
genums.c gobject/: fully remove gobjectalias hacks 2010-07-07 19:40:48 -04:00
genums.h Fix "it's" vs "its" confusion throughout the source. Patch by Will 2009-02-23 04:30:06 +00:00
glib-genmarshal.c gobject: Cast token type to guint to avoid gcc warning 2010-12-02 20:11:28 +01:00
glib-mkenums.in Fix a typo 2011-02-07 23:46:02 -05:00
glib-types.h GObject: move GLib type definitions to a separate header 2011-05-19 17:39:33 -04:00
gmarshal.list binding: Add a default marshaller for the closure API 2010-08-04 01:09:28 +01:00
gobject_probes.d Add dtrace and systemtap support for gobject 2010-05-27 14:51:41 -04:00
gobject_trace.h Add dtrace and systemtap support for gobject 2010-05-27 14:51:41 -04:00
gobject-query.c Use the right binary name in help output. Patch by Hiroyuki Ikezoe. 2008-07-06 02:01:56 +00:00
gobject.c glib: Rewrite gatomic.[ch] 2011-05-28 16:10:44 -04:00
gobject.h New function: g_clear_object() 2010-11-08 18:21:51 -05:00
gobject.py Initial support for gdb python macros 2009-09-21 15:39:00 +02:00
gobject.rc.in Update copyright years 2010-02-04 00:12:50 +02:00
gobject.stp.in Add dtrace and systemtap support for gobject 2010-05-27 14:51:41 -04:00
gobject.symbols Simply symbols files 2011-05-23 00:21:06 -04:00
gobjectnotifyqueue.c notifyqueue: Dedup pspecs when adding 2010-08-06 23:35:24 +02:00
gparam.c Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gparam.h Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gparamspecs.c Add GI annotations to GParamSpec 2010-12-27 22:08:07 +01:00
gparamspecs.h More docs fixes 2010-07-12 17:46:17 -04:00
gsignal.c Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gsignal.h Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gsourceclosure.c Add g_source_set_dummy_callback() 2010-11-26 15:07:28 -05:00
gsourceclosure.h GObject: move GLib type definitions to a separate header 2011-05-19 17:39:33 -04:00
gtype-private.h Move the boxed private type data to TypeNode 2010-01-25 15:30:38 +01:00
gtype.c gtype: Remove unused variable 2011-05-18 11:57:21 -04:00
gtype.h Docs: Changed can not to cannot. 2011-03-24 09:33:55 +01:00
gtypemodule.c Docs: Changed can not to cannot. 2011-03-24 09:33:55 +01:00
gtypemodule.h Prevent unused variable warnings from G_DEFINE_DYNAMIC_TYPE 2011-01-28 12:26:23 -05:00
gtypeplugin.c gobject/: fully remove gobjectalias hacks 2010-07-07 19:40:48 -04:00
gtypeplugin.h Migrating docs. 2008-06-21 18:20:43 +00:00
gvalue.c Add GI annotations to GValue and GValueArray. 2010-12-19 10:39:36 +01:00
gvalue.h Docs: Changed can not to cannot. 2011-03-24 09:33:55 +01:00
gvaluearray.c g_value_array_remove(): clarify docstring formatting 2011-03-03 14:51:41 +00:00
gvaluearray.h Migrating docs. 2008-06-22 09:45:13 +00:00
gvaluecollector.h More docs fixes 2010-07-12 17:46:17 -04:00
gvaluetransform.c gobject/: fully remove gobjectalias hacks 2010-07-07 19:40:48 -04:00
gvaluetypes.c Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
gvaluetypes.h Revert "Remove all uses of G_CONST_RETURN" 2011-03-15 09:03:28 +00:00
libgobject-gdb.py.in Avoid shadowing the dir builtin 2010-12-03 14:08:36 -05:00
Makefile.am Quiet down the build a bit 2011-05-28 14:29:08 -04:00
makefile.msc.in gobject/: fully remove gobjectalias hacks 2010-07-07 19:40:48 -04:00
marshal-genstrings.pl Hacky script to fix up your .msc.in files on windows. Dunno if this is a 2001-08-04 15:49:55 +00:00
testgobject.c Fix compiler warnings 2011-05-02 11:50:23 -04:00