[Bug 208488] databases/db48: rename atomic_init to prevent C++ <atomic> collisions

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Apr 3 18:56:20 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208488

            Bug ID: 208488
           Summary: databases/db48: rename atomic_init to prevent C++
                    <atomic> collisions
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: mandree at FreeBSD.org
          Reporter: dim at FreeBSD.org
          Assignee: mandree at FreeBSD.org
             Flags: maintainer-feedback?(mandree at FreeBSD.org)

Created attachment 168938
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=168938&action=edit
Rename atomic_init to db_atomic_init to prevent C++ <atomic> collisions

During the exp-run in bug 208158, it was found that databases/db48 gives errors
with libc++ 3.8.0 [1]:

In file included from ./../dist/../cxx/cxx_db.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/include/c++/v1/iostream:38:
In file included from /usr/include/c++/v1/ios:216:
In file included from /usr/include/c++/v1/__locale:15:
In file included from /usr/include/c++/v1/string:439:
In file included from /usr/include/c++/v1/algorithm:628:
In file included from /usr/include/c++/v1/memory:616:
/usr/include/c++/v1/atomic:1107:13: error: expected unqualified-id
atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
            ^
/usr/include/c++/v1/atomic:1107:13: error: expected ')'
/usr/include/c++/v1/atomic:1107:1: note: to match this '('
atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
^
./../dist/../dbinc/atomic.h:73:30: note: expanded from macro 'atomic_init'
#define atomic_init(p, val)     ((p)->value = (val))
                                 ^

This is because dbinc/atomic.h redefines atomic_init, a function from C++'s
<atomic> header, as a macro.  Similar to the databases/db5 port, add a
post-patch REINPLACE_CMD line to rename those instances to db_atomic_init.

[1]
http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_18h30m05s/logs/errors/db48-4.8.30.0_2.log

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


More information about the freebsd-ports-bugs mailing list