Changeset 52acfab in mainline for abi/include


Ignore:
Timestamp:
2019-05-28T19:24:14Z (6 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
77de449e
Parents:
af5037d (diff), bebd154 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-05-28 19:24:14)
git-committer:
GitHub <noreply@…> (2019-05-28 19:24:14)
Message:

Merge pull request #161 from le-jzr/cxxcompat2

C++ compatibility improvements

Location:
abi/include
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • abi/include/_bits/errno.h

    raf5037d r52acfab  
    4141#define _BITS_ERRNO_H_
    4242
     43#include <_bits/native.h>
     44#include <_bits/decls.h>
     45
    4346#ifdef __OPAQUE_ERRNO__
    4447#include <_bits/__opaque_handle.h>
    4548
     49__HELENOS_DECLS_BEGIN;
    4650__opaque_handle(errno_t);
    4751typedef errno_t sys_errno_t;
     52__HELENOS_DECLS_END;
     53
    4854#define __errno_t(val) ((errno_t) val)
    4955
    5056#else
    5157
    52 #include <_bits/native.h>
     58__HELENOS_DECLS_BEGIN;
    5359
    5460/**
     
    6571typedef sysarg_t sys_errno_t;
    6672
     73__HELENOS_DECLS_END;
     74
    6775/**
    6876 * A C++-style "cast" to `errno_t`.
  • abi/include/_bits/native.h

    raf5037d r52acfab  
    4747
    4848#include <inttypes.h>
     49#include <_bits/decls.h>
     50
     51__HELENOS_DECLS_BEGIN;
    4952
    5053typedef uintptr_t pfn_t;
     
    5356typedef intptr_t  native_t;
    5457
    55 #define PRIdn  PRIdPTR  /**< Format for native_t. */
    56 #define PRIun  PRIuPTR  /**< Format for sysarg_t. */
    57 #define PRIxn  PRIxPTR  /**< Format for hexadecimal sysarg_t. */
     58__HELENOS_DECLS_END;
    5859
    5960#endif
  • abi/include/_bits/ssize_t.h

    raf5037d r52acfab  
    4242
    4343#include <stdint.h>
     44#include <_bits/decls.h>
    4445
     46__C_DECLS_BEGIN;
    4547typedef intptr_t ssize_t;
    46 
    47 #define SSIZE_MIN  INTPTR_MIN
    48 #define SSIZE_MAX  INTPTR_MAX
     48__C_DECLS_END;
    4949
    5050#endif
  • abi/include/inttypes.h

    raf5037d r52acfab  
    4343#include <stdint.h>
    4444#include <_bits/wchar_t.h>
     45#include <_bits/decls.h>
    4546
    4647/*
     
    311312#endif
    312313
    313 #ifdef _HELENOS_SOURCE
    314 #define UINT8_MIN   0
    315 #define UINT16_MIN  0
    316 #define UINT32_MIN  0
    317 #define UINT64_MIN  0
    318 #endif
    319 
    320314#define PRIdMAX  "lld"
    321315#define PRIiMAX  "lli"
     
    330324#define SCNxMAX  "llx"
    331325
    332 #ifdef __cplusplus
    333 extern "C" {
     326#if defined(_HELENOS_SOURCE) && !defined(__cplusplus)
     327#define PRIdn  PRIdPTR  /**< Format for native_t. */
     328#define PRIun  PRIuPTR  /**< Format for sysarg_t. */
     329#define PRIxn  PRIxPTR  /**< Format for hexadecimal sysarg_t. */
    334330#endif
     331
     332__C_DECLS_BEGIN;
    335333
    336334typedef struct {
     
    343341intmax_t strtoimax(const char *__restrict__, char **__restrict__, int);
    344342uintmax_t strtoumax(const char *__restrict__, char **__restrict__, int);
    345 
    346 #ifdef __cplusplus
    347 }
     343intmax_t wcstoimax(const wchar_t *__restrict__, wchar_t **__restrict__, int);
     344uintmax_t wcstoumax(const wchar_t *__restrict__, wchar_t **__restrict__, int);
     345
     346__C_DECLS_END;
     347
    348348#endif
    349349
    350 #endif
    351 
    352350/** @}
    353351 */
  • abi/include/limits.h

    raf5037d r52acfab  
    8484#define MB_LEN_MAX 4
    8585
     86#ifdef _HELENOS_SOURCE
    8687#define UCHAR_MIN   0
    8788#define USHRT_MIN   0
     
    8990#define ULONG_MIN   (0ul)
    9091#define ULLONG_MIN  (0ull)
     92#define SSIZE_MIN   INTPTR_MIN
     93#define UINT8_MIN   0
     94#define UINT16_MIN  0
     95#define UINT32_MIN  0
     96#define UINT64_MIN  0
     97#endif
     98
     99#if defined(_HELENOS_SOURCE) || defined(_POSIX_SOURCE) || \
     100    defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
     101    defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
     102
     103#define SSIZE_MAX  INTPTR_MAX
     104#define NAME_MAX   255
     105
     106#endif
    91107
    92108/* GCC's <limits.h> doesn't define these for C++11, even though it should. */
Note: See TracChangeset for help on using the changeset viewer.