diff options
author | Doug Kwan <dougkwan@google.com> | 2010-01-11 07:39:36 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2010-01-11 07:39:36 +0000 |
commit | e96c574bdc02a1bda4fc708ae5d2233e3385f0af (patch) | |
tree | 4c5a23eba1b8df66da346bd853cb302b7dbfa86c /gold/options.h | |
parent | ba4d53bf2b70e0c5adf55bd3e4f815651d372c14 (diff) | |
download | gdb-e96c574bdc02a1bda4fc708ae5d2233e3385f0af.zip gdb-e96c574bdc02a1bda4fc708ae5d2233e3385f0af.tar.gz gdb-e96c574bdc02a1bda4fc708ae5d2233e3385f0af.tar.bz2 |
2010-01-10 Doug Kwan <dougkwan@google.com>
* options.h (DEFINE_var): Use parentheses around argument varname__
in macro body to avoid any unintended subsequent substitutions.
Diffstat (limited to 'gold/options.h')
-rw-r--r-- | gold/options.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gold/options.h b/gold/options.h index b22060a..ab4a9e6 100644 --- a/gold/options.h +++ b/gold/options.h @@ -244,12 +244,18 @@ struct Struct_special : public Struct_var // var() and set_var() as General_options methods. Arguments as are // for the constructor for One_option. param_type__ is the same as // type__ for built-in types, and "const type__ &" otherwise. +// +// When we define the linker command option "assert", the macro argument +// varname__ of DEFINE_var below will be replaced by "assert". On Mac OSX +// assert.h is included implicitly by one of the library headers we use. To +// avoid unintended macro substitution of "assert()", we need to enclose +// varname__ with parenthese. #define DEFINE_var(varname__, dashes__, shortname__, default_value__, \ default_value_as_string__, helpstring__, helparg__, \ optional_arg__, type__, param_type__, parse_fn__) \ public: \ param_type__ \ - varname__() const \ + (varname__)() const \ { return this->varname__##_.value; } \ \ bool \ |