Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acd23e19 authored by Colin Cross's avatar Colin Cross
Browse files

Use extern "C" instead of __BEGIN_DECLS

__BEGIN_DECLS is a glibc implementation detail that has been copied
into bionic.  It is provided by sys/cdefs.h, which is included by most
glibc and bionic headers.  Musl libc does not define __BEGIN_DECLS,
but we have added a local definition in sys/cdefs.h, but not the
widespread automatic inclusion of sys/cdefs.h.

tipc.h uses __BEGIN_DECLS without including any other headers, so it
will fail for bionic and glibc if it is included first.  It will
always fail for musl unless sys/cdefs.h is manually included.

Avoid the problem completely by using extern "C" directly.

Test: builds
Change-Id: Iaec6a7b03b776ff80dc3997de8828b8220622733
parent 71216198
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -15,7 +15,9 @@
 */
#pragma once

__BEGIN_DECLS
#if defined(__cplusplus)
extern "C" {
#endif

struct tipc_hset;

@@ -26,4 +28,6 @@ int tipc_run_event_loop(struct tipc_hset*) {
    return 0;
}

__END_DECLS
#if defined(__cplusplus)
}
#endif