This file is indexed.

/usr/include/cpl_macros.h is in libcpl-dev 5.3.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* $Id: cpl_macros.h,v 1.9 2011/01/11 12:26:35 llundin Exp $
 *
 * This file is part of the ESO Common Pipeline Library
 * Copyright (C) 2001-2005 European Southern Observatory
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

/*
 * $Author: llundin $
 * $Date: 2011/01/11 12:26:35 $
 * $Revision: 1.9 $
 * $Name: cpl-5_3_0-BRANCH $
 */

/*
 * This file must not include any other file than cxmacros.h
 */

#ifndef CPL_MACROS_H
#define CPL_MACROS_H

#include <cxmacros.h>

/*
 * C code guard
 */

#undef CPL_BEGIN_DECLS
#undef CPL_END_DECLS

#define CPL_BEGIN_DECLS  CX_BEGIN_DECLS
#define CPL_END_DECLS    CX_END_DECLS

/* Needed to concatenate two and three macro arguments */
#define CPL_CONCAT(a,b) a ## _ ## b
#define CPL_CONCAT2X(a,b) CPL_CONCAT(a,b)
#define CPL_CONCAT3X(a,b,c) CPL_CONCAT2X(CPL_CONCAT2X(a,b),c)

/*

  (Try to) determine support for the function __attribute__

  These attributes are used in CPL (from the given gcc version)

   2.3  format (used only from gcc 3)
   2.5  const  (used only from gcc 3)
   2.96 pure   (used only from gcc 3)
   3.0  malloc
   3.1  deprecated
   3.3  nonnull
   3.4  warn_unused_result
   4.3  alloc_size

 */

#if defined __GNUC__ && __GNUC__ > 2
   /* gcc 3 or higher */

#  define CPL_ATTR_CONST       __attribute__((const))
#  define CPL_ATTR_PRINTF(A,B) __attribute__((format (printf, A, B)))
#  define CPL_ATTR_PURE        __attribute__((pure))

#  if __GNUC__ > 3 || defined __GNUC_MINOR__ && __GNUC_MINOR__ > 0
     /* gcc 3.1 or higher */
#    define CPL_ATTR_DEPRECATED __attribute__((deprecated))
#  endif

#  if __GNUC__ > 3 || defined __GNUC_MINOR__ && __GNUC_MINOR__ > 2
     /* gcc 3.3 or higher */
#    define CPL_ATTR_NONNULL __attribute__((nonnull))
#    define CPL_HAVE_ATTR_NONNULL
#  endif

#  if __GNUC__ > 3 || defined __GNUC_MINOR__ && __GNUC_MINOR__ > 3
     /* gcc 3.4 or higher */
#    define CPL_ATTR_ALLOC   __attribute__((malloc, warn_unused_result))

#    if __GNUC__ > 4 || __GNUC__ == 4 && defined __GNUC_MINOR__ && __GNUC_MINOR__ > 2
       /* gcc 4.3 or higher */

#      define CPL_ATTR_MALLOC                                           \
         __attribute__((malloc, warn_unused_result, alloc_size(1)))
#      define CPL_ATTR_CALLOC                                           \
         __attribute__((malloc, warn_unused_result, alloc_size(1,2)))
#      define CPL_ATTR_REALLOC                                          \
         __attribute__((malloc, warn_unused_result, alloc_size(2)))
#    else
       /* gcc 3.4 to 4.2 */
#      define CPL_ATTR_MALLOC  __attribute__((malloc, warn_unused_result))
#      define CPL_ATTR_CALLOC  __attribute__((malloc, warn_unused_result))
#      define CPL_ATTR_REALLOC __attribute__((malloc, warn_unused_result))
#    endif

#  else
     /* gcc 3.0 to 3.3 */

#    define CPL_ATTR_ALLOC   __attribute__((malloc))
#    define CPL_ATTR_MALLOC  __attribute__((malloc))
#    define CPL_ATTR_CALLOC  __attribute__((malloc))
#    define CPL_ATTR_REALLOC __attribute__((malloc))
#  endif
#endif

#ifndef CPL_ATTR_ALLOC
#  define CPL_ATTR_ALLOC /* __attribute__ */
#endif

#ifndef CPL_ATTR_CALLOC
#  define CPL_ATTR_CALLOC /*__attribute__ */
#endif

#ifndef CPL_ATTR_CONST
#  define CPL_ATTR_CONST /* __attribute__ */
#endif

#ifndef CPL_ATTR_DEPRECATED
#  define CPL_ATTR_DEPRECATED /* __attribute__ */
#endif

#ifndef CPL_ATTR_PURE
#  define CPL_ATTR_PURE /* __attribute__ */
#endif

#ifndef CPL_ATTR_MALLOC
#  define CPL_ATTR_MALLOC /* __attribute__ */
#endif

#ifndef CPL_ATTR_NONNULL
#  define CPL_ATTR_NONNULL /* __attribute__ */
#endif

#ifndef CPL_ATTR_PRINTF
#  define CPL_ATTR_PRINTF(A,B) /* __attribute__ */
#endif

#ifndef CPL_ATTR_REALLOC
#  define CPL_ATTR_REALLOC /* __attribute__ */
#endif

#endif /* CPL_MACROS_H */