On Tue, 2023-03-21 at 11:56 +0800, Tianrui Zhao wrote:
+/* Tracepoints for VM exits */Looks like there shouldn't be "(" and ")".
+#define kvm_trace_symbol_exit_types \
+ ({ KVM_TRACE_EXIT_IDLE, "IDLE" }, \
+ { KVM_TRACE_EXIT_CACHE, "CACHE" }, \
+ { KVM_TRACE_EXIT_SIGNAL, "Signal" })
+#define kvm_trace_symbol_aux_op \Likewise.
+ ({ KVM_TRACE_AUX_RESTORE, "restore" }, \
+ { KVM_TRACE_AUX_SAVE, "save" }, \
+ { KVM_TRACE_AUX_ENABLE, "enable" }, \
+ { KVM_TRACE_AUX_DISABLE, "disable" }, \
+ { KVM_TRACE_AUX_DISCARD, "discard" })
See the test robot report, and https://godbolt.org/z/bE8q97z1o.
The lesson: if a text book claims "you should always wrap the content of
a macro in ( ... )", we should burn it in the fire! :)