Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions lib/platform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ bool Platform::set(Type t)
sizeof_wchar_t = 2;
sizeof_size_t = 4;
sizeof_pointer = 4;
defaultSign = '\0';
defaultSign = 's';
char_bit = 8;
calculateBitMembers();
return true;
Expand All @@ -90,7 +90,7 @@ bool Platform::set(Type t)
sizeof_wchar_t = 2;
sizeof_size_t = 8;
sizeof_pointer = 8;
defaultSign = '\0';
defaultSign = 's';
char_bit = 8;
calculateBitMembers();
return true;
Expand All @@ -107,7 +107,7 @@ bool Platform::set(Type t)
sizeof_wchar_t = 4;
sizeof_size_t = 4;
sizeof_pointer = 4;
defaultSign = '\0';
defaultSign = 's';
char_bit = 8;
calculateBitMembers();
return true;
Expand All @@ -124,7 +124,7 @@ bool Platform::set(Type t)
sizeof_wchar_t = 4;
sizeof_size_t = 8;
sizeof_pointer = 8;
defaultSign = '\0';
defaultSign = 's';
char_bit = 8;
calculateBitMembers();
return true;
Expand Down
4 changes: 4 additions & 0 deletions releasenotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,7 @@ Changed interface:

Infrastructure & dependencies:
-

Other:
- The built-in "win*" and "unix*" platforms will now default to signed char type instead of unknown signedness. If you require unsigned chars please specify "--funsigned-char"
-
10 changes: 5 additions & 5 deletions test/testplatform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class TestPlatform : public TestFixture {
ASSERT_EQUALS(2, platform.sizeof_wchar_t);
ASSERT_EQUALS(4, platform.sizeof_size_t);
ASSERT_EQUALS(4, platform.sizeof_pointer);
ASSERT_EQUALS('\0', platform.defaultSign);
ASSERT_EQUALS('s', platform.defaultSign);
ASSERT_EQUALS(8, platform.char_bit);
ASSERT_EQUALS(16, platform.short_bit);
ASSERT_EQUALS(32, platform.int_bit);
Expand All @@ -110,7 +110,7 @@ class TestPlatform : public TestFixture {
ASSERT_EQUALS(4, platform.sizeof_wchar_t);
ASSERT_EQUALS(8, platform.sizeof_size_t);
ASSERT_EQUALS(8, platform.sizeof_pointer);
ASSERT_EQUALS('\0', platform.defaultSign);
ASSERT_EQUALS('s', platform.defaultSign);
ASSERT_EQUALS(8, platform.char_bit);
ASSERT_EQUALS(16, platform.short_bit);
ASSERT_EQUALS(32, platform.int_bit);
Expand Down Expand Up @@ -138,7 +138,7 @@ class TestPlatform : public TestFixture {
ASSERT_EQUALS(2, platform.sizeof_wchar_t);
ASSERT_EQUALS(4, platform.sizeof_size_t);
ASSERT_EQUALS(4, platform.sizeof_pointer);
ASSERT_EQUALS('\0', platform.defaultSign);
ASSERT_EQUALS('s', platform.defaultSign);
ASSERT_EQUALS(8, platform.char_bit);
ASSERT_EQUALS(16, platform.short_bit);
ASSERT_EQUALS(32, platform.int_bit);
Expand Down Expand Up @@ -166,7 +166,7 @@ class TestPlatform : public TestFixture {
ASSERT_EQUALS(4, platform.sizeof_wchar_t);
ASSERT_EQUALS(4, platform.sizeof_size_t);
ASSERT_EQUALS(4, platform.sizeof_pointer);
ASSERT_EQUALS('\0', platform.defaultSign);
ASSERT_EQUALS('s', platform.defaultSign);
ASSERT_EQUALS(8, platform.char_bit);
ASSERT_EQUALS(16, platform.short_bit);
ASSERT_EQUALS(32, platform.int_bit);
Expand Down Expand Up @@ -194,7 +194,7 @@ class TestPlatform : public TestFixture {
ASSERT_EQUALS(2, platform.sizeof_wchar_t);
ASSERT_EQUALS(8, platform.sizeof_size_t);
ASSERT_EQUALS(8, platform.sizeof_pointer);
ASSERT_EQUALS('\0', platform.defaultSign);
ASSERT_EQUALS('s', platform.defaultSign);
ASSERT_EQUALS(8, platform.char_bit);
ASSERT_EQUALS(16, platform.short_bit);
ASSERT_EQUALS(32, platform.int_bit);
Expand Down
10 changes: 5 additions & 5 deletions test/testtype.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,16 +103,16 @@ class TestType : public TestFixture {
// unsigned types getting promoted to int sizeof(int) = 4 bytes
// and unsigned types having already a size of 4 bytes
{
const std::string types[] = {"unsigned char", /*[unsigned]*/ "char", "bool", "unsigned short", "unsigned int", "unsigned long"};
const std::string types[] = {"unsigned char", "bool", "unsigned short", "unsigned int", "unsigned long"};
for (const std::string& type : types) {
check(type + " f(" + type +" x) { return x << 31; }", dinit(CheckOptions, $.settings = &settings));
ASSERT_EQUALS("", errout_str());
ASSERT_EQUALS_MSG("", errout_str(), type);
check(type + " f(" + type +" x) { return x << 33; }", dinit(CheckOptions, $.settings = &settings));
ASSERT_EQUALS("[test.cpp:1]: (error) Shifting 32-bit value by 33 bits is undefined behaviour\n", errout_str());
ASSERT_EQUALS_MSG("[test.cpp:1]: (error) Shifting 32-bit value by 33 bits is undefined behaviour\n", errout_str(), type);
check(type + " f(int x) { return (x = (" + type + ")x << 32); }", dinit(CheckOptions, $.settings = &settings));
ASSERT_EQUALS("[test.cpp:1]: (error) Shifting 32-bit value by 32 bits is undefined behaviour\n", errout_str());
ASSERT_EQUALS_MSG("[test.cpp:1]: (error) Shifting 32-bit value by 32 bits is undefined behaviour\n", errout_str(), type);
check(type + " foo(" + type + " x) { return x << 31; }", dinit(CheckOptions, $.settings = &settings));
ASSERT_EQUALS("", errout_str());
ASSERT_EQUALS_MSG("", errout_str(), type);
}
}
// signed types getting promoted to int sizeof(int) = 4 bytes
Expand Down
Loading