Opened 9 years ago
Closed 9 years ago
#9746 closed Bugs (fixed)
Modern Sun CC compiler detects error in intrusive library header
Reported by: | Owned by: | Ion Gaztañaga | |
---|---|---|---|
Milestone: | To Be Determined | Component: | intrusive |
Version: | Boost 1.55.0 | Severity: | Problem |
Keywords: | Cc: |
Description
The problem can be reproduced as follows:
$ cat a.cc
#include <boost/interprocess/managed_mapped_file.hpp> typedef boost::interprocess::managed_mapped_file::segment_manager segment_manager_t; int main () { return 0; }
$ CC -I .../boost_1_55_0 a.cc -library=stlport4 ... ".../boost_1_55_0/boost/intrusive/detail/memory_util.hpp", line 192: Error: Templates can only declare classes or functions. ".../boost_1_55_0/boost/intrusive/detail/memory_util.hpp", line 208: Error: Templates can only declare classes or functions. ...
The reason is that modern Sun CC compiler can understand dependent templates (constructs like "T::template Q") and doesn't need workaround anymore in boost/intrusive/detail/memory_util.hpp. Attached patch fixes the problem.
Attachments (1)
Change History (2)
by , 9 years ago
comment:1 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in develop branch:SHA-1: 26acf03a9ba561ae033f353ac8212aa3c56fa6fd(Fixed #9746. Deleted workarounds for old SUN_CC compilers, those are now unsupported.)
Note:
See TracTickets
for help on using tickets.
Patch for boost/intrusive/detail/memory_util.hpp