https://github.com/GNOME/glib

sort by:
Revision Author Date Message Commit Date
99c8f7f ci: Run docs and coverity builds only on schedules in default branch Also allow running them manually if required, but this still needs to be done from a GNOME/glib:main pipeline. 25 January 2024, 16:56:36 UTC
11616b0 ci: Allow to run jobs that only run in origin repos manually 25 January 2024, 16:56:36 UTC
2a532e1 ci: Add ability to run manually some specific jobs In some merge requests there are bits (such as memory leaks) that we may want to test before merging and that the schedules will run them. As per this add a rule to make them manual, and apply it to some jobs. 25 January 2024, 16:46:59 UTC
bb37da2 Merge branch 'gir-standard-types' into 'main' girepository: Use standard types instead of glib specific See merge request GNOME/glib!3780 16 January 2024, 18:43:54 UTC
6cc655f girepository: Use single-bit sized elements for the GIIrNode structures Leave to the compiler some more hints to optimize these structures for being packed when possible. 16 January 2024, 17:56:57 UTC
e9bdbfa cmph-bdz-test: Use more size_t 16 January 2024, 17:56:57 UTC
a201cbd girepository: Various indentation cleanups Various random syntax cleanups found while refactoring 16 January 2024, 17:56:57 UTC
b68857e giroffsets: Use size types for size and alignments Note that for alignments we should actually use size_t, but this would imply some refactors since this value can be acually set to -1 in our implementation. So we use gssize for now, that at least on gcc is defined. 16 January 2024, 17:55:45 UTC
223acf4 gitypelib: Replace gi_typelib_check_format with compile-time static checks only There's no much time to have checks at runtime when the compiler can make sure that the structures size match the expected ones. 16 January 2024, 17:40:42 UTC
c8eeca9 girnode: Use size_t to compute gir node size and ensure value is valid 16 January 2024, 17:40:42 UTC
a73cc6d girepository: Use size_t to keep track of the number of interfaces 16 January 2024, 17:40:42 UTC
bd29b0b gtypelib: Use size_t for size-related arguments 16 January 2024, 17:40:42 UTC
6ef67b9 gtypelib: Use proper formatting for sizeof value That returns a size_t, so we should use the z printf directive. 16 January 2024, 17:40:42 UTC
25ae968 girepository: Use expected signed types for iterating We are using various indexes types, but not always using the correct sign or size, so let's adapt this to ensure we're consistent with the values we're comparing with. 16 January 2024, 17:40:42 UTC
91a3399 girmodule: Ensure we actually use unsigned for gi_ir_module_fatal line 16 January 2024, 17:40:42 UTC
13791b4 gistructinfo: Use proper types for offset lookup This is a private function so we can just use the expected types. Also this avoids a signed/unsigned conversion. 16 January 2024, 17:40:42 UTC
19476db girepository: Ensure indexed access on members is not overflowing Even though we expose member access as size_t, a GI info blob can typically just access to an a number of values that is never bigger than uint16_t, as that's how the typelib is defined (cfr. typelib internal header blob sizes and n_* elements). So let's avoid this to happen by adding a check. 16 January 2024, 17:40:42 UTC
acabaa1 gibaseinfo: Ensure the typelib offset is within the allowed limits Even though we expose the offset as a size_t value, we actually have a less space for it, so let's ensure this is the case at runtime. 16 January 2024, 17:40:42 UTC
157f93d girepository: Use size_t for size-related arguments and return types We used to use unsigned values, while they should be big enough to old the data we're handling here, it's cleaner and clearer if we use size_t as type for such values, as it makes straight forward to understand what a value should contain. It also makes these values more future proof. 16 January 2024, 17:40:42 UTC
de8ac33 gitypeinfo: Use gssize to return the array length index Use a bigger integer value, even though int is more than enough, but to make it clearer that we're returning a size-related value. 16 January 2024, 17:40:42 UTC
a3d29b6 giarginfo: Use gssize to return the closure and destroy indexes Use a bigger integer value, even though int is more than enough, but to make it clearer that we're returning a size-related value. 16 January 2024, 17:40:42 UTC
bc2e4b3 girrepository: Replace usage of gsize with standard size_t We just do a safe s/gsize/size_t/ replacement here without doing any changes to places in which different size of size_t and gsize may be actually different and create troubles. 16 January 2024, 17:40:42 UTC
c8aecbb girepository: Use uint8_t pointers instead of guchar 16 January 2024, 17:40:42 UTC
e3aac42 girrepository: Remove unneeded static check The check was added to ensure compatibility with previous versions but this is not something we care anymore with this API/ABI break. 16 January 2024, 17:40:42 UTC
5c96b02 girnode: Use unsigned type for unsigned values Also use proper sized casting for blob values. 16 January 2024, 17:40:42 UTC
9f33015 girrepository: Use standard int sized types instead of g[u]int* 16 January 2024, 17:40:42 UTC
e5353ef girnode: Assign negative value to signed integer 16 January 2024, 17:40:42 UTC
8891429 girepository: Use char instead of glib-specific gchar 16 January 2024, 17:40:42 UTC
eda4bfc girrepository: Use void* instead of gpointer 16 January 2024, 17:40:37 UTC
44e4555 girepository/cmph-bdz-test: Avoid using unused temporary variable 16 January 2024, 16:30:49 UTC
91fc45e girepository: Replace tabs with spaces in indentation We don't use tabs anywhere and the mixed setup just makes many editors to cry. So let's just replace the tabs with 8 spaces. 16 January 2024, 16:30:37 UTC
f70b3a9 Merge branch 'th/g-pointer-bit-lock-ext' into 'main' [th/g-pointer-bit-lock-ext] glib: add g_pointer_bit_unlock_and_set() and g_pointer_bit_lock_mask_ptr() See merge request GNOME/glib!3802 16 January 2024, 13:43:54 UTC
9fa33fe Merge branch 'ewlsh/gir-compiler-source' into 'main' girepository: Add g-ir-compiler source code Closes #55 See merge request GNOME/glib!3830 16 January 2024, 12:18:32 UTC
a9ed0e2 gbitlock: factor out bit_lock_contended_class() to avoid duplicated code 16 January 2024, 11:50:31 UTC
5e1875d gdataset: factor out common code for find/append of key The duplication is cumbersome. Factor out common pieces to finding the data by key and appending a new data. 16 January 2024, 11:50:31 UTC
f6b24a0 gdataset: use g_pointer_bit_lock_and_get() for g_datalist_lock_and_get() 16 January 2024, 11:50:31 UTC
5609370 gbitlock: add g_pointer_bit_lock_and_get() Usually, after g_pointer_bit_lock() we want to read the pointer that we have. In many cases, when we g_pointer_bit_lock() a pointer, we can access it afterwards without atomic, as nobody is going to modify the pointer then. However, gdataset also supports g_datalist_set_flags(), so the pointer may change at any time and we must always use atomics to read it. For that reason, g_datalist_lock_and_get() does an atomic read right after g_pointer_bit_lock(). g_pointer_bit_lock() can easily access the value that it just set. Add g_pointer_bit_lock_and_get() which can return the value that gets set afterwards. Aside from saving the second atomic-get in certain scenarios, the returned value is also atomically the one that we just set. 16 January 2024, 11:50:31 UTC
abe4b4e gdataset: add and use helper g_datalist_lock_and_get() In all cases after taking the lock with g_datalist_lock(), we also get the pointer. And it hardly makes sense otherwise. Replace g_datalist_lock() by g_datalist_lock_and_get() which does both steps in one. 16 January 2024, 11:26:46 UTC
eada6be gdataset: cleanup g_data_remove_internal() - only use gnewa0() for up to 400 bytes (arbitrarily chosen as something that is probably small enough to cover most small tasks while fitting easily on the stack). Otherwise fallback to g_new0(). - don't do intermediate G_DATALIST_SET_POINTER(). Set to NULL afterwards with g_datalist_unlock_and_set(). - move the g_free(d) after releasing the lock on datalist. 16 January 2024, 11:26:46 UTC
435aa01 gdataset: update pointers at end of g_datalist_id_replace_data() - when setting datalist to NULL, do it at the end with g_datalist_unlock_and_set() to avoid the additional atomic operations. - when freeing the old "d", do that after releasing the bit lock. 16 January 2024, 11:25:13 UTC
a426410 gdataset: use guintptr instead of gsize for pointer mangling The previous code was in practice correct. (((guintptr) ptr) | ((gsize) mask)) works even if gsize is smaller than guintptr. And while the C standard only guarantees that cast between uintptr_t and void* works, on reasonable compilers it works to directly cast uintptr_t to GData*. Still, no need for such uncertainty. Just be clear about the involved types (use guintptr throughout) and cast first to (gpointer). 16 January 2024, 11:16:42 UTC
3f34a49 gdataset: simplify g_dataset_destroy_internal() 16 January 2024, 11:16:42 UTC
e931162 gdataset: inline g_datalist_clear_i() in g_dataset_destroy_internal() g_datalist_clear_i() had only one caller, altough the code comment made it sound as if in the past there were more. A function that has only one caller, and then needs a code comment to explain the context in which it is called, makes the code more complicated than necessary. Especially since the function expects to be called with a global lock held, and then unlocks and relocks. Spreading such things to another function (which is only used once) makes code harder to follow. Inline the function, so that we can see all the (trivial) code at one place. 16 January 2024, 11:16:42 UTC
8439b58 gdataset: use g_datalist_unlock_and_set() in gdataset This saves an additional atomic set. Also, changing the pointer before the unlock can awake a blocked thread, but at this point, the lock is still held (and the thread may need to sleep again). This can be avoided. 16 January 2024, 11:16:42 UTC
c4c76d7 gbitlock: add g_pointer_bit_unlock_and_set() and g_pointer_bit_lock_mask_ptr() The existing g_pointer_bit_lock() and g_pointer_bit_unlock() API requires the user to understand/reimplement how bits of the pointer get mangled. Add helper functions for that. The useful thing to do with g_pointer_bit_lock() API is to get/set pointers while having it locked. For example, to set the pointer a user can do: g_pointer_bit_lock (&lockptr, lock_bit); ptr2 = set_bit_pointer_as_if_locked(ptr, lock_bit); g_atomic_pointer_set (&lockptr, ptr2); g_pointer_bit_unlock (&lockptr, lock_bit); That has several problems: - it requires one extra atomic operations (3 instead of 2, in the non-contended case). - the first g_atomic_pointer_set() already wakes blocked threads, which find themselves still being locked and needs to go back to sleep. - the user needs to re-implement how bit-locking mangles the pointer so that it looks as if it were locked. - while the user tries to re-implement what glib does to mangle the pointer for bitlocking, there is no immediate guarantee that they get it right. Now we can do instead: g_pointer_bit_lock(&lockptr, lock_bit); g_pointer_bit_unlock_and_set(&lockptr, lock_bit, ptr, 0); This will also emit a critical if @ptr has the locked bit set. g_pointer_bit_lock() really only works with pointers that have a certain alignment, and the lowest bits unset. Otherwise, there is no space to encode both the locking and all pointer values. The new assertion helps to catch such bugs. Also, g_pointer_bit_lock_mask_ptr() is here, so we can do: g_pointer_bit_lock(&lockptr, lock_bit); /* set a pointer separately, when g_pointer_bit_unlock_and_set() is unsuitable. */ g_atomic_pointer_set(&lockptr, g_pointer_bit_lock_mask_ptr(ptr, lock_bit, TRUE, 0, NULL)); ... g_pointer_bit_unlock(&lockptr, lock_bit); and: g_pointer_bit_lock(&lockptr, lock_bit); /* read the real pointer after getting the lock. */ ptr = g_pointer_bit_lock_mask_ptr(lockptr, lock_bit, FALSE, 0, NULL)); ... g_pointer_bit_unlock(&lockptr, lock_bit); 16 January 2024, 11:16:42 UTC
5716365 Merge branch 'optional-flags' into 'main' gobject: define HAVE_OPTIONAL_FLAGS for sizeof(void*) > 8 See merge request GNOME/glib!3813 16 January 2024, 09:02:22 UTC
0eecb2b Merge branch 'genums-cheri' into 'main' genums: use g_once_init_enter_pointer for GType initializers See merge request GNOME/glib!3826 16 January 2024, 09:00:55 UTC
68d5a0b Merge branch '3037-log-docs' into 'main' gmessages: Port all doc comments to gi-docgen See merge request GNOME/glib!3801 16 January 2024, 08:59:32 UTC
bd56539 g-ir-compiler: Fix leaks in write_out_typelib Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731 16 January 2024, 06:44:41 UTC
98daf20 Add a --version option to g-ir-compiler and g-ir-generate. Fixes #55 16 January 2024, 06:44:41 UTC
4966694 g-ir-{compiler,generate,inspect}: Call setlocale in main function It is required to correctly show translated messages on some locales. https://bugzilla.gnome.org/show_bug.cgi?id=760419 16 January 2024, 06:44:41 UTC
380ec88 g-ir-compiler: Allow multiple --shared-library https://bugzilla.gnome.org/show_bug.cgi?id=744535 Signed-off-by: Garrett Regier <garrett.regier@riftio.com> 16 January 2024, 06:44:41 UTC
276bbf8 g-ir-compiler: message when arguments are wrong Otherwise the error is "no input files" which is very confusing. https://bugzilla.gnome.org/show_bug.cgi?id=753160 Signed-off-by: Ben Boeckel <mathstuf@gmail.com> 16 January 2024, 06:44:41 UTC
9c428a6 g-ir-compiler: remove references to --code, remove --no-init options The "--code" option was removed years ago in d5b8d8d523c3bc26aa9fe6c364d3a17d325b55b6 so remove references to it from README and g-ir-compiler(1) Remove the "--no-init" option from g-ir-compiler and g-ir-compiler(1) as it was documented to "can only be used if --code is also specified", so no reason to keep it around. 16 January 2024, 06:44:41 UTC
3f1cd04 Drop calls to g_type_init() And bump our GLib requirement. 16 January 2024, 06:44:41 UTC
1820dca Add Emacs mode lines to C sources 16 January 2024, 06:44:41 UTC
5fa171e Fix error handling when writing out typelib Return a non-zero result when opening the output file fails and don't use g_error() for other failures when writing out the file, since such errors should not produce a core dump. 16 January 2024, 06:44:41 UTC
70a1394 girepository: Consistently prefix internal functions with _ This should better avoid them being exported. Rename girepository-parser.la to girepository-internals.la for clarity. 16 January 2024, 06:44:41 UTC
35c46e2 [GIRepository] Rename GTypelib to GITypelib Keep a typedef for backwards compatibility, until the major bindings has moved over. 16 January 2024, 06:44:41 UTC
45a0435 [gircompiler] Clean up parsing We never actually include multiple modules in the compiler, so just nuke that. Also rather than passing around GIrModule consistently pass around a GIrTypelibBuild structure which has various things. This lets us maintain a stack there which we can walk for better error messages. Also, fix up the node lookup in giroffsets.c; previously it didn't really handle includes correctly. We really need to switch to always using Foo.Bar (i.e. GIName) names internally... 16 January 2024, 06:44:41 UTC
b2df59c compiler: Remove --code argument It can't really work right now because we rely on dumping data at runtime, which requires the library. If in the future we support static scanning, we can reinvestigate embedded typelibs. 16 January 2024, 06:44:41 UTC
75cdddb [girepository] Actually verify header of loaded typelibs in g_irepository_require Take a GError * for typelib loading code, validate the header. This fixes bizarre errors from gjs where g_irepository_require would happily load old typelibs. 16 January 2024, 06:44:41 UTC
f414299 [gtypelib.ch] Rename to gitypelib.ch Rename gtypelib.h -> gitypelib-internal.h and rename gtypelib.c to gitypelib.c 16 January 2024, 06:44:41 UTC
2ed6e75 Bug 585584: Fix warnings in girparser backtrace functionality and compiler.c 16 January 2024, 06:44:41 UTC
7f4477c Bug 577534 - Use rename to write new typelibs, instead of in-place overwrite This avoids having processes with the typelibs currently open exploding immediately. 16 January 2024, 06:44:41 UTC
f3d30af Handle the return value to fwrite properly 16 January 2024, 06:44:41 UTC
4dd500c Misc warning fixes * giscanner/scannerparser.y: Fix the "Ignoring non-UTF-8 constant string" error to print the right value. * tests/scanner/annotation.c (backslash_parsing_tester) (backslash_parsing_tester_2): make these non-static to avoid a warning. (annotation_object_string_out) (annotation_string_zero_terminated): fix return values * tests/scanner/annotation.h (annotation_object_with_voidp): prototype this * tests/scanner/gtkfrob.c: * tests/scanner/gtkfrob.h (gtk_frob_language_manager_get_default): fix prototype. (s/()/(void)/). * tools/compiler.c (format_output): fix signed/unsigned warning. Output a prototype for register_typelib() to avoid warnings later. svn path=/trunk/; revision=1071 16 January 2024, 06:44:41 UTC
582a675 Add a GirParser object to hold the state of a compilation Add a toplevel GirParser object to hold state that is global across a compilation. Currently just holds the include path, but will eventually also keep a cached list of parsed modules. svn path=/trunk/; revision=901 16 January 2024, 06:44:41 UTC
4043597 Bug 556543 – reduce compiler warnings 2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi> Bug 556543 – reduce compiler warnings * girepository/ginfo.c: * girepository/girepository.c (register_internal, count_interfaces, find_interface, find_namespace_version, parse_version, g_irepository_require): * girepository/girmodule.c (g_ir_module_build_typelib): * girepository/girnode.c (init_stats, dump_stats, _g_irnode_init_stats, _g_irnode_dump_stats, g_ir_node_can_have_member): * girepository/girparser.c (firstpass_end_element_handler, locate_gir, parse_basic, parse_type_internal, resolve_aliases, start_alias, start_type, end_type_top, parse_include, cleanup, post_filter): * girepository/gtypelib.c (validate_function_blob, validate_enum_blob): * giscanner/giscannermodule.c (directive_get_options, type_get_child_list): * giscanner/scannerlexer.l (parse_gtkdoc): * giscanner/scannerparser.y (ctype_free): * giscanner/sourcescanner.c: * giscanner/sourcescanner.h (gi_source_scanner_parse_macros): * tests/types/gitesttypes.c: * tools/compiler.c (main): * tools/generate.c (write_repository): Remove unused variables and code, add missing includes, declarations and case statements. svn path=/trunk/; revision=730 16 January 2024, 06:44:41 UTC
6114478 Remove g_irepository_unregister, add GIRepositoryLoadFlags svn path=/trunk/; revision=543 16 January 2024, 06:44:41 UTC
91dcce4 Put dependencies in typelibs, resolve them when loading * gir/Makefile.am: Dep on Makefile * girepository/ginfo.c: Print out a nicer error message if we failed to load something. * girepository/girepository.c: Clean up default typelib handling; remove global default_typelib variable. Ensure we handle NULL repository in more places. Support dependency resolution. * tests/Makefile.am: Kill off gobject.gir, it conflicts with the real one. * tests/Object.gir: Depend on GObject. * tools/generate.c: Take --includedir argument to say which directories to search for typelibs. Print out dependencies. svn path=/trunk/; revision=541 16 January 2024, 06:44:41 UTC
8dd1802 Fix --includedir handling * tests/scanner/Makefile.am: Pass the right --includedir args. Add a Makefile dep. * tools/compiler.c: Pass includedirs down. * girepository/girparser.c: Actually put includedirs in context, pass down. Fix locate_gir. svn path=/trunk/; revision=514 16 January 2024, 06:44:41 UTC
85bdf52 Expand aliases when generating typelibs * gir/Makefile.am: Use --includedir * girepository/girparser.c: Recursively parse includes to pull in aliases and expand them. We need this to avoid putting unknown names in the typelibs. * tools/compiler.c: Add --includedir option. svn path=/trunk/; revision=512 16 January 2024, 06:44:41 UTC
b8f6c2b Use binary mode for output file on Windows. 2008-08-28 Tor Lillqvist <tml@novell.com> * tools/compiler.c (write_out_typelib): Use binary mode for output file on Windows. * girepository/girnode.c: Don't print NULL strings. * tests/invoke/Makefile.am * tests/scanner/Makefile.am: Use -no-undefined on Windows to convince libtool to build shared libraries. * tests/invoke/invoke.c: Don't needlessly include <dlfcn.h>. Use g_assert() instead of printing out expected errors. svn path=/trunk/; revision=509 16 January 2024, 06:44:41 UTC
6f791d8 Default to --raw. Update. 2008-08-22 Colin Walters <walters@verbum.org> * tools/generate.c, tools/compiler.c: Default to --raw. * all Makefile.am: Update. svn path=/trunk/; revision=462 16 January 2024, 06:44:41 UTC
b1039a6 Rename metadata to typelib in variable names, comments and apis. 2008-08-09 Johan Dahlin <johan@gnome.org> * *.[ch]: Rename metadata to typelib in variable names, comments and apis. svn path=/trunk/; revision=339 16 January 2024, 06:44:41 UTC
04a5cdf Merge in the gir-compiler branch. Thanks to Philip and Colin for their 2008-08-08 Johan Dahlin <johan@gnome.org> * girepository/gtypelib.c (validate_header): * girepository/gtypelib.h: * giscanner/ast.py: * giscanner/girwriter.py: * giscanner/sourcescanner.c (gi_source_symbol_ref), (gi_source_symbol_unref): * tests/array.test: * tests/boxed.test: * tests/constant.test: * tests/enum.test: * tests/errors.test: * tests/function.test: * tests/gobject.test: * tests/interface.test: * tests/invoke/Makefile.am: * tests/invoke/testfns.xml: * tests/object.test: * tests/parser/Makefile.am: * tests/roundtrips.sh: * tests/struct.test: * tests/types.test: * tests/union.test: * tests/xref1.test: * tests/xref2.test: * tools/Makefile.am: * tools/compiler.c (main): * tools/generate.c (write_callable_info), (write_function_info), (write_repository): * tools/gidlmodule.c: * tools/gidlmodule.h: * tools/gidlnode.c: * tools/gidlnode.h: * tools/gidlparser.c: * tools/gidlparser.h: * tools/gidlwriter.c: * tools/gidlwriter.h: * tools/scanner.c (create_node_from_gtype), (create_node_from_ctype), (g_igenerator_process_properties), (g_igenerator_process_signals), (g_igenerator_create_object), (g_igenerator_create_interface), (g_igenerator_create_boxed), (g_igenerator_create_enum), (g_igenerator_create_flags), (g_igenerator_process_function_symbol), (g_igenerator_process_unregistered_struct_typedef), (g_igenerator_process_struct_typedef), (g_igenerator_process_union_typedef), (g_igenerator_process_enum_typedef), (g_igenerator_process_function_typedef), (g_igenerator_process_constant), (g_igenerator_process_symbols), (g_igenerator_add_module), (g_igenerator_add_include_idl): Merge in the gir-compiler branch. Thanks to Philip and Colin for their help. svn path=/trunk/; revision=325 16 January 2024, 06:44:41 UTC
397d161 tools/gidlnode.c 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org> * girepository/girepository.c: * girepository/gtypelib.c: * girepository/ginfo.c: * girepository/ginvoke.c: * girepository/girepository.h: * girepository/gtypelib.h: * girepository/gmetadata.c: * girepository/Makefile.am: * girepository/gmetadata.h: * tools/compiler.c: * tools/gidlmodule.c: * tools/gidlnode.c * tools/generate.c: * tools/gidlmodule.h: * tools/gidlparser.c: Renamed GMetadata to GTypelib svn path=/trunk/; revision=288 16 January 2024, 06:44:41 UTC
c0b53bd Revert revisions 157,149-148,136-129 and 120. Move back to using 2008-04-22 Johan Dahlin <johan@gnome.org> * girepository/ginfo.c (g_info_from_entry), (g_type_info_new), (g_type_info_is_pointer), (g_type_info_get_tag), (g_type_info_get_param_type), (g_type_info_get_interface), (g_type_info_get_array_length), (g_type_info_is_zero_terminated), (g_type_info_get_n_error_domains), (g_type_info_get_error_domain), (g_error_domain_info_get_codes), (g_enum_info_get_value), (g_object_info_get_interface), (g_object_info_get_field), (g_interface_info_get_prerequisite), (g_signal_info_get_class_closure), (g_constant_info_get_value): * girepository/ginvoke.c (get_ffi_type): * girepository/girepository.h: * girepository/gmetadata.c (g_metadata_get_dir_entry), (g_metadata_check_sanity), (validate_header), (validate_array_type_blob), (validate_iface_type_blob), (validate_param_type_blob), (validate_error_type_blob), (validate_type_blob), (validate_constant_blob), (validate_struct_blob), (validate_enum_blob): * girepository/gmetadata.h: * tests/Makefile.am: * tests/invoke/Makefile.am: * tests/invoke/invoke.c (main): * tests/roundtrips.sh: * tools/Makefile.am: * tools/compiler.c (format_output), (write_out_metadata), (main): * tools/generate.c (write_type_name), (write_type_info), (write_constant_value), (write_enum_info), (load_metadata), (main): * tools/gidlcompilercontext.c: * tools/gidlcompilercontext.h: * tools/gidlcompilerentrynode.c: * tools/gidlcompilerentrynode.h: * tools/gidlcompilertypenode.c: * tools/gidlcompilertypenode.h: * tools/gidlmodule.c (g_idl_module_build_metadata): * tools/gidlmodule.h: * tools/gidlnode.c (init_stats), (dump_stats), (g_idl_node_get_size), (g_idl_node_get_full_size), (g_idl_node_cmp), (g_idl_node_can_have_member), (g_idl_node_add_member), (g_idl_node_param_direction_string), (parse_int_value), (parse_uint_value), (parse_float_value), (parse_boolean_value), (find_entry_node), (find_entry), (serialize_type), (g_idl_node_build_metadata), (write_string): * tools/gidlnode.h: * tools/gidlparser.c (parse_type_internal): * tools/quote-file.sh: Revert revisions 157,149-148,136-129 and 120. Move back to using g-idl-generate to generate the metadata and avoids dependency on a c compiler. svn path=/trunk/; revision=214 16 January 2024, 06:44:41 UTC
3c6a7cd Remove most global variables 2008-03-11 Johan Dahlin <johan@gnome.org> * tools/compiler.c: * tools/generate.c: Remove most global variables svn path=/trunk/; revision=153 16 January 2024, 06:44:41 UTC
1f233b5 Remove unused imports svn path=/trunk/; revision=152 16 January 2024, 06:44:41 UTC
f9f1d8e Coding style fixes 2008-03-11 Johan Dahlin <johan@gnome.org> * tools/compiler.c (main): Coding style fixes svn path=/trunk/; revision=144 16 January 2024, 06:44:41 UTC
048debb tools/quote-file.sh tools/compiler.c tools/generate.c 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk> * tools/quote-file.sh * tools/compiler.c * tools/generate.c Move to using the 'C' struct compiler code. WARNING: This commit does not compile. It is a partial change. svn path=/trunk/; revision=135 16 January 2024, 06:44:41 UTC
125fa5e Added: Added: Renamed to tools/Makefile.am: Renamed to tools/compiler.c: 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk> * Makefile.am: * configure.ac: * gidl/Makefile.am: Added: * girepository/Makefile.am: Added: * src/Makefile.am: Renamed to tools/Makefile.am: * src/compiler.c: Renamed to tools/compiler.c: * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl: * src/generate.c: Renamed to tools/generate.c: * src/gidlmodule.c: Renamed to tools/gidlmodule.c: * src/gidlmodule.h: Renamed to tools/gidlmodule.h: * src/gidlnode.c: Renamed to tools/gidlnode.c: * src/gidlnode.h: Renamed to tools/gidlnode.h: * src/gidlparser.c: Renamed to tools/gidlparser.c: * src/gidlparser.h: Renamed to tools/gidlparser.h: * src/gidlwriter.c: Renamed to tools/gidlwriter.c: * src/gidlwriter.h: Renamed to tools/gidlwriter.h: * src/ginfo.c: Renamed to girepository/ginfo.c: * src/ginvoke.c: Renamed to girepository/ginvoke.c: * src/girepository.c: Renamed to girepository/girepository.c: * src/girepository.h: Renamed to girepository/girepository.h: * src/gmetadata.c: Renamed to girepository/gmetadata.c: * src/gmetadata.h: Renamed to girepository/gmetadata.h: * src/scanner.c: Renamed to tools/scanner.c: * src/scanner.h: Renamed to tools/scanner.h: * src/scannerlexer.l: Renamed to tools/scannerlexer.l: * src/scannerparser.y: Renamed to tools/scannerparser.y: * tests/invoke/Makefile.am: Split src/ into girepository/ and tools/ * Makefile.am: * configure.ac: * girepository/Makefile.am: * tests/Makefile.am: * tests/invoke/Makefile.am: * tests/parser/Makefile.am: * tests/roundtrips.sh: * tools/Makefile.am: Make distcheck work. svn path=/trunk/; revision=104 16 January 2024, 06:44:41 UTC
cec833a reviewed by: Johan Dahlin <johan@gnome.org> 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org> reviewed by: Johan Dahlin <johan@gnome.org> * configure.ac: * gobject-introspection.pc.in: * src/Makefile.am: * src/compiler.c: (format_output), (write_out_metadata), (main): * src/gen-introspect.c: (main): * src/gen-introspect.h: * src/generate.c: (write_callable_info), (write_repository), (load_metadata), (main): * src/gidlmodule.c: (g_idl_module_new), (g_idl_module_build_metadata): * src/gidlmodule.h: * src/gidlparser.c: (start_element_handler): * src/ginfo.c: (g_info_new), (g_info_from_entry), (g_base_info_get_name), (g_base_info_get_namespace), (g_base_info_is_deprecated), (g_base_info_get_annotation), (g_base_info_get_metadata), (g_function_info_get_symbol), (g_function_info_get_flags), (g_function_info_get_property), (g_function_info_get_vfunc), (signature_offset), (g_type_info_new), (g_callable_info_may_return_null), (g_callable_info_get_caller_owns), (g_callable_info_get_n_args), (g_callable_info_get_arg), (g_arg_info_get_direction), (g_arg_info_is_return_value), (g_arg_info_is_dipper), (g_arg_info_is_optional), (g_arg_info_may_be_null), (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer), (g_type_info_get_tag), (g_type_info_get_param_type), (g_type_info_get_interface), (g_type_info_get_array_length), (g_type_info_is_zero_terminated), (g_type_info_get_n_error_domains), (g_type_info_get_error_domain), (g_error_domain_info_get_quark), (g_error_domain_info_get_codes), (g_value_info_get_value), (g_field_info_get_flags), (g_field_info_get_size), (g_field_info_get_offset), (g_registered_type_info_get_type_name), (g_registered_type_info_get_type_init), (g_struct_info_get_n_fields), (g_struct_info_get_field), (g_struct_info_get_n_methods), (g_struct_info_get_method), (find_method), (g_struct_info_find_method), (g_enum_info_get_n_values), (g_enum_info_get_value), (g_object_info_get_parent), (g_object_info_get_type_name), (g_object_info_get_type_init), (g_object_info_get_n_interfaces), (g_object_info_get_interface), (g_object_info_get_n_fields), (g_object_info_get_field), (g_object_info_get_n_properties), (g_object_info_get_property), (g_object_info_get_n_methods), (g_object_info_get_method), (g_object_info_find_method), (g_object_info_get_n_signals), (g_object_info_get_signal), (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc), (g_object_info_get_n_constants), (g_object_info_get_constant), (g_interface_info_get_n_prerequisites), (g_interface_info_get_prerequisite), (g_interface_info_get_n_properties), (g_interface_info_get_property), (g_interface_info_get_n_methods), (g_interface_info_get_method), (g_interface_info_find_method), (g_interface_info_get_n_signals), (g_interface_info_get_signal), (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc), (g_interface_info_get_n_constants), (g_interface_info_get_constant), (g_property_info_get_flags), (g_signal_info_get_flags), (g_signal_info_get_class_closure), (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags), (g_vfunc_info_get_offset), (g_vfunc_info_get_signal), (g_constant_info_get_value), (g_union_info_get_n_fields), (g_union_info_get_field), (g_union_info_get_n_methods), (g_union_info_get_method), (g_union_info_is_discriminated), (g_union_info_get_discriminator_offset), (g_union_info_get_discriminator): * src/ginvoke.c: (g_function_info_invoke): * src/girepository.c: (g_irepository_register), (g_irepository_unregister), (g_irepository_get_default), (count_interfaces), (g_irepository_get_n_infos), (find_interface), (g_irepository_get_info), (g_irepository_find_by_name), (g_irepository_get_shared_library), (g_irepository_build_search_path), (g_irepository_register_file), (g_irepository_error_quark): * src/girepository.h: * src/gmetadata.c: (g_metadata_get_dir_entry), (g_metadata_check_sanity), (validate_header), (validate_array_type_blob), (validate_iface_type_blob), (validate_param_type_blob), (validate_error_type_blob), (validate_type_blob), (validate_arg_blob), (validate_signature_blob), (validate_function_blob), (validate_callback_blob), (validate_constant_blob), (validate_value_blob), (validate_field_blob), (validate_property_blob), (validate_signal_blob), (validate_vfunc_blob), (validate_struct_blob), (validate_enum_blob), (validate_object_blob), (validate_interface_blob), (validate_errordomain_blob), (validate_union_blob), (validate_blob), (validate_directory), (validate_annotations), (g_metadata_validate), (_g_metadata_init), (g_metadata_new_from_memory), (g_metadata_new_from_const_memory), (g_metadata_new_from_mapped_file), (g_metadata_free), (g_metadata_set_module), (g_metadata_get_namespace): * src/gmetadata.h: * tests/Makefile.am: * tests/invoke/Makefile.am: * tests/invoke/invoke-namespace-find.sh: * tests/invoke/invoke.c: (main): Add a namespace/shared library mapping. fixes #313268. svn path=/trunk/; revision=66 16 January 2024, 06:44:41 UTC
35527e7 Hush compiler warnings about return values, signedness mismatches, unused * src/compiler.c, src/generate.c, src/gidlnode.c, src/gidlparser.c, src/ginfo.c, src/girepository.c, tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler warnings about return values, signedness mismatches, unused variables, and unhandles enum values in switch statements. * tests/invoke/Makefile.am: Don't install the invoke test program. Add -I ../../src to the cflags used for the test functions files. 16 January 2024, 06:44:41 UTC
f8e471a Use it here to validate the generated metadata. 2005-05-24 Matthias Clasen <mclasen@redhat.com> * src/compiler.c (main): Use it here to validate the generated metadata. * src/gmetadata.[hc]: Add code to validate a metadata blob. 16 January 2024, 06:44:41 UTC
30d7eb9 Make the generated C code compile. 2005-05-13 Matthias Clasen <mclasen@redhat.com> * src/compiler.c (format_output): Make the generated C code compile. * README: Point to a recent libffi snapshot. * tests/invoke/*: Some invoke tests. * src/Makefile: Add ginvoke.c and the necessary libffi information. * src/girepository.h (g_function_info_invoke): Add a GError argument. * src/ginvoke.c (g_function_info_invoke): Initial implementation of invoke functionality based on libffi. 16 January 2024, 06:44:41 UTC
f10d330 Some fixes 16 January 2024, 06:44:40 UTC
18f3b27 Add a --verbose cmdline option and only log messages if it is specified. 2005-05-11 Matthias Clasen <mclasen@redhat.com> * src/compiler.c (main): Add a --verbose cmdline option and only log messages if it is specified. * src/gidlnode.h: * src/gidlnode.c (init_stats, dump_stats): Collect some statistics on string and type sharing. * src/gidlmodule.c (g_idl_module_build_metadata): Use g_message() instead of fprintf(). * src/gidlnode.c (g_idl_node_free): Make this more robust. (g_idl_node_get_size): Implement for structs. (g_idl_node_get_full_size): Handle parent being NULL. (serialize_type): Handle lookup failures more gracefully. 16 January 2024, 06:44:40 UTC
4d84e48 Correct the size calculation for 2-parameter types and for objects. 2005-05-10 Matthias Clasen <mclasen@redhat.com> * src/gidlnode.c (g_idl_node_get_full_size): Correct the size calculation for 2-parameter types and for objects. * src/compiler.c: Add a cmdline option for debug output and install a log handler to implement it. * src/gidlnode.c: Add some debug spew. 16 January 2024, 06:44:40 UTC
bc21d3a Free the option context. 2005-05-09 Matthias Clasen <mclasen@redhat.com> * src/compiler.c (main): Free the option context. 16 January 2024, 06:44:40 UTC
8a67ec9 Import the GObject introspection prototype 16 January 2024, 06:44:40 UTC
5aada59 Initial revision 16 January 2024, 06:44:40 UTC
554eb40 Merge branch 'array-test-cheri' into 'main' array-test: Don't assume sizeof(void*)==sizeof(gsize) See merge request GNOME/glib!3827 16 January 2024, 02:38:05 UTC
ecd67ac Merge branch 'wip/pwithnall/freebsd-ci-on-main' into 'main' ci: Re-enable and fix FreeBSD CI See merge request GNOME/glib!3800 16 January 2024, 02:37:11 UTC
dfa0d60 genums: use g_once_init_enter_pointer for GType initializers GType is either an integer or a pointer, so we have to use the _pointer version here to support architectures such as Morello. These two lines were missed in 5ecd3cbe525debf78e38955280f3eb5804080732 and allows the gobject/enums test to pass on CheriBSD (Morello). Helps: https://gitlab.gnome.org/GNOME/glib/-/issues/2842 16 January 2024, 01:32:11 UTC
81332ab array-test: Don't assume sizeof(void*)==sizeof(gsize) Helps: https://gitlab.gnome.org/GNOME/glib/-/issues/2842 16 January 2024, 00:30:47 UTC
6e51c2e gobject: define HAVE_OPTIONAL_FLAGS for sizeof(void*) > 8 The padding space for this extra field is also available if void* is larger than 8 bytes. 16 January 2024, 00:27:06 UTC
35fe0d0 Merge branch 'girrepository-cleanups' into 'main' girepository: Misc cleanups See merge request GNOME/glib!3823 15 January 2024, 22:25:03 UTC
back to top