Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 03 Apr 2016 18:56:19 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 208488] databases/db48: rename atomic_init to prevent C++ <atomic> collisions
Message-ID:  <bug-208488-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D208488

            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@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: mandree@FreeBSD.org
             Flags: maintainer-feedback?(mandree@FreeBSD.org)

Created attachment 168938
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D168938&action=
=3Dedit
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 er=
rors
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 =3D (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

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-208488-13>