diff options
Diffstat (limited to 'gcc/go/gofrontend/go-dump.h')
-rw-r--r-- | gcc/go/gofrontend/go-dump.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/go-dump.h b/gcc/go/gofrontend/go-dump.h new file mode 100644 index 0000000..13639bc --- /dev/null +++ b/gcc/go/gofrontend/go-dump.h @@ -0,0 +1,38 @@ +// 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) |