1da030de702b756077fec536ed139e7ea38b51022Calin Juravle/*
2da030de702b756077fec536ed139e7ea38b51022Calin Juravle * Copyright (C) 2014 The Android Open Source Project
3da030de702b756077fec536ed139e7ea38b51022Calin Juravle *
4da030de702b756077fec536ed139e7ea38b51022Calin Juravle * Licensed under the Apache License, Version 2.0 (the "License");
5da030de702b756077fec536ed139e7ea38b51022Calin Juravle * you may not use this file except in compliance with the License.
6da030de702b756077fec536ed139e7ea38b51022Calin Juravle * You may obtain a copy of the License at
7da030de702b756077fec536ed139e7ea38b51022Calin Juravle *
8da030de702b756077fec536ed139e7ea38b51022Calin Juravle *      http://www.apache.org/licenses/LICENSE-2.0
9da030de702b756077fec536ed139e7ea38b51022Calin Juravle *
10da030de702b756077fec536ed139e7ea38b51022Calin Juravle * Unless required by applicable law or agreed to in writing, software
11da030de702b756077fec536ed139e7ea38b51022Calin Juravle * distributed under the License is distributed on an "AS IS" BASIS,
12da030de702b756077fec536ed139e7ea38b51022Calin Juravle * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13da030de702b756077fec536ed139e7ea38b51022Calin Juravle * See the License for the specific language governing permissions and
14da030de702b756077fec536ed139e7ea38b51022Calin Juravle * limitations under the License.
15da030de702b756077fec536ed139e7ea38b51022Calin Juravle */
16da030de702b756077fec536ed139e7ea38b51022Calin Juravle
17da030de702b756077fec536ed139e7ea38b51022Calin Juravle#include <gtest/gtest.h>
18da030de702b756077fec536ed139e7ea38b51022Calin Juravle
19da030de702b756077fec536ed139e7ea38b51022Calin Juravle#include <stdint.h>
20da030de702b756077fec536ed139e7ea38b51022Calin Juravle
21da030de702b756077fec536ed139e7ea38b51022Calin JuravleTEST(stdint_types, type_sizes) {
22da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(1U, sizeof(int_fast8_t));
23da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(8U, sizeof(int_fast64_t));
24da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(1U, sizeof(uint_fast8_t));
25da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(8U, sizeof(uint_fast64_t));
26da030de702b756077fec536ed139e7ea38b51022Calin Juravle#if defined(__LP64__)
27da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(8U, sizeof(int_fast16_t));
28da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(8U, sizeof(int_fast32_t));
29da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(8U, sizeof(uint_fast16_t));
30da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(8U, sizeof(uint_fast32_t));
31da030de702b756077fec536ed139e7ea38b51022Calin Juravle#else
32da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(4U, sizeof(int_fast16_t));
33da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(4U, sizeof(int_fast32_t));
34da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(4U, sizeof(uint_fast16_t));
35da030de702b756077fec536ed139e7ea38b51022Calin Juravle  ASSERT_EQ(4U, sizeof(uint_fast32_t));
36da030de702b756077fec536ed139e7ea38b51022Calin Juravle#endif
37da030de702b756077fec536ed139e7ea38b51022Calin Juravle}
38