summaryrefslogtreecommitdiff
path: root/asm/listing.h
diff options
context:
space:
mode:
Diffstat (limited to 'asm/listing.h')
-rw-r--r--asm/listing.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/asm/listing.h b/asm/listing.h
index 6156df5a..351fc69e 100644
--- a/asm/listing.h
+++ b/asm/listing.h
@@ -130,7 +130,11 @@ extern uint64_t list_options, active_list_options;
* (with two bits left over for future use! This isn't particularly
* efficient code, but just about every instance of it should be
* fed a constant, so the entire function can be precomputed at
- * compile time.
+ * compile time. The only cases where the full computation is needed
+ * is when parsing the -L option or %pragma list options, neither of
+ * which is in any way performance critical.
+ *
+ * The character + represents ALL listing options.
*
* This returns 0 for invalid values, so that no bit is accessed
* for unsupported characters.
@@ -149,6 +153,8 @@ static inline const_func uint64_t list_option_mask(unsigned char x)
if (x > '9')
return 0;
x = x - '0' + 26*2;
+ } else if (x == '+') {
+ return ~UINT64_C(0);
} else {
return 0;
}