From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1879) id 3A2553858C60; Thu, 2 Feb 2023 15:08:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3A2553858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1675350522; bh=MT90MzZiZXUTSSHTHH8qjkiL0LRAag+9DmcuYitbh+s=; h=From:To:Subject:Date:From; b=wt/LZiC6A5yWc9U/dulf/iuGebkT9HSOWyyGssoskMyy9dk2pfeGS9maU73+FcfL9 UA7o0RJGKrz0ljMWfLr/6EoyZoOR7CYG456/8b2UTGVwsPZ40NQMDKmvfvSYlQd9w1 VKbKuU029ourKXqn8y21guGNygenr2ZemWZbUKhc= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Simon Marchi To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdbsupport: add type definitions for pid, lwp and tid X-Act-Checkin: binutils-gdb X-Git-Author: Simon Marchi X-Git-Refname: refs/heads/master X-Git-Oldrev: b82d4ec99e3347b62a16cf5456628a37a128a99b X-Git-Newrev: 7b065306be39502cd2e6b60696280ac720c67e66 Message-Id: <20230202150842.3A2553858C60@sourceware.org> Date: Thu, 2 Feb 2023 15:08:42 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D7b065306be39= 502cd2e6b60696280ac720c67e66 commit 7b065306be39502cd2e6b60696280ac720c67e66 Author: Simon Marchi Date: Fri Sep 23 11:55:32 2022 -0400 gdbsupport: add type definitions for pid, lwp and tid =20 A following patch will want to declare variables of the same type as some ptid_t components. To make that easy (and avoid harcoding those types everywhere), define some type definitions in the ptid_t struct for each of them. Use them throughout ptid.h. =20 I initially used pid_t, lwp_t and tid_t, but there is the risk of some system defining the pid_t type using a macro instead of a typedef, which would break things. So, use the _type suffix instead. =20 Change-Id: I820b0bea9dafcb4914f1c9ba4bb96b5c666c8dec Approved-By: Andrew Burgess Diff: --- gdbsupport/ptid.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/gdbsupport/ptid.h b/gdbsupport/ptid.h index 365e11c6db5..aa296b83181 100644 --- a/gdbsupport/ptid.h +++ b/gdbsupport/ptid.h @@ -39,6 +39,10 @@ class ptid_t { public: + using pid_type =3D int; + using lwp_type =3D long; + using tid_type =3D ULONGEST; + /* Must have a trivial defaulted default constructor so that the type remains POD. */ ptid_t () noexcept =3D default; @@ -48,13 +52,13 @@ public: A ptid with only a PID (LWP and TID equal to zero) is usually used to represent a whole process, including all its lwps/threads. */ =20 - explicit constexpr ptid_t (int pid, long lwp =3D 0, ULONGEST tid =3D 0) + explicit constexpr ptid_t (pid_type pid, lwp_type lwp =3D 0, tid_type ti= d =3D 0) : m_pid (pid), m_lwp (lwp), m_tid (tid) {} =20 /* Fetch the pid (process id) component from the ptid. */ =20 - constexpr int pid () const + constexpr pid_type pid () const { return m_pid; } =20 /* Return true if the ptid's lwp member is non-zero. */ @@ -64,7 +68,7 @@ public: =20 /* Fetch the lwp (lightweight process) component from the ptid. */ =20 - constexpr long lwp () const + constexpr lwp_type lwp () const { return m_lwp; } =20 /* Return true if the ptid's tid member is non-zero. */ @@ -74,7 +78,7 @@ public: =20 /* Fetch the tid (thread id) component from a ptid. */ =20 - constexpr ULONGEST tid () const + constexpr tid_type tid () const { return m_tid; } =20 /* Return true if the ptid represents a whole process, including all its @@ -144,13 +148,13 @@ public: =20 private: /* Process id. */ - int m_pid; + pid_type m_pid; =20 /* Lightweight process id. */ - long m_lwp; + lwp_type m_lwp; =20 /* Thread id. */ - ULONGEST m_tid; + tid_type m_tid; }; =20 /* Functor to hash a ptid. */