//===-- go-llvm-diagnostics.h - helper functions for errors/warnings  --------------===//
//
// Copyright 2018 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.
//
//===----------------------------------------------------------------------===//
//
// Utility/helper functions related to diagnostics.
//
//===----------------------------------------------------------------------===//

#ifndef GO_LLVM_DIAGNOSTICS_H
#define GO_LLVM_DIAGNOSTICS_H

extern bool go_be_saw_errors();
extern bool go_no_warn;
extern bool go_loc_show_column;

#endif // !defined(GO_LLVM_DIAGNOSTICS_H)
