// Step 1950: CompilerPhaseRouter // // t1: registerRoute and routeCount // t2: routePhase returns correct phaseId // t3: routePhase throws on unregistered kind with no fallback // t4: fallback phaseId used when no route matches // t5: hasRoute and registeredKinds #include "CompilerPhaseRouter.h" #include namespace ws = whetstone; static int p=0,f=0; #define T(n) { std::cout<<" "<<#n<<"... "; } #define P() { std::cout<<"PASS\n"; ++p; } #define F(m) { std::cout<<"FAIL: "< 0 ? 1 : 0; }