aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/skcms/src/Macros.h
blob: 6bf9c5eb3e0c8b121ca38692365c536f6f8b2f2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
 * Copyright 2018 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#pragma once

// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit.
#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))

// Please do not use sizeof() directly, and size_t only when required.
// (We have no way of enforcing these requests...)

#define ARRAY_COUNT(arr) (int)(SAFE_SIZEOF((arr)) / SAFE_SIZEOF(*(arr)))