Skip to content

Commit a0e8fdf

Browse files
committed
Add float bits in platform
1 parent d69955c commit a0e8fdf

File tree

4 files changed

+15
-0
lines changed

4 files changed

+15
-0
lines changed

lib/cppcheck.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,9 @@ static void createDumpFile(const Settings& settings,
397397
<< " int_bit=\"" << static_cast<unsigned>(settings.platform.int_bit) << '\"'
398398
<< " long_bit=\"" << static_cast<unsigned>(settings.platform.long_bit) << '\"'
399399
<< " long_long_bit=\"" << static_cast<unsigned>(settings.platform.long_long_bit) << '\"'
400+
<< " float_bit=\"" << static_cast<unsigned>(settings.platform.float_bit) << '\"'
401+
<< " double_bit=\"" << static_cast<unsigned>(settings.platform.double_bit) << '\"'
402+
<< " long_double_bit=\"" << static_cast<unsigned>(settings.platform.long_double_bit) << '\"'
400403
<< " pointer_bit=\"" << (settings.platform.sizeof_pointer * settings.platform.char_bit) << '\"'
401404
<< " wchar_t_bit=\"" << (settings.platform.sizeof_wchar_t * settings.platform.char_bit) << '\"'
402405
<< " size_t_bit=\"" << (settings.platform.sizeof_size_t * settings.platform.char_bit) << '\"'

lib/platform.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ bool Platform::set(Type t)
6060
int_bit = char_bit * sizeof_int;
6161
long_bit = char_bit * sizeof_long;
6262
long_long_bit = char_bit * sizeof_long_long;
63+
float_bit = char_bit * sizeof_float;
64+
double_bit = char_bit * sizeof_double;
65+
long_double_bit = char_bit * sizeof_long_double;
6366
return true;
6467
case Type::Win32W:
6568
case Type::Win32A:

lib/platform.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ class CPPCHECKLIB Platform {
9999
std::uint8_t int_bit; /// bits in int
100100
std::uint8_t long_bit; /// bits in long
101101
std::uint8_t long_long_bit; /// bits in long long
102+
std::uint8_t float_bit; /// bits in float
103+
std::uint8_t double_bit; /// bits in double
104+
std::uint8_t long_double_bit; /// bits in long double
102105

103106
/** size of standard types */
104107
std::size_t sizeof_bool;

test/testplatform.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ class TestPlatform : public TestFixture {
111111
ASSERT_EQUALS(32, platform.int_bit);
112112
ASSERT_EQUALS(64, platform.long_bit);
113113
ASSERT_EQUALS(64, platform.long_long_bit);
114+
ASSERT_EQUALS(32, platform.float_bit);
115+
ASSERT_EQUALS(64, platform.double_bit);
116+
ASSERT_EQUALS(64, platform.long_double_bit);
114117
}
115118

116119
void valid_config_win32w() const {
@@ -136,6 +139,9 @@ class TestPlatform : public TestFixture {
136139
ASSERT_EQUALS(32, platform.int_bit);
137140
ASSERT_EQUALS(32, platform.long_bit);
138141
ASSERT_EQUALS(64, platform.long_long_bit);
142+
ASSERT_EQUALS(32, platform.float_bit);
143+
ASSERT_EQUALS(64, platform.double_bit);
144+
ASSERT_EQUALS(64, platform.long_double_bit);
139145
}
140146

141147
void valid_config_unix32() const {

0 commit comments

Comments
 (0)