/Users/harlanhaskins/macro-good.c:
1
#include <stdio.h>
2

2
3
#define MY_MACRO(x, y) do { \
2
4
    typeof(x) __x = (x); \
2
5
    typeof(y) __y = (y); \
2
6
    if (__x == 10) \
1
7
      printf("%d", __x * __y); \
2
8
} while (0)
9

1
10
int main() {
1
11
  ;MY_MACRO(10, 10); MY_MACRO(20, 10); // line 11
1
3
#define MY_MACRO(x, y) do { \
1
4
    typeof(x) __x = (x); \
1
5
    typeof(y) __y = (y); \
1
6
    if (__x == 10) \
1
7
      printf("%d", __x * __y); \
1
8
} while (0)
  ;MY_MACRO(10, 10); MY_MACRO(20, 10); // line 11
1
3
#define MY_MACRO(x, y) do { \
1
4
    typeof(x) __x = (x); \
1
5
    typeof(y) __y = (y); \
1
6
    if (__x == 10) \
0
7
      printf("%d", __x * __y); \
1
8
} while (0)
1
12
  return 0;
1
13
}