Skip to content

error: cannot initialize return object of type 'uint64_t' (aka 'unsigned long') with an rvalue of type 'pthread_t' #2071

@yurivict

Description

@yurivict

Describe the bug (描述bug)

/usr/ports/devel/brpc/work/incubator-brpc-1.3.0/src/butil/compat.h:85:12: error: cannot initialize return object of type 'uint64_t' (aka 'unsigned long') with an rvalue of type 'pthread_t' (aka 'pthread *')
    return pthread_self();
           ^~~~~~~~~~~~~~
2 errors generated.
``

**To Reproduce (复现方法)**
build on FreeBSD

According to the documentation pthread_self returns pthread_t:

NAME
pthread_self – get the calling thread's ID

LIBRARY
POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
#include <pthread.h>

 pthread_t
 pthread_self(void);
pthread_t generally can not and should not be typecast to any other type.



**Versions (各种版本)**
OS: FreeBSD 13.1
Compiler: clang-14
brpc: 1.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions