jr@foros1.UUCP (John Rogers) (09/22/84)
Hi. As promised (a *long* time ago), here's my updated list of predefined CPP symbols, which are generally used to allow machine and/or operating system specific code to be #ifdef'ed. Very few of these are actually documented anywhere; the purpose of this list is to try to take some of the "folklore" and make the information available to everyone. The data here is collected from a number of sources; please see the "acknowledgements" list at the end of this article. I don't have any data on anything earlier than V7. THE LIST: name description availability -------------- -------------------------------------- ----------------------- __DATE__ date of compilation Decus C __FILE__ current source file name most CPP's __LINE__ line number within current source file most CPP's __PAGE__ page number within source Data General C's AOSVS Data General AOS/VS operating system Data General C's aosvs Data General AOS/VS operating system Data General C's cpm CP/M operating system "p" in Dr. Dobbs Jul-84 DATAGENERAL Data General hardware Data General C's datageneral Data General hardware Data General C's decus Decus C (PDP-11 - RSX & RT-11) Decus C DGUX Data General UNIX (DG/UX) DG/UX dgux Data General UNIX (DG/UX) DG/UX gcos Honeywell 6000 GCOS op.sys. AT&T C compilers? ibm IBM (and Amdahl?) mainframes AT&T C compilers? interdata Interdata 8/32 AT&T C compilers? hp9000s200 Hewlitt Packard 9000 HP-UX hp9000s500 Hewlitt Packard 9000 HP-UX kl10 DEC-20 KL10 processor U.Utah PCC? lint UNIX's lint most UNIXes m68000 Motorola M68000 family CCI's 68000 m68k Motorola M68000 family Motorola SysV port mbb ???? BBN C70 BBN UNIX? mc68000 Motorola MC68000 Sun Microsystems, Fortune, other ports mert Multi-Executive Real Time?? AT&T C compilers? nomacarg CPP doesn't support macro args Decus C ON_SEL Gould Concept 32 (obsolete OS?) ? orion ORION supermicro (4.1c BSD) ORION UNIX os IBM's OS/360 and /370 AT&T C compilers? PDP11 DEC's PDP-11 minicomputers UNIX V7 pdp11 DEC's PDP-11 minicomputers BTL C/UNIX, Decus C for RSX and RT-11, early Plexus ports? PWB Programmer's Workbench PWB/UNIX RES Bell Labs' Comp. Sci. Research Group? AT&T UNIX rsx DEC's RSX operating system on PDP-11 Decus C for RSX RT UNIX/RT (real time) UNIX/RT sel Gould Concept 32 ? selport Gould Concept 32 ? sun SUN Microsystems ? TM_DPS6 target machine is Honeywell DPS 6 Waterloo compilers TM_L66 target machine is Honeywell Level 66 Waterloo compilers tops20 TOPS-20 operating system for DEC-20 U.Utah PCC? TS UNIX/TS (timesharing system) AT&T TS_GCOS target system is Honeywell GCOS 8 Waterloo compilers TS_MOD400 target system is Honeywell GCOS 6 mod 400 Waterloo compilers tss IBM's Time Sharing System (for 360/370) AT&T? u370 UNIX on IBM/370? AT&T u3b UNIX on AT&T 3B-20 AT&T u3b2 UNIX on AT&T 3B-2 AT&T u3b5 UNIX on AT&T 3B-5 AT&T univac Univac/1100 UNIX AT&T? unix The you-know-what operating system most UNIX's vax DEC VAX-11 minicomputers (UNIX or VMS) UNIX, VAX-11 C, some early Unisoft 68k's vax11c DEC's VAX-11 C compiler VAX-11 C vms DEC's VMS operating system for VAXen VAX-11 C z8000 Zilog Z8000 Zilog C compiler? MY LIST OF SUGGESTED ADDITIONS: name description -------------- --------------------------------------------------------------- ccpm86 Concurrent CP/M-86 cpm68k CP/M-68K cpm80 CP/M-80 cpm86 CP/M-86 gnu Stallman's (sp?) GNU (GNU's Not Unix) i8080 Intel 8080-compatible: 8080, 8085, Z80 i8086 Intel 8086 and 8088 processors i80186 Intel 80186 and friends i80286 Intel 80286 and friends mc68008 Motorola MC68008 processor mc68010 Motorola MC68010 processor mc68020 Motorola MC68020 processor mpm MP/M msdos Microsoft's MS-DOS operating system pcdos IBM and/or Microsoft's PC-DOS operating system xinu Purdue's XINU (Xinu Is Not Unix) z80 Zilog Z80 z800 Zilog Z800, if they ever ship any ACKNOWLEDGEMENTS: The data in the list is from the one in Steve Bourne's "The UNIX System", and from Usenet articles and/or mail messages from the people listed below. If you mailed me something and don't see your name listed, then the mail got lost (so please resend it). DBrown@HI-MULTICS.ARPA, Mike Brzustowicz <mab@aids-unix.ARPA>, John Gilmore <gnu@sun.UUCP>, Bob Gray <bob@hwcs.UUCP>, Tony Hansen <hansen@pegasus.UUCP>, Guy Harris <guy@rlgvax.UUCP>, Bob Larson <BLARSON@USC-ECLB.ARPA>, J Lepreau <j@utah-cs.UUCP>, Michael Meissner <mrm@datagen.UUCP>, Martin Minow <minow@decvax.UUCP>, Craig Partridge <craig@loki.UUCP>, John Rogers <jr@foros1.UUCP>, George Rosenberg <george@idis.UUCP>, Donn Terry <donn@hp-dcd.UUCP>, Tom Truscott <trt@rti-sel.UUCP>, Mike Zaleski <mzal@pegasus.UUCP> I plan to maintain this list, so if anyone has any additions or corrections, please send them to me at: UUCP: {ihnp4,cbosgd,harpo,dual,amd}!fortune!foros1!jr ARPANET: hpda!fortune!foros1!jr@Berkeley (untested) ENET: RHEA::DECWRL::"amd!fortune!foros1!jr" (untested) Happy hacking! -- JR (John Rogers) ...ihnp4!fortune!foros1!jr also fortune!jr and proper!jr
jr@foros1.UUCP (John Rogers) (10/09/84)
Hi. Here's the latest list of predefined CPP symbols (at least, the ones I know of). These are generally used to allow machine and/or operating system specific code to be #ifdef'ed. Very few of these are actually documented anywhere; the purpose of this list is to try to take some of the "folklore" and make the information available to everyone. The data here is collected from a number of sources; please see the "acknowledgements" list at the end of this article (if you sent me something and don't see your name listed, better send it again). I don't have any data on anything earlier than V7. THE LIST: name description availability -------------- -------------------------------------- ----------------------- __DATE__ date of compilation Decus C __FILE__ current source file name most CPP's __LINE__ line number within current source file most CPP's __PAGE__ page number within source Data General C's aegis Apollo's supervisor (runs AUX) Apollo's AUX AOSVS Data General AOS/VS operating system Data General C's aosvs Data General AOS/VS operating system Data General C's apollo Apollo's UNIX (AUX) Apollo's AUX cpm CP/M operating system "p" in Dr. Dobbs Jul-84 DATAGENERAL Data General hardware Data General C's datageneral Data General hardware Data General C's decus Decus C (PDP-11 - RSX & RT-11) Decus C DGUX Data General UNIX (DG/UX) DG/UX dgux Data General UNIX (DG/UX) DG/UX ebcdic IBM's EBCDIC (non-ASCII) char. set UBC's C/370 for MTS (in stdio.h) gcos Honeywell 6000 GCOS op.sys. AT&T C compilers? hp9000s200 Hewlitt Packard 9000 HP-UX hp9000s500 Hewlitt Packard 9000 HP-UX I8086 XENIX for the NABU 1600 Altos ibm IBM (and Amdahl?) mainframe op. systems AT&T C compilers? ibm370 IBM (and Amdahl?) mainframes UBC's C/370 for MTS (in stdio.h) interdata Interdata 7/32, 8/32, Perkin-Elmer 3200 AT&T C compilers?, Perkin-Elmer Edition VII (V7) & XELOS (System 5.2) kl10 DEC-20 KL10 processor U.Utah PCC? lint UNIX's lint most UNIXes m68000 Motorola M68000 family CCI's 68000, UniSoft (system 3) m68k Motorola M68000 family Motorola SysV port mbb ???? BBN C70 BBN UNIX? mc68000 Motorola MC68000 Sun Microsystems, Fortune, other ports mert Multi-Executive Real Time?? AT&T C compilers? mts Michigan Terminal System UBC's C/370 for MTS (in stdio.h) nomacarg CPP doesn't support macro args Decus C ns32000 NS32000 parts (ns32016, ns32032, etc) National Semi. ON_SEL Gould Concept 32 (obsolete OS?) ? orion ORION supermicro (4.1c BSD) ORION UNIX os IBM's OS/360 and /370 AT&T C compilers? PDP11 DEC's PDP-11 minicomputers UNIX V7 pdp11 DEC's PDP-11 minicomputers BTL C/UNIX, Decus C for RSX and RT-11, early Plexus ports, UniSoft V7 for Codata pyr Pyramid 90X Pyramid's CPP? pe3200 Perkin-Elmer 3200 series Perkin-Elmer XELOS (System 5.2) PWB Programmer's Workbench PWB/UNIX RES Research variant of UNIX AT&T UNIX rsx DEC's RSX operating system on PDP-11 Decus C for RSX RT UNIX/RT (real time variant of UNIX) UNIX/RT sel Gould Concept 32 ? selport Gould Concept 32 ? sun Sun Microsystems ? tahoe CCI Power 6/32 proprietary supermini CCI TM_DPS6 target machine is Honeywell DPS 6 Waterloo compilers TM_L66 target machine is Honeywell Level 66 Waterloo compilers tops20 TOPS-20 operating system for DEC-20 U.Utah PCC? TS UNIX/TS (timesharing system) AT&T TS_GCOS target system is Honeywell GCOS 8 Waterloo compilers TS_MOD400 target system is Honeywell GCOS 6 mod 400 Waterloo compilers tss IBM's Time Sharing System (for 360/370) AT&T? u370 UNIX on IBM/370? AT&T u3b UNIX on AT&T 3B-20 AT&T u3b2 UNIX on AT&T 3B-2 AT&T u3b5 UNIX on AT&T 3B-5 AT&T univac Univac/1100 UNIX AT&T? unix The you-know-what operating system most UNIX's V7 UniPlus+ Version 7 UNIX UniSoft vax DEC VAX-11 minicomputers (UNIX or VMS) UNIX, VAX-11 C, some early Unisoft 68k's vax11c DEC's VAX-11 C compiler VAX-11 C VIII UniPlus+ System III UNIX UniSoft vms DEC's VMS operating system for VAXen VAX-11 C VV UniPlus+ System V, release 1 UNIX UniSoft z8000 Zilog Z8000 Zilog C compiler? MY LIST OF SUGGESTED ADDITIONS: name description -------------- --------------------------------------------------------------- bds BD Software's C compiler (BDS C) for CP/M-80 ccpm86 Concurrent CP/M-86 cpm68k CP/M-68K cpm80 CP/M-80 cpm86 CP/M-86 gnu Stallman's (sp?) GNU (GNU's Not Unix) i8080 Intel 8080-compatible: 8080, 8085, Z80 i8086 Intel 8086 and 8088 processors i80186 Intel 80186 and friends i80286 Intel 80286 and friends mc68008 Motorola MC68008 processor mc68010 Motorola MC68010 processor mc68020 Motorola MC68020 processor mpm MP/M msdos Microsoft's MS-DOS operating system pcdos IBM and/or Microsoft's PC-DOS operating system power5 CCI's Power/5 68000-based computers xinu Purdue's XINU (Xinu Is Not Unix) z80 Zilog Z80 z800 Zilog Z800, if they ever ship any ACKNOWLEDGEMENTS: The data in the list is from the one in Steve Bourne's "The UNIX System", the CPP(1) man page in System V, and from Usenet articles and/or mail messages from the people listed below. If you mailed me something and don't see your name listed, then the mail got lost (so please resend it). DBrown@HI-MULTICS.ARPA, Mike Brzustowicz <mab@aids-unix.ARPA>, John Gilmore <gnu@sun.UUCP>, Bob Gray <bob@hwcs.UUCP>, Tony Hansen <hansen@pegasus.UUCP>, Guy Harris <guy@rlgvax.UUCP>, <hugh@hcrvax.UUCP>, Sam Kendall <kendall@wjh12.UUCP>, Bob Larson <BLARSON@USC-ECLB.ARPA>, J Lepreau <j@utah-cs.UUCP>, manis@ucb-vision.UUCP, Dave Mason <dave@utcsrgv.UUCP>, Michael Meissner <mrm@datagen.UUCP>, Martin Minow <minow@decvax.UUCP>, Landon C. Noll <chongo@nsc.UUCP>, Joe Orost <joe@petsd.UUCP>, psc@zmi.UUCP, Craig Partridge <craig@loki.UUCP>, Jim Rees <rees@apollo.UUCP,> John Rogers <jr@foros1.UUCP>, George Rosenberg <george@idis.UUCP>, Philip K. Ronzone <phil@unisoft.UUCP>, Donn Terry <donn@hp-dcd.UUCP>, Chris Torek <chris@umcp-cs.UUCP>, Tom Truscott <trt@rti-sel.UUCP>, Mike Zaleski <mzal@pegasus.UUCP> I plan to maintain this list, so if anyone has any additions or corrections, please send them to me at: UUCP: {ihnp4,cbosgd,harpo,dual,amd}!fortune!foros1!jr ARPANET: hpda!fortune!foros1!jr@Berkeley (untested) ENET: RHEA::DECWRL::"amd!fortune!foros1!jr" (untested) Happy hacking! -- JR (John Rogers) ...ihnp4!fortune!foros1!jr also fortune!jr and proper!jr