./lang/clang, C language family frontend for LLVM

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 8.0.0, Package name: clang-8.0.0, Maintainer: pkgsrc-users

Low Level Virtual Machine (LLVM) is:

A compilation strategy designed to enable effective program optimization across
the entire lifetime of a program. LLVM supports effective optimization at
compile time, link-time (particularly interprocedural), run-time and offline
(i.e., after software is installed), while remaining transparent to developers
and maintaining compatibility with existing build scripts.

A virtual instruction set - LLVM is a low-level object code representation that
uses simple RISC-like instructions, but provides rich, language-independent,
type information and dataflow (SSA) information about operands. This combination
enables sophisticated transformations on object code, while remaining
light-weight enough to be attached to the executable. This combination is key to
allowing link-time, run-time, and offline transformations.

A compiler infrastructure - LLVM is also a collection of source code that
implements the language and compilation strategy. The primary components of the
LLVM infrastructure are the C & C++ front-end, a link-time optimization
framework with a growing set of global and interprocedural analyses and
transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM,
Thumb, IA-64 and SPARC architectures, a back-end which emits portable C
code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors.

Required to run:
[textproc/libxml2] [lang/llvm] [lang/python37]

Required to build:

Master sites:

SHA1: 3cb1e10af3955174a3ca5e560f674f24fac2a02f
RMD160: bd4dd523edcde136156b773cc66bfad1fc52dbc4
Filesize: 12566.863 KB

Version history: (Expand)

CVS history: (Expand)

   2019-06-06 21:57:59 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
clang: bump version in bl3
   2019-06-02 10:39:28 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
clang: updated to 8.0.0

Clang 8.0.0:

Major New Features

* Clang supports use of a profile remapping file, which permits profile data \ 
captured for one version of a program to be applied when building another \ 
version where symbols have changed (for example, due to renaming a class or \ 
namespace). See the UsersManual for details.

* Clang has new options to initialize automatic variables with a pattern. The \ 
default is still that automatic variables are uninitialized. This isn’t meant \ 
to change the semantics of C and C++. Rather, it’s meant to be a last resort \ 
when programmers inadvertently have some undefined behavior in their code. These \ 
options aim to make undefined behavior hurt less, which security-minded people \ 
will be very happy about.

* Improvements to Clang’s diagnostics

Non-comprehensive list of changes in this release
* The experimental feature Pretokenized Headers (PTH) was removed in its \ 
entirely from Clang. The feature did not properly work with about 1/3 of the \ 
possible tokens available and was unmaintained.
* The internals of libc++ include directory detection on MacOS have changed. \ 
Instead of running a search based on the -resource-dir flag, the search is now \ 
based on the path of the compiler in the filesystem. The default behaviour \ 
should not change. However, if you override -resource-dir manually and rely on \ 
the old behaviour you will need to add appropriate compiler flags for finding \ 
the corresponding libc++ include directory.
* The integrated assembler is used now by default for all MIPS targets.
* Improved support for MIPS N32 ABI and MIPS R6 target triples.
* Clang now includes builtin functions for bitwise rotation of common value \ 
sizes, such as: __builtin_rotateleft32
* Improved optimization for the corresponding MSVC compatibility builtins such \ 
as _rotl().
   2019-04-25 09:33:32 by Maya Rashish | Files touched by this commit (620)
Log message:
PKGREVISION bump for anything using python without a PYPKGPREFIX.

This is a semi-manual PKGREVISION bump.
   2019-03-27 07:24:22 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
clang-tools-extra: added version 7.0.1

Extra tools built using Clang's tooling APIs.
   2019-01-27 22:11:07 by Tobias Nygren | Files touched by this commit (2)
Log message:
llvm/DESCR: reword statements that are no longer true
   2019-01-23 16:44:34 by Jonathan Perkin | Files touched by this commit (4) | Package updated
Log message:
clang: Fix SunOS include paths.  Bump PKGREVISION.
   2018-12-23 01:11:40 by Adam Ciarcinski | Files touched by this commit (17) | Package updated
Log message:
llvm and friends: updated to 7.0.1

This release contains bug-fixes for the LLVM 7.0.0 release. This
release is API and ABI compatible with 7.0.0.
   2018-12-09 21:04:40 by Adam Ciarcinski | Files touched by this commit (44) | Package updated
Log message:
llvm: updated to 7.0.0

LLVM 7.0.0 Release

The release contains the work on trunk up to SVN revision 338536 plus
work on the release branch. It is the result of the community's work
over the past six months, including: function multiversioning in Clang
with the 'target' attribute for ELF-based x86/x86_64 targets, improved
PCH support in clang-cl, preliminary DWARF v5 support, basic support
for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray
and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer
support for OpenBSD, UBSan checks for implicit conversions, many
long-tail compatibility issues fixed in lld which is now production
ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and
diagtool. And as usual, many optimizations, improved diagnostics, and
bug fixes.

For more details, see the release notes:
https://llvm.org/releases/7.0.0/tools/c … Notes.html
https://llvm.org/releases/7.0.0/tools/c … Notes.html
https://llvm.org/releases/7.0.0/tools/l … Notes.html