#include <stdio.h>
#define PICK_SET_A
#ifdef PICK_SET_A
#define SET A
#endif
#ifdef PICK_SET_B
#define SET B
#endif
#define ENABLE_VAR_1_A 1
#define ENABLE_VAR_2_A 1
#define ENABLE_VAR_2_B 0
#define ENABLE_VAR_2_B 0
#define MACRO_RESOLVE__(M) M
#define MACRO_RESOLVE_(V, S) MACRO_RESOLVE__(ENABLE_VAR_ ## V ##_## S)
#define MACRO_RESOLVE(var,set) MACRO_RESOLVE_(var, set)
#define ENABLE_VAR_1 MACRO_RESOLVE(1, SET)
#define ENABLE_VAR_2 MACRO_RESOLVE(2, SET)
int main(int argc, char **argv) {
fprintf(stdout
, "VALUE: %d\n", ENABLE_VAR_1
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFBJQ0tfU0VUX0EKCiNpZmRlZiBQSUNLX1NFVF9BCiNkZWZpbmUgU0VUIEEKI2VuZGlmCiNpZmRlZiBQSUNLX1NFVF9CCiNkZWZpbmUgU0VUIEIKI2VuZGlmCgojZGVmaW5lIEVOQUJMRV9WQVJfMV9BICAgMQojZGVmaW5lIEVOQUJMRV9WQVJfMl9BICAgMQoKI2RlZmluZSBFTkFCTEVfVkFSXzJfQiAgIDAKI2RlZmluZSBFTkFCTEVfVkFSXzJfQiAgIDAKCiNkZWZpbmUgTUFDUk9fUkVTT0xWRV9fKE0pIE0KI2RlZmluZSBNQUNST19SRVNPTFZFXyhWLCBTKSBNQUNST19SRVNPTFZFX18oRU5BQkxFX1ZBUl8gIyMgViAjI18jIyBTKQojZGVmaW5lIE1BQ1JPX1JFU09MVkUodmFyLHNldCkgTUFDUk9fUkVTT0xWRV8odmFyLCBzZXQpCgojZGVmaW5lIEVOQUJMRV9WQVJfMSAgICAgTUFDUk9fUkVTT0xWRSgxLCBTRVQpCiNkZWZpbmUgRU5BQkxFX1ZBUl8yICAgICBNQUNST19SRVNPTFZFKDIsIFNFVCkKCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewoKICAgIGZwcmludGYoc3Rkb3V0LCAiVkFMVUU6ICVkXG4iLCBFTkFCTEVfVkFSXzEpOwoKICAgIHJldHVybiAwOwp9