The R Project SVN R

Rev

Rev 88052 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 88052 Rev 89450
Line 1... Line 1...
1
/*
1
/*
2
 *  R : A Computer Language for Statistical Data Analysis
2
 *  R : A Computer Language for Statistical Data Analysis
3
 *  Copyright (C) 2000, 2025 The R Core Team.
3
 *  Copyright (C) 2000, 2026 The R Core Team.
4
 *
4
 *
5
 *  This header file is free software; you can redistribute it and/or modify
5
 *  This header file is free software; you can redistribute it and/or modify
6
 *  it under the terms of the GNU Lesser General Public License as published by
6
 *  it under the terms of the GNU Lesser General Public License as published by
7
 *  the Free Software Foundation; either version 2.1 of the License, or
7
 *  the Free Software Foundation; either version 2.1 of the License, or
8
 *  (at your option) any later version.
8
 *  (at your option) any later version.
Line 53... Line 53...
53
 */
53
 */
54
#ifdef  __cplusplus
54
#ifdef  __cplusplus
55
extern "C" {
55
extern "C" {
56
#endif
56
#endif
57
#ifdef HAVE_ENUM_BASE_TYPE
57
#ifdef HAVE_ENUM_BASE_TYPE
58
// Apple clang warns even in C23 mode: gcc warns about #pragma clang
58
// Apple clang 17 warns even in C23 mode: gcc warns about #pragma clang
-
 
59
// LLVM clang no longer warns.
59
// LLVM clang no longer warns: we have no good way to filter Apple clang.
60
// Apple clang 21 no longer has that warning.
60
# if defined  __APPLE__ && defined __clang__
61
# if defined  __APPLE__ && defined __clang__ && __clang_major__ < 21
61
#  pragma clang diagnostic push
62
#  pragma clang diagnostic push
62
#  pragma clang diagnostic ignored "-Wfixed-enum-extension"
63
#  pragma clang diagnostic ignored "-Wfixed-enum-extension"
63
# endif
64
# endif
64
 
65
 
65
  typedef enum :int { FALSE = 0, TRUE } Rboolean;  // so NOT NA
66
  typedef enum :int { FALSE = 0, TRUE } Rboolean;  // so NOT NA
66
 
67
 
67
# if defined  __APPLE__ && defined __clang__
68
# if defined  __APPLE__ && defined __clang__ && __clang_major__ < 21
68
#  pragma clang diagnostic pop
69
#  pragma clang diagnostic pop
69
# endif
70
# endif
70
#else
71
#else
71
    typedef enum { FALSE = 0, TRUE } Rboolean;  // so NOT NA
72
    typedef enum { FALSE = 0, TRUE } Rboolean;  // so NOT NA
72
#endif
73
#endif