blob: 13639bc1215da87c5340b3bd53d023aa955dab3a [file] [log] [blame]
// go-dump.h -- Go frontend debug dumps. -*- C++ -*-
// Copyright 2009 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.
#ifndef GO_DUMP_H
#define GO_DUMP_H
// This class manages different arguments to -fgo-dump-XXX. If you
// want to create a new dump, create a variable of this type with the
// name to use for XXX. You can then use is_enabled to see whether
// the -fgo-dump-XXX option was used on the command line.
class Go_dump
{
public:
Go_dump(const char* name);
// Whether this dump was enabled.
bool
is_enabled() const
{ return this->is_enabled_; }
// Enable a dump by name. Return true if the dump was found.
static bool
enable_by_name(const char*);
private:
// The next dump. These are not in any order.
Go_dump* next_;
// The name of this dump.
const char* name_;
// Whether this dump was enabled.
bool is_enabled_;
};
#endif // !defined(GO_DUMP_H)