// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build !race

// Dummy race detection API, used when not built with -race.

package runtime

import (
	
)

const raceenabled = false

// Because raceenabled is false, none of these functions should be called.

func raceReadObjectPC( *_type,  unsafe.Pointer, ,  uintptr)  { throw("race") }
func raceWriteObjectPC( *_type,  unsafe.Pointer, ,  uintptr) { throw("race") }
func raceinit() (uintptr, uintptr)                                          { throw("race"); return 0, 0 }
func racefini()                                                             { throw("race") }
func raceproccreate() uintptr                                               { throw("race"); return 0 }
func raceprocdestroy( uintptr)                                           { throw("race") }
func racemapshadow( unsafe.Pointer,  uintptr)                       { throw("race") }
func racewritepc( unsafe.Pointer, ,  uintptr)                 { throw("race") }
func racereadpc( unsafe.Pointer, ,  uintptr)                  { throw("race") }
func racereadrangepc( unsafe.Pointer, , ,  uintptr)         { throw("race") }
func racewriterangepc( unsafe.Pointer, , ,  uintptr)        { throw("race") }
func raceacquire( unsafe.Pointer)                                       { throw("race") }
func raceacquireg( *g,  unsafe.Pointer)                               { throw("race") }
func raceacquirectx( uintptr,  unsafe.Pointer)                   { throw("race") }
func racerelease( unsafe.Pointer)                                       { throw("race") }
func racereleaseg( *g,  unsafe.Pointer)                               { throw("race") }
func racereleaseacquire( unsafe.Pointer)                                { throw("race") }
func racereleaseacquireg( *g,  unsafe.Pointer)                        { throw("race") }
func racereleasemerge( unsafe.Pointer)                                  { throw("race") }
func racereleasemergeg( *g,  unsafe.Pointer)                          { throw("race") }
func racefingo()                                                            { throw("race") }
func racemalloc( unsafe.Pointer,  uintptr)                               { throw("race") }
func racefree( unsafe.Pointer,  uintptr)                                 { throw("race") }
func racegostart( uintptr) uintptr                                        { throw("race"); return 0 }
func racegoend()                                                            { throw("race") }
func racectxend( uintptr)                                            { throw("race") }