Gtkmm-forge digest, Vol 1 #883 - 1 msg



Send Gtkmm-forge mailing list submissions to
	gtkmm-forge lists sourceforge net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/gtkmm-forge
or, via email, send a message with subject or body 'help' to
	gtkmm-forge-request lists sourceforge net

You can reach the person managing the list at
	gtkmm-forge-admin lists sourceforge net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Gtkmm-forge digest..."


gtkmm-forge is the mailing list that receives gtkmm bug reports from bugzilla.  A daily digest is sent to gtkmm-main, to encourage people to help fixing the bugs. Do not try to unsubscribe gtkmm-forge from gtkmm-list.


Today's Topics:

   1. [Bug 168268] 0 should be NULL in one gtk call (bugzilla-daemon bugzilla gnome org)

--__--__--

Message: 1
From: bugzilla-daemon bugzilla gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri, 25 Feb 2005 03:31:08 -0500 (EST)
Subject: [gtkmm bugzilla] [Bug 168268] 0 should be NULL in one gtk call

Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=168268
 gtkmm | build | Ver: 2.2





------- Additional Comments From meissner suse de  2005-02-25 03:31 -------
This is a new gcc 4.0 warning. 
 
For varargs functions you can specify if the vararg list should be terminated 
by a NULL pointer using a gcc specific attribute: 
	__attribute__((__sentinel__(0)))  
 
the compiler will then warn like this: 
treeview.cc: In member function 'int Gtk::TreeView::insert_column(const 
Glib::ustring&, Gtk::CellRenderer&, int)': 
treeview.cc:274: warning: missing sentinel in function call 
 
The base patches for this are at: 
 
http://bugzilla.gnome.org/show_bug.cgi?id=164706 
http://bugzilla.gnome.org/show_bug.cgi?id=165682 
 
However they need an additional C++ patch for gcc4 to work correctly (and not 
warn too much). 
 
0 is ok if the compiler knows about the argument being a pointer (it will then 
auto convert it to the correct NULL ptr representation). 
 
However in varg arg lists it cannot know that 0 is not a pointer, so it will 
be stored as 32bit integer. The retrieving function will however retrieve 
a pointer which on 64bit machines is 64bit. 
 
For instance on AMD64 those varargs might be passed in a register and that 
would cause the upper 32bit not cleared.  
 
We had during initial AMD64 porting several of those problems and only now got 
compiler support in gcc 4. 
 
I hope this explanation satisfies :) 

------- You are receiving this mail because: -------
You are the assignee for the bug.



--__--__--

_______________________________________________
Gtkmm-forge mailing list
Gtkmm-forge lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge


End of Gtkmm-forge Digest



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