I saw this code snippet in a recent ACM journal. How does it do what the comment says it does? Is __PMC_CPU a macro defined prior to the snippet shown? How would __PMC_CPUS() be used?
Code:
Figure 2: Translation of constants into descriptive names.
/*
* Kinds of CPUs known
*/
#define __PMC_CPUS() \
__PMC_CPU(AMD_K7, “AMD K7”) \
__PMC_CPU(AMD_K8, “AMD K8”) \
__PMC_CPU(INTEL_P5, “Intel Pentium”) \
__PMC_CPU(INTEL_P6, “Intel Pentium Pro”) \
__PMC_CPU(INTEL_CL, “Intel Celeron”) \
__PMC_CPU(INTEL_PII, “Intel Pentium II”) \
__PMC_CPU(INTEL_PIII, “Intel Pentium III”) \
__PMC_CPU(INTEL_PM, “Intel Pentium M”) \
__PMC_CPU(INTEL_PIV, “Intel Pentium IV”)