modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/issue13559.go (about)

     1  // errorcheck
     2  
     3  // Copyright 2015 The Go Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  // Verify that error messages print meaningful values
     8  // for various extreme floating-point constants.
     9  
    10  package p
    11  
    12  // failure case in issue
    13  const _ int64 = 1e-10000 // ERROR "1e\-10000 truncated"
    14  
    15  const (
    16  	_ int64 = 1e10000000 // ERROR "integer too large"
    17  	_ int64 = 1e1000000  // ERROR "integer too large"
    18  	_ int64 = 1e100000   // ERROR "integer too large"
    19  	_ int64 = 1e10000    // ERROR "integer too large"
    20  	_ int64 = 1e1000     // ERROR "integer too large"
    21  	_ int64 = 1e100      // ERROR "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
    22  	_ int64 = 1e10
    23  	_ int64 = 1e1
    24  	_ int64 = 1e0
    25  	_ int64 = 1e-1       // ERROR "0\.1 truncated"
    26  	_ int64 = 1e-10      // ERROR "1e\-10 truncated"
    27  	_ int64 = 1e-100     // ERROR "1e\-100 truncated"
    28  	_ int64 = 1e-1000    // ERROR "1e\-1000 truncated"
    29  	_ int64 = 1e-10000   // ERROR "1e\-10000 truncated"
    30  	_ int64 = 1e-100000  // ERROR "1e\-100000 truncated"
    31  	_ int64 = 1e-1000000 // ERROR "1e\-1000000 truncated"
    32  )
    33  
    34  const (
    35  	_ int64 = -1e10000000 // ERROR "integer too large"
    36  	_ int64 = -1e1000000  // ERROR "integer too large"
    37  	_ int64 = -1e100000   // ERROR "integer too large"
    38  	_ int64 = -1e10000    // ERROR "integer too large"
    39  	_ int64 = -1e1000     // ERROR "integer too large"
    40  	_ int64 = -1e100      // ERROR "\-10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
    41  	_ int64 = -1e10
    42  	_ int64 = -1e1
    43  	_ int64 = -1e0
    44  	_ int64 = -1e-1       // ERROR "\-0\.1 truncated"
    45  	_ int64 = -1e-10      // ERROR "\-1e\-10 truncated"
    46  	_ int64 = -1e-100     // ERROR "\-1e\-100 truncated"
    47  	_ int64 = -1e-1000    // ERROR "\-1e\-1000 truncated"
    48  	_ int64 = -1e-10000   // ERROR "\-1e\-10000 truncated"
    49  	_ int64 = -1e-100000  // ERROR "\-1e\-100000 truncated"
    50  	_ int64 = -1e-1000000 // ERROR "\-1e\-1000000 truncated"
    51  )
    52  
    53  const (
    54  	_ int64 = 1.23456789e10000000 // ERROR "integer too large"
    55  	_ int64 = 1.23456789e1000000  // ERROR "integer too large"
    56  	_ int64 = 1.23456789e100000   // ERROR "integer too large"
    57  	_ int64 = 1.23456789e10000    // ERROR "integer too large"
    58  	_ int64 = 1.23456789e1000     // ERROR "integer too large"
    59  	_ int64 = 1.23456789e100      // ERROR "12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
    60  	_ int64 = 1.23456789e10
    61  	_ int64 = 1.23456789e1        // ERROR "12\.3457 truncated"
    62  	_ int64 = 1.23456789e0        // ERROR "1\.23457 truncated"
    63  	_ int64 = 1.23456789e-1       // ERROR "0\.123457 truncated"
    64  	_ int64 = 1.23456789e-10      // ERROR "1\.23457e\-10 truncated"
    65  	_ int64 = 1.23456789e-100     // ERROR "1\.23457e\-100 truncated"
    66  	_ int64 = 1.23456789e-1000    // ERROR "1\.23457e\-1000 truncated"
    67  	_ int64 = 1.23456789e-10000   // ERROR "1\.23457e\-10000 truncated"
    68  	_ int64 = 1.23456789e-100000  // ERROR "1\.23457e\-100000 truncated"
    69  	_ int64 = 1.23456789e-1000000 // ERROR "1\.23457e\-1000000 truncated"
    70  )
    71  
    72  const (
    73  	_ int64 = -1.23456789e10000000 // ERROR "integer too large"
    74  	_ int64 = -1.23456789e1000000  // ERROR "integer too large"
    75  	_ int64 = -1.23456789e100000   // ERROR "integer too large"
    76  	_ int64 = -1.23456789e10000    // ERROR "integer too large"
    77  	_ int64 = -1.23456789e1000     // ERROR "integer too large"
    78  	_ int64 = -1.23456789e100      // ERROR "\-12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
    79  	_ int64 = -1.23456789e10
    80  	_ int64 = -1.23456789e1        // ERROR "\-12\.3457 truncated"
    81  	_ int64 = -1.23456789e0        // ERROR "\-1\.23457 truncated"
    82  	_ int64 = -1.23456789e-1       // ERROR "\-0\.123457 truncated"
    83  	_ int64 = -1.23456789e-10      // ERROR "\-1\.23457e\-10 truncated"
    84  	_ int64 = -1.23456789e-100     // ERROR "\-1\.23457e\-100 truncated"
    85  	_ int64 = -1.23456789e-1000    // ERROR "\-1\.23457e\-1000 truncated"
    86  	_ int64 = -1.23456789e-10000   // ERROR "\-1\.23457e\-10000 truncated"
    87  	_ int64 = -1.23456789e-100000  // ERROR "\-1\.23457e\-100000 truncated"
    88  	_ int64 = -1.23456789e-1000000 // ERROR "\-1\.23457e\-1000000 truncated"
    89  )