After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 163031 - Private API is exported.
Private API is exported.
Status: RESOLVED FIXED
Product: glibmm
Classification: Bindings
Component: general
unspecified
Other Linux
: Low enhancement
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2005-01-05 17:20 UTC by Benoît Dejean
Modified: 2005-01-06 17:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
example (6.68 KB, patch)
2005-01-05 17:21 UTC, Benoît Dejean
none Details | Review
patch + ChangeLog entry (7.37 KB, patch)
2005-01-06 12:33 UTC, Benoît Dejean
none Details | Review

Description Benoît Dejean 2005-01-05 17:20:41 UTC
see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18267 for explanation.

I don't know if it worths the pain, but marking static some functions/variables
could save some bytes and remove some external symbols. Maybe i'm paranoïd. OK,
i am.

I used

nm -C ./glib/glibmm/.libs/libglibmm-2.4.so | grep -E "^[[:xdigit:]]{8}
[[:upper:]] \(anonymous namespace\)::[^:]+$"

and discovered

0002e200 T (anonymous namespace)::glibmm_source_callback(void*)
0002e284 T (anonymous namespace)::glibmm_iosource_callback(_GIOChannel*,
GIOCondition, void*)
0002e1c8 T (anonymous namespace)::glibmm_dummy_source_callback(void*)
0002e144 T (anonymous namespace)::glibmm_source_get_callback_data(_GSource*)
0005ab70 S (anonymous namespace)::wrap_func_table
0003c4d0 T (anonymous namespace)::create_new_wrapper(_GObject*)
0005ab54 S (anonymous namespace)::throw_func_table
000281ec T (anonymous namespace)::child_setup_callback(void*)
0002904c T (anonymous namespace)::call_thread_entry_slot(void*)
000374d8 T (anonymous namespace)::utf8_byte_offset(char const*, unsigned int)
00037558 T (anonymous namespace)::utf8_byte_offset(char const*, unsigned int,
unsigned int)
0002b0a8 T (anonymous namespace)::warn_failed_pipe_io(char const*, int)
0002b110 T (anonymous namespace)::fd_set_close_on_exec(int)
0002b194 T (anonymous namespace)::fd_close_and_invalidate(int&)
0002d664 T (anonymous namespace)::glibmm_exception_warning(_GError const*)
0002d6fc T (anonymous namespace)::glibmm_unexpected_exception()
0005ab58 S (anonymous namespace)::thread_specific_handler_list
00036648 T (anonymous namespace)::call_thread_entry_slot(void*, void*)

Maybe this kind of tuning would more suit gtkmm (discovered 181 there).
Comment 1 Benoît Dejean 2005-01-05 17:21:22 UTC
Created attachment 35487 [details] [review]
example
Comment 2 Murray Cumming 2005-01-06 09:46:43 UTC
Sure. A complete patch with a ChangeLog entry would be welcome.
Comment 3 Benoît Dejean 2005-01-06 11:10:22 UTC
Well, i think it's complete for glibmm. 
I'll do a gtkmm patch ASAP.

If there's any GNOME C++ coding style, it should be updated too.
Comment 4 Benoît Dejean 2005-01-06 12:33:53 UTC
Created attachment 35547 [details] [review]
patch +  ChangeLog entry
Comment 5 Murray Cumming 2005-01-06 17:43:17 UTC
Committed. Well done and thanks.