@@ -93,4 +93,34 @@ TEST_CASE("parseNumber<double>()") {
9393 checkDoubleNaN (" NaN" );
9494 checkDoubleNaN (" nan" );
9595 }
96+
97+ SECTION (" Overflow exponent with decimal part" ) { // Issue #2220
98+ checkDoubleNaN (
99+ " 0.000000000000000000000000000000000000000000000000"
100+ " 00000000000000000000000000000000000000000000000000"
101+ " 00000000000000000000000000000000000000000000000000"
102+ " 00000000000000000000000000000000000000000000000000"
103+ " 00000000000000000000000000000000000000000000000000"
104+ " 00000000000000000000000000000000000000000000000000"
105+ " 00000000000000000000000000000000000000000000000000"
106+ " 00000000000000000000000000000000000000000000000000"
107+ " 00000000000000000000000000000000000000000000000000"
108+ " 00000000000000000000000000000000000000000000000000"
109+ " 00000000000000000000000000000000000000000000000001" );
110+ }
111+
112+ SECTION (" Overflow exponent with integral part" ) {
113+ checkDoubleNaN (
114+ " 10000000000000000000000000000000000000000000000000"
115+ " 00000000000000000000000000000000000000000000000000"
116+ " 00000000000000000000000000000000000000000000000000"
117+ " 00000000000000000000000000000000000000000000000000"
118+ " 00000000000000000000000000000000000000000000000000"
119+ " 00000000000000000000000000000000000000000000000000"
120+ " 00000000000000000000000000000000000000000000000000"
121+ " 00000000000000000000000000000000000000000000000000"
122+ " 00000000000000000000000000000000000000000000000000"
123+ " 00000000000000000000000000000000000000000000000000"
124+ " 00000000000000000000000000000000000000000000000000" );
125+ }
96126}
0 commit comments