Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#2771 closed Bugs (fixed)

Serialization documentation should make portability issues more obvious

Reported by: boost@… Owned by: Robert Ramey
Milestone: Boost 1.39.0 Component: serialization
Version: Boost 1.37.0 Severity: Not Applicable
Keywords: Cc:

Description

Specifically, the following do not use portable features:

  • BOOST_CLASS_EXPORT
  • base_object

Perhaps a section in the "Special Considerations" part of the manual which says not to use these features in portable code.

Yes, I knew this but did it anyway :-)

Change History (6)

comment:1 by boost@…, 14 years ago

Essentially anything using the new singleton is not portable so as long as the serialization library provides a portable way to implement the same "automatic registration"

in reply to:  1 comment:2 by anonymous, 14 years ago

Replying to boost@taggedtype.net:

Essentially anything using the new singleton is not portable so as long as the serialization library provides a portable way to implement the same "automatic registration"

Finishing that sentence: as long as the serialization library provides a portable way to implement the same "automatic registration", it is still possible to write portable code. It just has to be more verbose.

comment:3 by Robert Ramey, 14 years ago

Resolution: fixed
Status: newclosed

"Essentially anything using the new singleton is not portable so as long as the serialization library provides a portable way to implement the same "automatic registration" "

I think this is incorrect. I believe that the lock free singleton included in boost serialization IS portable. What is not guaranteed to be portable is the "automatic" code instantiation implemented by BOOST_CLASS_EXPORT. This currently fails on the SUNCC compiler (though it might be fixed by now) and VaCPP compiler (IBM - they have been advised of this and have shown interest in addressing it.)

Note that I've added a new section to the manual - "Tips and Tricks". This is to be used for those who want to add their own special bits of knowledge which other users may find useful. Its a constructive way to vent one's frustration. Submit proposals for new tips - in paste ready form - as a new TRAK item.

Robert Ramey

BTW - I think the SunCC failures have been showing up on the trunk test for years and no one ever complained. Perhaps one who is interested in the issue might work to get the compilers that they are concerned about added to the "release" platforms and raise issues when they first occur.

RR

comment:4 by boost@…, 14 years ago

Robert,

I don't know how you can say for certain that it is portable. There is no reference to any standardese in the code.

I agree, BOOST_CLASS_EXPORT is not portable. But if BOOST_CLASS_EXPORT is not portable, then the portability of the singleton almost doesn't matter!

I will happily send you my tips and tricks. I have a bunch.

By the way, if you are interested in the macro I wrote which roughly guarantees a function will be called before main, let me know. It falls back to the singleton above if the macro is not specialized for the current platform/compiler. It would raise the abstraction level, imo.

comment:5 by Daniel James, 14 years ago

(In [51774]) Merge most of the recent changes to quickbook and boostbook.

Left out doxygen changes: [51323],[51324],[51680] And a quickbook change which might be a breaking change: [51403]

Fixes #1977, #1170, #1213, #2701. Refs #2153, #2771.

Merged revisions 51268-51269,51319-51321,51370-51372,51388-51389,51401-51402,51405-51406,51508,51647,51696 via svnmerge from https://svn.boost.org/svn/boost/trunk

........

r51268 | johnmaddock | 2009-02-16 10:39:18 +0000 (Mon, 16 Feb 2009) | 1 line

Add default path for callouts.

........

r51269 | johnmaddock | 2009-02-16 10:40:26 +0000 (Mon, 16 Feb 2009) | 1 line

Add preliminary HTMLHelp support.

........

r51319 | danieljames | 2009-02-18 21:22:37 +0000 (Wed, 18 Feb 2009) | 1 line

Remove long out of date warning.

........

r51320 | danieljames | 2009-02-18 21:23:13 +0000 (Wed, 18 Feb 2009) | 1 line

Write out the quickbook options when the file is missing.

........

r51321 | danieljames | 2009-02-18 21:23:35 +0000 (Wed, 18 Feb 2009) | 1 line

Add default path for callouts to xhtml.

........

r51370 | danieljames | 2009-02-21 18:50:00 +0000 (Sat, 21 Feb 2009) | 4 lines

Regenerate boostbook reference documentation and merge with existing documentation.

Ref #2153

........

r51371 | danieljames | 2009-02-21 18:50:14 +0000 (Sat, 21 Feb 2009) | 1 line

Fix links in standalone boostbook documentation.

........

r51372 | danieljames | 2009-02-21 18:50:25 +0000 (Sat, 21 Feb 2009) | 3 lines

Change license in boostbook docs to boost license.

Douglas Gregor is listed in the blanket permissions file.

........

r51388 | danieljames | 2009-02-22 11:54:01 +0000 (Sun, 22 Feb 2009) | 1 line

This DTD isn't stable, so I'm calling it a 'development' version. Which is probably wrong, but there you go.

........

r51389 | danieljames | 2009-02-22 11:54:18 +0000 (Sun, 22 Feb 2009) | 2 lines

Support the alt tag in headername and macroname. Also make headername and macroname valid. Refs #1977

........

r51401 | danieljames | 2009-02-22 23:47:51 +0000 (Sun, 22 Feb 2009) | 8 lines

Add a purpose for macroname, headername, enumname, globalname.

Ref #2153: There's still no documentation for methodname and classname. These are actually defined in the docbook DTD for a different purpose so I'm not sure how to deal with them.

http://www.docbook.org/tdg/en/html/methodname.html http://www.docbook.org/tdg/en/html/classname.html

........

r51402 | danieljames | 2009-02-22 23:48:37 +0000 (Sun, 22 Feb 2009) | 7 lines

Generate slightly more valid boostbook.

For document types other than library:

  • Don't generate name or dirname for document types.
  • Put title before document info.

Ref #2771

........

r51405 | danieljames | 2009-02-22 23:49:21 +0000 (Sun, 22 Feb 2009) | 3 lines

Print out unexpected characters as errors.

Ref #1170

........

r51406 | danieljames | 2009-02-22 23:49:36 +0000 (Sun, 22 Feb 2009) | 1 line

Better handling of errors without line numbers.

........

r51508 | danieljames | 2009-03-01 14:16:44 +0000 (Sun, 01 Mar 2009) | 3 lines

Try to make anchor and link usage a little clearer.

Refs #1213, #2701

........

r51647 | danieljames | 2009-03-08 09:45:51 +0000 (Sun, 08 Mar 2009) | 1 line

Display text purposes in function reference.

........

r51696 | johnmaddock | 2009-03-11 10:22:42 +0000 (Wed, 11 Mar 2009) | 1 line

Set margins to 0pt so they line up with surrounding text rather than appearing outside it - prevents margins from overlapping other content.

........

in reply to:  5 comment:6 by Daniel James, 14 years ago

Replying to danieljames:

Sorry about that I referenced the wrong bug.

Note: See TracTickets for help on using tickets.