# man > c89-gcc(1)

---
type: CommandReference
command: c89
mode: man
section: 1
source: man-pages
---

## Quick Reference

- `c89 file.c` — Compile a C source file using ANSI C.
- `c89 -pedantic file.c` — Compile with strict ANSI conformance.
- `c89 -pedantic-errors file.c` — Compile and treat pedantic warnings as errors.
- `c89 -D_ANSI_SOURCE file.c` — Compile with ANSI source definitions.

## Name

c89 — ANSI (1989) C compiler

## Synopsis

`c89 [-pedantic] [-pedantic-errors] [-D_ANSI_SOURCE] options ...`

Calls the C compiler (cc) with the given options, using a C language environment compatible with the -ansiC specification. This includes proper handling of trigraphs, disabling non-ANSI compiler features (such as asm, inline, typeof, and the `$` character in identifiers), and definition of the preprocessor symbol `__STRICT_ANSI__`.

## Options

- `-pedantic` — Issue all warnings required by strict ANSI C.
- `-pedantic-errors` — Issue errors instead of warnings for pedantic violations.
- `-D_ANSI_SOURCE` — Define the preprocessor macro `_ANSI_SOURCE`, enabling ANSI-specific source definitions.

## See Also

[cc(1)](https://www.chedong.com/phpMan.php/man/cc/1/markdown) — for a description of all options.

## Notes

- Appeared in NetBSD 1.4.
- Since `c89` is a shell wrapper script to `cc`, compile errors are prefixed by `cc:`.