File: assert.go

package info (click to toggle)
c2go 0.26.11-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,052 kB
  • sloc: ansic: 6,037; sh: 82; makefile: 5
file content (32 lines) | stat: -rw-r--r-- 582 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package darwin

import (
	"fmt"
	"os"

	"github.com/elliotchance/c2go/noarch"
)

// BuiltinExpect handles __builtin_expect().
func BuiltinExpect(a, b int32) int32 {
	return noarch.BoolToInt(a != b)
}

// AssertRtn handles __assert_rtn().
func AssertRtn(
	functionName, filePath *byte,
	lineNumber int32,
	expression *byte,
) bool {
	fmt.Fprintf(
		os.Stderr,
		"Assertion failed: (%s), function %s, file %s, line %d.\n",
		noarch.CStringToString(expression),
		noarch.CStringToString(functionName),
		noarch.CStringToString(filePath),
		lineNumber,
	)
	os.Exit(134)

	return true
}