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 4646 : is_enabled() const
23 4646 : { 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)
|