Branch data Line data Source code
1 : : // go-dump.h -- Go frontend debug dumps. -*- C++ -*-
2 : :
3 : : // Copyright 2009 The Go Authors. All rights reserved.
4 : : // Use of this source code is governed by a BSD-style
5 : : // license that can be found in the LICENSE file.
6 : :
7 : : #ifndef GO_DUMP_H
8 : : #define GO_DUMP_H
9 : :
10 : : // This class manages different arguments to -fgo-dump-XXX. If you
11 : : // want to create a new dump, create a variable of this type with the
12 : : // name to use for XXX. You can then use is_enabled to see whether
13 : : // the -fgo-dump-XXX option was used on the command line.
14 : :
15 : : class Go_dump
16 : : {
17 : : public:
18 : : Go_dump(const char* name);
19 : :
20 : : // Whether this dump was enabled.
21 : : bool
22 : 4645 : is_enabled() const
23 : 4645 : { return this->is_enabled_; }
24 : :
25 : : // Enable a dump by name. Return true if the dump was found.
26 : : static bool
27 : : enable_by_name(const char*);
28 : :
29 : : private:
30 : : // The next dump. These are not in any order.
31 : : Go_dump* next_;
32 : : // The name of this dump.
33 : : const char* name_;
34 : : // Whether this dump was enabled.
35 : : bool is_enabled_;
36 : : };
37 : :
38 : : #endif // !defined(GO_DUMP_H)
|