1*da0073e9SAndroid Build Coastguard Worker #pragma once 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_STRING_2(x, y) TH_CONCAT_STRING_2_EXPAND(x, y) 4*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_STRING_2_EXPAND(x, y) #x #y 5*da0073e9SAndroid Build Coastguard Worker 6*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_STRING_3(x, y, z) TH_CONCAT_STRING_3_EXPAND(x, y, z) 7*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_STRING_3_EXPAND(x, y, z) #x #y #z 8*da0073e9SAndroid Build Coastguard Worker 9*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_STRING_4(x, y, z, w) TH_CONCAT_STRING_4_EXPAND(x, y, z, w) 10*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_STRING_4_EXPAND(x, y, z, w) #x #y #z #w 11*da0073e9SAndroid Build Coastguard Worker 12*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_2(x, y) TH_CONCAT_2_EXPAND(x, y) 13*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_2_EXPAND(x, y) x##y 14*da0073e9SAndroid Build Coastguard Worker 15*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_3(x, y, z) TH_CONCAT_3_EXPAND(x, y, z) 16*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_3_EXPAND(x, y, z) x##y##z 17*da0073e9SAndroid Build Coastguard Worker 18*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_4_EXPAND(x, y, z, w) x##y##z##w 19*da0073e9SAndroid Build Coastguard Worker #define TH_CONCAT_4(x, y, z, w) TH_CONCAT_4_EXPAND(x, y, z, w) 20