From c79966ea17aee9e95f085aaf9a6e366ed7ddc548 Mon Sep 17 00:00:00 2001 From: Julien Fischer Date: Mon, 23 Jan 2023 02:09:44 +1100 Subject: [PATCH] Convert README.clang to Markdown. README.clang: As above. Add a .md extension. README.md: RELEASE_NOTES: Conform to the above change. --- README.clang | 16 ---------------- README.clang.md | 22 ++++++++++++++++++++++ README.md | 2 +- RELEASE_NOTES | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) delete mode 100644 README.clang create mode 100644 README.clang.md diff --git a/README.clang b/README.clang deleted file mode 100644 index 85b6d0d5a..000000000 --- a/README.clang +++ /dev/null @@ -1,16 +0,0 @@ -This file documents how to use clang as the C compiler with Mercury. Support -for Mercury with clang has been tested on Linux, Mac OS X and Windows. To use -clang as the C compiler for Mercury invoke Mercury's configure script with the ---with-cc option set as follows: - - $ ./configure --with-cc=clang - -Note that the asm_fast* and reg* grades are not usable with clang as they rely -on GNU C extensions that clang does not support. - -Versions of LLVM (the underlying compiler infrastructure used by clang) before -about 2.9 contain bugs that require most C compiler optimizations to be -disabled when compiling Mercury generated C code with clang (i.e. the generated -C files have to be compiled at -O0). If you are using a more recent version of -LLVM then the configure script will automatically enable a higher level of -optimization. diff --git a/README.clang.md b/README.clang.md new file mode 100644 index 000000000..d2f51b7fd --- /dev/null +++ b/README.clang.md @@ -0,0 +1,22 @@ +Mercury with Clang +================== + +This file documents how to use `clang` as the C compiler with Mercury. +Support for Mercury with `clang` has been tested on Linux, macOS and Windows. + +To use `clang` as the C compiler for Mercury invoke Mercury's `configure` +script with the `--with-cc` option set as follows: + +``` + $ ./configure --with-cc=clang +``` + +Note that the `asm_fast*` and `reg*` grades are not usable with `clang` as they +rely on GNU C extensions that clang does not provide. + +Versions of LLVM (the underlying compiler infrastructure used by `clang`) before +about version 2.9 contain bugs that require most C compiler optimizations to be +disabled when compiling Mercury generated C code with `clang` (i.e. the +generated C files have to be compiled at `-O0`). If you are using a more recent +version of LLVM then the `configure` script will automatically enable a higher +level of optimization. diff --git a/README.md b/README.md index 2703d3d97..d2890725d 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Specific information is contained in individual README files: This backend works well with GCC but also works with: - * [Clang](README.clang) + * [Clang](README.clang.md) * High-level backend targets diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 3c80eec64..d65f2820f 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -162,7 +162,7 @@ later. Do not use gcc versions 2.96, 3.0 or 4.0; those versions have bugs that cause trouble for Mercury. If you are using gcc, you will need at least version 2.95 or higher, except on Mac OS X where you will need version 3.3 or higher. Visual C++ or clang may also be used as a C compiler. -(See README.MS-VisualC.md and README.clang for further details.) +(See README.MS-VisualC.md and README.clang.md for further details.) You will also need GNU make version 3.69 or higher. The Mercury distribution contains: