From b999956aae8ea82cd41ec9d931ab75958d7dbd3c Mon Sep 17 00:00:00 2001 From: Rostislav Khlebnikov Date: Wed, 4 Dec 2024 16:26:58 -0500 Subject: [PATCH] Add support for Linux ARM (#4789) --- groups/bal/balber/balber_berutil.t.cpp | 22 ++-- groups/bal/baljsn/baljsn_parserutil.t.cpp | 6 +- .../bal/balxml/balxml_typesparserutil.t.cpp | 90 +++++++------- groups/bal/balxml/balxml_typesprintutil.t.cpp | 54 ++++---- groups/bdl/bdlde/bdlde_base64encoder.t.cpp | 117 +++++++++--------- .../bdlde/bdlde_quotedprintabledecoder.t.cpp | 56 +++++---- .../bdlde/bdlde_quotedprintableencoder.t.cpp | 18 +-- groups/bdl/bdljsn/bdljsn_numberutil.t.cpp | 5 +- groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.h | 8 +- .../bdl/bdlsb/bdlsb_fixedmeminstreambuf.t.cpp | 26 ++-- groups/bsl/bslmt/bslmt_barrier.t.cpp | 4 +- groups/bsl/bslmt/bslmt_threadutil.t.cpp | 3 +- groups/bsl/bsls/bsls_alignmentfromtype.t.cpp | 2 +- groups/bsl/bsls/bsls_alignmentimp.t.cpp | 2 +- groups/bsl/bsls/bsls_bsltestutil.t.cpp | 2 +- groups/bsl/bslx/bslx_instreamfunctions.t.cpp | 5 +- groups/bsl/bslx/bslx_marshallingutil.t.cpp | 6 +- .../inteldfp/LIBRARY/src/inteldfp/bid_conf.h | 2 +- 18 files changed, 218 insertions(+), 210 deletions(-) diff --git a/groups/bal/balber/balber_berutil.t.cpp b/groups/bal/balber/balber_berutil.t.cpp index 71b309c488..ccd421dec4 100644 --- a/groups/bal/balber/balber_berutil.t.cpp +++ b/groups/bal/balber/balber_berutil.t.cpp @@ -15613,7 +15613,7 @@ int main(int argc, char *argv[]) ASSERT(2 == numBytesConsumed); } { - char buffer[] = { -1, 0 }; + char buffer[] = { (char)-1, 0 }; bdlsb::FixedMemInStreamBuf isb(buffer, 2); int numBytesConsumed = 0; @@ -15621,7 +15621,7 @@ int main(int argc, char *argv[]) &numBytesConsumed)); } { - char buffer[] = { 0, -1 }; + char buffer[] = { 0, (char)-1 }; bdlsb::FixedMemInStreamBuf isb(buffer, 2); int numBytesConsumed = 0; @@ -15629,7 +15629,7 @@ int main(int argc, char *argv[]) &numBytesConsumed)); } { - char buffer[] = { -1, -1 }; + char buffer[] = { (char)-1, (char)-1 }; bdlsb::FixedMemInStreamBuf isb(buffer, 2); int numBytesConsumed = 0; @@ -17774,14 +17774,14 @@ int main(int argc, char *argv[]) } DATA[] = { // line value exp // ---- ----- --- - { L_, 0, "01 00" }, - { L_, 1, "01 01" }, - { L_, -2, "01 FE" }, - { L_, 95, "01 5F" }, - { L_, -106, "01 96" }, - { L_, 127, "01 7F" }, - { L_, -127, "01 81" }, - { L_, -128, "01 80" }, + { L_, 0, "01 00" }, + { L_, 1, "01 01" }, + { L_, (char)-2, "01 FE" }, + { L_, 95, "01 5F" }, + { L_, (char)-106, "01 96" }, + { L_, 127, "01 7F" }, + { L_, (char)-127, "01 81" }, + { L_, (char)-128, "01 80" }, }; const int NUM_DATA = sizeof(DATA) / sizeof(*DATA); diff --git a/groups/bal/baljsn/baljsn_parserutil.t.cpp b/groups/bal/baljsn/baljsn_parserutil.t.cpp index 98e6dfe52d..dc3ebfa231 100644 --- a/groups/bal/baljsn/baljsn_parserutil.t.cpp +++ b/groups/bal/baljsn/baljsn_parserutil.t.cpp @@ -7485,9 +7485,9 @@ int main(int argc, char *argv[]) << "\n==================================" << endl; { - const char ERROR_VALUE = 'X'; - const char MAX = bsl::numeric_limits::max(); - const char MIN = bsl::numeric_limits::min(); + const signed char ERROR_VALUE = 'X'; + const signed char MAX = bsl::numeric_limits::max(); + const signed char MIN = bsl::numeric_limits::min(); #ifdef BSLS_PLATFORM_HAS_PRAGMA_GCC_DIAGNOSTIC #pragma GCC diagnostic push diff --git a/groups/bal/balxml/balxml_typesparserutil.t.cpp b/groups/bal/balxml/balxml_typesparserutil.t.cpp index 7b17e1c955..46207c28c5 100644 --- a/groups/bal/balxml/balxml_typesparserutil.t.cpp +++ b/groups/bal/balxml/balxml_typesparserutil.t.cpp @@ -1238,15 +1238,15 @@ int main(int argc, char *argv[]) { static const RoundTripTestData DATA[] = { - //line input - //---- ----- - { L_, -128 }, - { L_, -127 }, - { L_, -1 }, - { L_, 0 }, - { L_, 1 }, - { L_, 126 }, - { L_, 127 }, + //line input + //---- ----------- + { L_, (char)-128 }, + { L_, (char)-127 }, + { L_, (char)-1 }, + { L_, 0 }, + { L_, 1 }, + { L_, 126 }, + { L_, 127 }, }; printDefaultRoundTripTester(DATA); } @@ -2949,15 +2949,15 @@ int main(int argc, char *argv[]) { static const RoundTripTestData DATA[] = { - //line input - //---- ----- - { L_, -128 }, - { L_, -127 }, - { L_, -1 }, - { L_, 0 }, - { L_, 1 }, - { L_, 126 }, - { L_, 127 }, + //line input + //---- ----------- + { L_, (char)-128 }, + { L_, (char)-127 }, + { L_, (char)-1 }, + { L_, 0 }, + { L_, 1 }, + { L_, 126 }, + { L_, 127 }, }; printDecimalRoundTripTester(DATA); } @@ -3907,15 +3907,15 @@ int main(int argc, char *argv[]) const char *d_input; Type d_result; } DATA[] = { - //line input result - //---- ----- ------ - { L_, "-128X", -128, }, - { L_, "-127X", -127, }, - { L_, "-1X", -1, }, - { L_, "0X", 0, }, - { L_, "1X", 1, }, - { L_, "126X", 126, }, - { L_, "127X", 127, }, + //line input result + //---- ----- ----------- + { L_, "-128X", (Type)-128, }, + { L_, "-127X", (Type)-127, }, + { L_, "-1X", (Type)-1, }, + { L_, "0X", 0, }, + { L_, "1X", 1, }, + { L_, "126X", 126, }, + { L_, "127X", 127, }, }; const int NUM_DATA = sizeof DATA / sizeof *DATA; @@ -4121,15 +4121,15 @@ int main(int argc, char *argv[]) const char *d_input; Type d_result; } DATA[] = { - //line input result - //---- ----- ------ - { L_, "-128X", -128, }, - { L_, "-127X", -127, }, - { L_, "-1X", -1, }, - { L_, "0X", 0, }, - { L_, "1X", 1, }, - { L_, "126X", 126, }, - { L_, "127X", 127, }, + //line input result + //---- ----- ----------- + { L_, "-128X", (Type)-128, }, + { L_, "-127X", (Type)-127, }, + { L_, "-1X", (Type)-1, }, + { L_, "0X", 0, }, + { L_, "1X", 1, }, + { L_, "126X", 126, }, + { L_, "127X", 127, }, }; const int NUM_DATA = sizeof DATA / sizeof *DATA; @@ -6637,15 +6637,15 @@ int main(int argc, char *argv[]) const char *d_input; Type d_result; } DATA[] = { - //line input result - //---- ----- ------ - { L_, "-128X", -128 }, - { L_, "-127X", -127 }, - { L_, "-1X", -1 }, - { L_, "0X", 0 }, - { L_, "1X", 1 }, - { L_, "126X", 126 }, - { L_, "127X", 127 }, + //line input result + //---- ----- ----------- + { L_, "-128X", (Type)-128 }, + { L_, "-127X", (Type)-127 }, + { L_, "-1X", (Type)-1 }, + { L_, "0X", 0 }, + { L_, "1X", 1 }, + { L_, "126X", 126 }, + { L_, "127X", 127 }, }; const int NUM_DATA = sizeof DATA / sizeof *DATA; diff --git a/groups/bal/balxml/balxml_typesprintutil.t.cpp b/groups/bal/balxml/balxml_typesprintutil.t.cpp index adace908c7..5cb8ccf9df 100644 --- a/groups/bal/balxml/balxml_typesprintutil.t.cpp +++ b/groups/bal/balxml/balxml_typesprintutil.t.cpp @@ -907,15 +907,15 @@ int main(int argc, char *argv[]) Type d_input; const char *d_result; } DATA[] = { - //line input result - //---- ----- ------ - { L_, -128, "-128" }, - { L_, -127, "-127" }, - { L_, -1, "-1" }, - { L_, 0, "0" }, - { L_, 1, "1" }, - { L_, 126, "126" }, - { L_, 127, "127" }, + //line input result + //---- ---------- ------ + { L_, (Type)-128, "-128" }, + { L_, (Type)-127, "-127" }, + { L_, (Type)-1, "-1" }, + { L_, 0, "0" }, + { L_, 1, "1" }, + { L_, 126, "126" }, + { L_, 127, "127" }, }; const int NUM_DATA = sizeof DATA / sizeof *DATA; @@ -1098,15 +1098,15 @@ int main(int argc, char *argv[]) Type d_input; const char *d_result; } DATA[] = { - //line input result - //---- ----- ------ - { L_, -128, "-128" }, - { L_, -127, "-127" }, - { L_, -1, "-1" }, - { L_, 0, "0" }, - { L_, 1, "1" }, - { L_, 126, "126" }, - { L_, 127, "127" }, + //line input result + //---- ---------- ------ + { L_, (Type)-128, "-128" }, + { L_, (Type)-127, "-127" }, + { L_, (Type)-1, "-1" }, + { L_, 0, "0" }, + { L_, 1, "1" }, + { L_, 126, "126" }, + { L_, 127, "127" }, }; const int NUM_DATA = sizeof DATA / sizeof *DATA; @@ -4270,15 +4270,15 @@ int main(int argc, char *argv[]) Type d_input; const char *d_result; } DATA[] = { - //line input result - //---- ----- ------ - { L_, -128, "-128" }, - { L_, -127, "-127" }, - { L_, -1, "-1" }, - { L_, 0, "0" }, - { L_, 1, "1" }, - { L_, 126, "126" }, - { L_, 127, "127" }, + //line input result + //---- ----------- ------ + { L_, (Type)-128, "-128" }, + { L_, (Type)-127, "-127" }, + { L_, (Type)-1, "-1" }, + { L_, 0, "0" }, + { L_, 1, "1" }, + { L_, 126, "126" }, + { L_, 127, "127" }, }; const int NUM_DATA = sizeof DATA / sizeof *DATA; diff --git a/groups/bdl/bdlde/bdlde_base64encoder.t.cpp b/groups/bdl/bdlde/bdlde_base64encoder.t.cpp index 3282eafcd8..3e0e39d37b 100644 --- a/groups/bdl/bdlde/bdlde_base64encoder.t.cpp +++ b/groups/bdl/bdlde/bdlde_base64encoder.t.cpp @@ -362,6 +362,9 @@ const char BLOOMBERG_NEWS[] = "To contact the writer of this column: Chet Currier in New York\n" "(1) (212) 318-2605 or ccurrier@bloomberg.net."; +// Invalid 'char' value +const char IV = static_cast(-1); + // ============================================================================ // TEST HELPER FUNCTIONS // ---------------------------------------------------------------------------- @@ -780,7 +783,7 @@ bool isState(bdlde::Base64Encoder *object, int state) int enabled = globalAssertsEnabled; - char b[8] = { -1, -1, -1, -1, -1, -1, -1, -1 }; + char b[8] = {IV, IV, IV, IV, IV, IV, IV, IV}; int numOut = -1; int numIn = -1; @@ -807,10 +810,10 @@ bool isState(bdlde::Base64Encoder *object, int state) bool c0 = 0 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = (char)-1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = (char)-1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = (char)-1 == b[2]; ASSERT(d2 || !enabled); - bool d3 = (char)-1 == b[3]; ASSERT(d3 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); + bool d3 = IV == b[3]; ASSERT(d3 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2 && d3; @@ -837,7 +840,7 @@ bool isState(bdlde::Base64Encoder *object, int state) bool d0 = '=' != b[0]; ASSERT(d0 || !enabled); bool d1 = '=' == b[1]; ASSERT(d1 || !enabled); bool d2 = '=' == b[2]; ASSERT(d2 || !enabled); - bool d3 = (char)-1 == b[3]; ASSERT(d3 || !enabled); + bool d3 = IV == b[3]; ASSERT(d3 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2 && d3; @@ -863,8 +866,8 @@ bool isState(bdlde::Base64Encoder *object, int state) bool d0 = '=' != b[0]; ASSERT(d0 || !enabled); bool d1 = '=' == b[1]; ASSERT(d1 || !enabled); - bool d2 = (char)-1 == b[2]; ASSERT(d2 || !enabled); - bool d3 = (char)-1 == b[3]; ASSERT(d3 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); + bool d3 = IV == b[3]; ASSERT(d3 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2 && d3; @@ -888,10 +891,10 @@ bool isState(bdlde::Base64Encoder *object, int state) bool c0 = 0 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = (char)-1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = (char)-1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = (char)-1 == b[2]; ASSERT(d2 || !enabled); - bool d3 = (char)-1 == b[3]; ASSERT(d3 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); + bool d3 = IV == b[3]; ASSERT(d3 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2 && d3; @@ -914,10 +917,10 @@ bool isState(bdlde::Base64Encoder *object, int state) bool c0 = -1 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = (char)-1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = (char)-1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = (char)-1 == b[2]; ASSERT(d2 || !enabled); - bool d3 = (char)-1 == b[3]; ASSERT(d3 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); + bool d3 = IV == b[3]; ASSERT(d3 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2 && d3; @@ -940,10 +943,10 @@ bool isState(bdlde::Base64Encoder *object, int state) bool c0 = -1 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = (char)-1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = (char)-1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = (char)-1 == b[2]; ASSERT(d2 || !enabled); - bool d3 = (char)-1 == b[3]; ASSERT(d3 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); + bool d3 = IV == b[3]; ASSERT(d3 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2 && d3; @@ -1106,22 +1109,22 @@ static const bool CHARACTERS_THAT_CAN_BE_IGNORED_IN_RELAXED_MODE[256] = { static const char DEC[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 00 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 10 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, // 20 - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, // 30 - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 40 - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, // 50 - -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 60 - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, // 70 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 80 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 90 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // A0 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // B0 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // C0 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // D0 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // E0 - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // F0 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // 00 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // 10 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, 62, IV, IV, IV, 63, // 20 + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, IV, IV, IV, IV, IV, IV, // 30 + IV, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 40 + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, IV, IV, IV, IV, IV, // 50 + IV, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 60 + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, IV, IV, IV, IV, IV, // 70 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // 80 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // 90 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // A0 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // B0 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // C0 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // D0 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // E0 + IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, IV, // F0 }; const bool *const u_Base64Decoder_Test::s_ignorableStrict_p = @@ -4246,7 +4249,7 @@ int main(int argc, char *argv[]) ASSERT(isPadded == obj.options().isPadded()); ASSERT(isPadded == obj.isPadded()); - char b[4] = { -1, -1, -1, -1 }; + char b[4] = { IV, IV, IV, IV }; int numOut = -1; int result = obj.endConvert(b, &numOut); @@ -4290,7 +4293,7 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.isInitialState()); ASSERT(1 == obj.outputLength()); - char b[4] = { -1, -1, -1, -1 }; + char b[4] = { IV, IV, IV, IV }; int numOut = -1; int result = obj.endConvert(b + 1, &numOut); @@ -4334,7 +4337,7 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.isInitialState()); ASSERT(2 == obj.outputLength()); - char b[4] = { -1, -1, -1, -1 }; + char b[4] = { IV, IV, IV, IV }; int numOut = -1; int result = obj.endConvert(b + 2, &numOut); @@ -4352,10 +4355,10 @@ int main(int argc, char *argv[]) ASSERT((isPadded ? 4 : 3) == obj.outputLength()); ASSERT(0 == result); ASSERT((isPadded ? 2 : 1) == numOut); - ASSERT((char)-1 == b[0]); - ASSERT((char)-1 == b[1]); + ASSERT(IV == b[0]); + ASSERT(IV == b[1]); ASSERT('A' == b[2]); - ASSERT((isPadded ? '=' : (char)-1) == b[3]); + ASSERT((isPadded ? '=' : IV) == b[3]); } if (verbose) cout << "\tState 3." << endl; @@ -4378,7 +4381,7 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.isInitialState()); ASSERT(4 == obj.outputLength()); - char b[4] = { -1, -1, -1, -1 }; + char b[4] = { IV, IV, IV, IV }; int numOut = -1; int result = obj.endConvert(b, &numOut); @@ -4396,10 +4399,10 @@ int main(int argc, char *argv[]) ASSERT(4 == obj.outputLength()); ASSERT(0 == result); ASSERT(0 == numOut); - ASSERT((char)-1 == b[0]); - ASSERT((char)-1 == b[1]); - ASSERT((char)-1 == b[2]); - ASSERT((char)-1 == b[3]); + ASSERT(IV == b[0]); + ASSERT(IV == b[1]); + ASSERT(IV == b[2]); + ASSERT(IV == b[3]); } if (verbose) cout << "\te_DONE_STATE." << endl; @@ -4422,7 +4425,7 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.isInitialState()); ASSERT(0 == obj.outputLength()); - char b[4] = { -1, -1, -1, -1 }; + char b[4] = { IV, IV, IV, IV }; int numOut = -1; int result = obj.endConvert(b, &numOut); @@ -4440,10 +4443,10 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.outputLength()); ASSERT(-1 == result); ASSERT(0 == numOut); - ASSERT((char)-1 == b[0]); - ASSERT((char)-1 == b[1]); - ASSERT((char)-1 == b[2]); - ASSERT((char)-1 == b[3]); + ASSERT(IV == b[0]); + ASSERT(IV == b[1]); + ASSERT(IV == b[2]); + ASSERT(IV == b[3]); } if (verbose) cout << "\te_ERROR_STATE." << endl; @@ -4466,7 +4469,7 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.isInitialState()); ASSERT(0 == obj.outputLength()); - char b[4] = { -1, -1, -1, -1 }; + char b[4] = { IV, IV, IV, IV }; int numOut = -1; int result = obj.endConvert(b, &numOut); @@ -4484,10 +4487,10 @@ int main(int argc, char *argv[]) ASSERT(0 == obj.outputLength()); ASSERT(-1 == result); ASSERT(0 == numOut); - ASSERT((char)-1 == b[0]); - ASSERT((char)-1 == b[1]); - ASSERT((char)-1 == b[2]); - ASSERT((char)-1 == b[3]); + ASSERT(IV == b[0]); + ASSERT(IV == b[1]); + ASSERT(IV == b[2]); + ASSERT(IV == b[3]); } } diff --git a/groups/bdl/bdlde/bdlde_quotedprintabledecoder.t.cpp b/groups/bdl/bdlde/bdlde_quotedprintabledecoder.t.cpp index 287f09db2f..79eaa99b29 100644 --- a/groups/bdl/bdlde/bdlde_quotedprintabledecoder.t.cpp +++ b/groups/bdl/bdlde/bdlde_quotedprintabledecoder.t.cpp @@ -679,7 +679,9 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) int enabled = globalAssertsEnabled; - char b[3] = { -1, -1, -1 }; + const char IV = static_cast(-1); + + char b[3] = { IV, IV, IV }; int numOut = -1; bool rv = false; @@ -703,9 +705,9 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool c0 = 0 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = -1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = -1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = -1 == b[2]; ASSERT(d2 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && b4 && c0 && c1 && d0 && d1 && d2; @@ -737,14 +739,14 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) switch (numOut) { case 1: { - d0 = -1 != b[0]; ASSERT(d0 || !enabled); - d1 = -1 == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d0 = IV != b[0]; ASSERT(d0 || !enabled); + d1 = IV == b[1]; ASSERT(d1 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); } break; case 0: { - d0 = -1 == b[0]; ASSERT(d0 || !enabled); - d1 = -1 == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d0 = IV == b[0]; ASSERT(d0 || !enabled); + d1 = IV == b[1]; ASSERT(d1 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); } break; } @@ -772,8 +774,8 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool d0, d1, d2; d0 = '=' == b[0]; ASSERT(d0 || !enabled); - d1 = -1 == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d1 = IV == b[1]; ASSERT(d1 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; @@ -800,7 +802,7 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) d0 = '=' == b[0]; ASSERT(d0 || !enabled); d1 = isHex( b[1]); ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; @@ -830,7 +832,7 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) if (numOut == 6) { d0 = '=' == b[0]; ASSERT(d0 || !enabled); d1 = '\r' == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); } rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 @@ -857,8 +859,8 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool d0, d1, d2; d0 = '=' == b[0]; ASSERT(d0 || !enabled); - d1 = -1 == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d1 = IV == b[1]; ASSERT(d1 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; @@ -884,8 +886,8 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool d0, d1, d2; d0 = '\r' == b[0]; ASSERT(d0 || !enabled); - d1 = -1 == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d1 = IV == b[1]; ASSERT(d1 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; @@ -910,9 +912,9 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool d0, d1, d2; - d0 = -1 == b[0]; ASSERT(d0 || !enabled); - d1 = -1 == b[1]; ASSERT(d1 || !enabled); - d2 = -1 == b[2]; ASSERT(d2 || !enabled); + d0 = IV == b[0]; ASSERT(d0 || !enabled); + d1 = IV == b[1]; ASSERT(d1 || !enabled); + d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; @@ -935,9 +937,9 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool c0 = -1 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = -1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = -1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = -1 == b[2]; ASSERT(d2 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; @@ -960,9 +962,9 @@ bool isState(bdlde::QuotedPrintableDecoder *object, int state) bool c0 = -1 == result; ASSERT(c0 || !enabled); bool c1 = 0 == numOut; ASSERT(c1 || !enabled); - bool d0 = -1 == b[0]; ASSERT(d0 || !enabled); - bool d1 = -1 == b[1]; ASSERT(d1 || !enabled); - bool d2 = -1 == b[2]; ASSERT(d2 || !enabled); + bool d0 = IV == b[0]; ASSERT(d0 || !enabled); + bool d1 = IV == b[1]; ASSERT(d1 || !enabled); + bool d2 = IV == b[2]; ASSERT(d2 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c1 && d0 && d1 && d2; diff --git a/groups/bdl/bdlde/bdlde_quotedprintableencoder.t.cpp b/groups/bdl/bdlde/bdlde_quotedprintableencoder.t.cpp index e8160a0f6d..7aa8a4def1 100644 --- a/groups/bdl/bdlde/bdlde_quotedprintableencoder.t.cpp +++ b/groups/bdl/bdlde/bdlde_quotedprintableencoder.t.cpp @@ -497,16 +497,16 @@ bool StateAccessor::isState(State state) const d3 = '=' == b[0]; ASSERT(d3 || !enabled); d4 = '0' == b[1]; ASSERT(d4 || !enabled); d5 = 'D' == b[2]; ASSERT(d5 || !enabled); - d6 = -1 == b[3]; ASSERT(d6 || !enabled); + d6 = IV == b[3]; ASSERT(d6 || !enabled); } else { d0 = '=' == b[0]; ASSERT(d0 || !enabled); d1 = '0' == b[1]; ASSERT(d1 || !enabled); d2 = 'D' == b[2]; ASSERT(d2 || !enabled); - d3 = -1 == b[3]; ASSERT(d3 || !enabled); - d4 = -1 == b[4]; ASSERT(d4 || !enabled); - d5 = -1 == b[5]; ASSERT(d5 || !enabled); - d6 = -1 == b[6]; ASSERT(d6 || !enabled); + d3 = IV == b[3]; ASSERT(d3 || !enabled); + d4 = IV == b[4]; ASSERT(d4 || !enabled); + d5 = IV == b[5]; ASSERT(d5 || !enabled); + d6 = IV == b[6]; ASSERT(d6 || !enabled); } rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 @@ -542,9 +542,9 @@ bool StateAccessor::isState(State state) const bb += 3; } else { - d0 = -1 == b[4]; ASSERT(d0 || !enabled); - d1 = -1 == b[5]; ASSERT(d1 || !enabled); - d2 = -1 == b[6]; ASSERT(d2 || !enabled); + d0 = IV == b[4]; ASSERT(d0 || !enabled); + d1 = IV == b[5]; ASSERT(d1 || !enabled); + d2 = IV == b[6]; ASSERT(d2 || !enabled); } bool d3 = '=' == bb[0]; ASSERT(d3 || !enabled); @@ -555,7 +555,7 @@ bool StateAccessor::isState(State state) const bool d7 = '9' == bb[2]; bool d8 = (d4 && d5) || (d6 && d7); ASSERT(d8 || !enabled); - bool d9 = -1 == bb[3]; ASSERT(d9 || !enabled); + bool d9 = IV == bb[3]; ASSERT(d9 || !enabled); rv = a0 && a1 && a2 && a3 && b0 && b1 && b2 && b3 && c0 && c3 && d0 && d1 && d2 && d3 && d8 && d9; diff --git a/groups/bdl/bdljsn/bdljsn_numberutil.t.cpp b/groups/bdl/bdljsn/bdljsn_numberutil.t.cpp index fa8cc326d6..d09f252d9c 100644 --- a/groups/bdl/bdljsn/bdljsn_numberutil.t.cpp +++ b/groups/bdl/bdljsn/bdljsn_numberutil.t.cpp @@ -3494,8 +3494,9 @@ int main(int argc, char *argv[]) EXPECT == result); \ } -#ifdef BSLS_PLATFORM_CMP_IBM - // IBM char is unsigned. +#if defined(BSLS_PLATFORM_CMP_IBM) || \ + (defined(BSLS_PLATFORM_CPU_ARM) && defined(BSLS_PLATFORM_OS_LINUX)) + // IBM and Linux ARM char is unsigned. TEST_TYPE(e_CHAR, signed char, Int64); #else TEST_TYPE(e_CHAR, char, Int64); diff --git a/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.h b/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.h index 975628b31a..e3a0e640bf 100644 --- a/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.h +++ b/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.h @@ -90,9 +90,9 @@ BSLS_IDENT("$Id: $") // Next, we scan input buffer one character at a time searching for the first // digit: // ``` -// char ch; -// do { -// ch = static_cast(buffer.sbumpc()); +// int res; +// while ((res = buffer.sbumpc()) != EOF) { +// char ch = static_cast(res); // // if ( (ch >= '0') && (ch <= '9') ) { // ``` @@ -109,7 +109,7 @@ BSLS_IDENT("$Id: $") // cout << "The answer is " << n << " indeed..." << endl; // break; // } -// } while ( ch != EOF ); +// } // } // ``` diff --git a/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.t.cpp b/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.t.cpp index 4da259dad3..2b49b5b957 100644 --- a/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.t.cpp +++ b/groups/bdl/bdlsb/bdlsb_fixedmeminstreambuf.t.cpp @@ -310,27 +310,27 @@ int main(int argc, char **argv) // Next, we scan input buffer one character at a time searching for the first // digit: // ``` - char ch; - do { - ch = static_cast(buffer.sbumpc()); + int res; + while ((res = buffer.sbumpc()) != EOF) { + char ch = static_cast(res); - if ( (ch >= '0') && (ch <= '9') ) { + if ( (ch >= '0') && (ch <= '9') ) { // ``` // Now, when the digit character is found, we return the first digit into the // input stream buffer for subsequent read: // ``` - buffer.sputbackc(ch); - int n; + buffer.sputbackc(ch); + int n; // ``` // Finally, we read out the whole number: // ``` - stream >> n; - ASSERT( 42 == n ); - cout << "The answer is " << n << " indeed..." << endl; - break; - } - } while ( ch != EOF ); - } + stream >> n; + ASSERT( 42 == n ); + cout << "The answer is " << n << " indeed..." << endl; + break; + } + } + } // ``` } break; diff --git a/groups/bsl/bslmt/bslmt_barrier.t.cpp b/groups/bsl/bslmt/bslmt_barrier.t.cpp index bb6af42c4e..ec56cc4c8e 100644 --- a/groups/bsl/bslmt/bslmt_barrier.t.cpp +++ b/groups/bsl/bslmt/bslmt_barrier.t.cpp @@ -288,13 +288,13 @@ extern "C" void *a(void *arg) extern "C" void *b(void *arg) { - char fillers[] = { -1, 0, 1}; + int fillers[] = { -1, 0, 1}; Control *c = (Control *)arg; void *mem = &c->d_b2; for (int i=0; id_numIterations; i++) { - char filler = fillers[i%3]; + int filler = fillers[i%3]; c->d_b1.wait(); c->d_b2.wait(); diff --git a/groups/bsl/bslmt/bslmt_threadutil.t.cpp b/groups/bsl/bslmt/bslmt_threadutil.t.cpp index 1b25faf809..dc37bdca2c 100644 --- a/groups/bsl/bslmt/bslmt_threadutil.t.cpp +++ b/groups/bsl/bslmt/bslmt_threadutil.t.cpp @@ -3281,7 +3281,8 @@ int main(int argc, char *argv[]) ASSERT(verbose); #ifdef PTHREAD_STACK_MIN - int stackSize = (IntPtr) PTHREAD_STACK_MIN; + ASSERT(PTHREAD_STACK_MIN <= INT_MAX); + int stackSize = (int) PTHREAD_STACK_MIN; #else int stackSize = 1 << 17; #endif diff --git a/groups/bsl/bsls/bsls_alignmentfromtype.t.cpp b/groups/bsl/bsls/bsls_alignmentfromtype.t.cpp index fe18125bdc..4c56fcd950 100644 --- a/groups/bsl/bsls/bsls_alignmentfromtype.t.cpp +++ b/groups/bsl/bsls/bsls_alignmentfromtype.t.cpp @@ -624,7 +624,7 @@ int main(int argc, char *argv[]) EXP_U1_ALIGNMENT = 8; #if defined(BSLS_PLATFORM_CPU_POWERPC) && defined(BSLS_PLATFORM_OS_LINUX) EXP_LONG_DOUBLE_ALIGNMENT = 8; -#elif defined(BSLS_PLATFORM_CPU_ARM) +#elif defined(BSLS_PLATFORM_CPU_ARM) && !defined(BSLS_PLATFORM_OS_LINUX) EXP_LONG_DOUBLE_ALIGNMENT = 8; #else EXP_LONG_DOUBLE_ALIGNMENT = 16; diff --git a/groups/bsl/bsls/bsls_alignmentimp.t.cpp b/groups/bsl/bsls/bsls_alignmentimp.t.cpp index 6dd8dfceae..b9cc15315c 100644 --- a/groups/bsl/bsls/bsls_alignmentimp.t.cpp +++ b/groups/bsl/bsls/bsls_alignmentimp.t.cpp @@ -419,7 +419,7 @@ int main(int argc, char *argv[]) EXP_U1_ALIGNMENT = 8; #if defined(BSLS_PLATFORM_CPU_POWERPC) && defined(BSLS_PLATFORM_OS_LINUX) EXP_LONG_DOUBLE_ALIGNMENT = 8; -#elif defined(BSLS_PLATFORM_CPU_ARM) +#elif defined(BSLS_PLATFORM_CPU_ARM) && !defined(BSLS_PLATFORM_OS_LINUX) EXP_LONG_DOUBLE_ALIGNMENT = 8; #else EXP_LONG_DOUBLE_ALIGNMENT = 16; diff --git a/groups/bsl/bsls/bsls_bsltestutil.t.cpp b/groups/bsl/bsls/bsls_bsltestutil.t.cpp index d702fecee2..1d09c50b82 100644 --- a/groups/bsl/bsls/bsls_bsltestutil.t.cpp +++ b/groups/bsl/bsls/bsls_bsltestutil.t.cpp @@ -2981,7 +2981,7 @@ int main(int argc, char *argv[]) { __LINE__, SCHAR_MAX, 0, "SCHAR_MAX" }, { __LINE__, SCHAR_MIN, 0, "SCHAR_MIN" }, { __LINE__, '\x50', 0, "positive signed character" }, - { __LINE__, '\xcc', 0, "negative signed character" }, + { __LINE__, -52, 0, "negative signed character" }, }; TestDriver::testCase3(&output, DATA, diff --git a/groups/bsl/bslx/bslx_instreamfunctions.t.cpp b/groups/bsl/bslx/bslx_instreamfunctions.t.cpp index 650ebe54fc..f878aa6274 100644 --- a/groups/bsl/bslx/bslx_instreamfunctions.t.cpp +++ b/groups/bsl/bslx/bslx_instreamfunctions.t.cpp @@ -805,8 +805,9 @@ int main(int argc, char *argv[]) { const MyPoint EXP(0, -1, BLUE); - const char buffer1[5] = { 0, 0, -1, -1, 2 }; // `MyPoint` (no ver) - const char buffer2[6] = { 1, 0, 0, -1, -1, 2 }; // version, `MyPoint` + const char IV = static_cast(-1); + const char buffer1[5] = { 0, 0, IV, IV, 2 }; // 'MyPoint' (no ver) + const char buffer2[6] = { 1, 0, 0, IV, IV, 2 }; // version, 'MyPoint' MyPoint p1, p2; // two default points MyInStream in1(buffer1, 5); // `buffer1` has no version byte diff --git a/groups/bsl/bslx/bslx_marshallingutil.t.cpp b/groups/bsl/bslx/bslx_marshallingutil.t.cpp index e0ae19696a..788224b0ac 100644 --- a/groups/bsl/bslx/bslx_marshallingutil.t.cpp +++ b/groups/bsl/bslx/bslx_marshallingutil.t.cpp @@ -3397,8 +3397,8 @@ int main(int argc, char *argv[]) { //-- -------- ------------------- { L_, 0, "\x00" }, { L_, 1, "\x01" }, - { L_, -1, "\xFF" }, - { L_, -2, "\xFE" }, + { L_, static_cast(-1), "\xFF" }, + { L_, static_cast(-2), "\xFE" }, { L_, 0x71, "\x71" }, { L_, static_cast(0x8C), "\x8C" }, }; @@ -3441,7 +3441,7 @@ int main(int argc, char *argv[]) { MarshallingUtil::putInt8(buffer + i, unsignedNumber); LOOP2_ASSERT(LINE, i, 0 == memcmp(exp, buffer + i, SIZE)); - static const T INITIAL_VALUES[] = { -99, +99 }; + static const T INITIAL_VALUES[] = {static_cast(-99), +99}; const int NUM_VALUES = static_cast(sizeof INITIAL_VALUES / sizeof *INITIAL_VALUES); diff --git a/thirdparty/inteldfp/LIBRARY/src/inteldfp/bid_conf.h b/thirdparty/inteldfp/LIBRARY/src/inteldfp/bid_conf.h index 80d1c73286..5380bbba7a 100644 --- a/thirdparty/inteldfp/LIBRARY/src/inteldfp/bid_conf.h +++ b/thirdparty/inteldfp/LIBRARY/src/inteldfp/bid_conf.h @@ -875,7 +875,7 @@ #else #if defined(__x86_64__) || defined(__ia64__) || defined(HPUX_OS_64) \ || defined(__sparc64) || defined(__sparcv9) || defined(__64BIT__) \ - || defined(__arm64__) + || defined(__arm64__) || defined(__aarch64__) #define BID_SIZE_LONG 8 #else #define BID_SIZE_LONG 4