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

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

Branch: CURRENT, Version: 9.0.1, Package name: clang-9.0.1, 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: 0d72ce018c85c54fc709c7da71d3dd1463af0bfc
RMD160: 424b98b3b6252f119fc06c8dfbc8fb1344531e88
Filesize: 13137.48 KB

Version history: (Expand)

CVS history: (Expand)

   2020-01-26 18:32:28 by Roland Illig | Files touched by this commit (981)
Log message:
all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
   2019-12-29 16:31:23 by Adam Ciarcinski | Files touched by this commit (35) | Package updated
Log message:
llvm: updated to 9.0.1

9.0.1 is a bug-fix release.
   2019-11-03 20:04:09 by Roland Illig | Files touched by this commit (159)
Log message:
lang: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
   2019-11-03 12:55:53 by Kamil Rytarowski | Files touched by this commit (3)
Log message:
lld: Cherry-pick NetBSD LLD pending patch from review

[LLD] Add NetBSD support as a new flavor of LLD (nb.lld)
   2019-10-24 13:40:00 by Tobias Nygren | Files touched by this commit (5) | Package updated
Log message:
catch up with llvm relicensing and bump PKGREVISIONs
   2019-10-21 13:47:16 by Robert Swindells | Files touched by this commit (2)
Log message:
Fixed C++ constructors on aarch64.
   2019-10-21 13:14:44 by Robert Swindells | Files touched by this commit (1)
Log message:
Make C++ constructors work for aarch64.

Discussed here:

   2019-10-19 15:54:30 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
clang: updated to 9.0.0

Major New Features
* Experimental support for C++ for OpenCL has been added.

Non-comprehensive list of changes in this release
* The __VERSION__ macro has been updated. Previously this macro contained the \ 
string ‘4.2.1 Compatible’ to achieve compatibility with GCC 4.2.1, but that \ 
should no longer be necessary. However, to retrieve Clang’s version, please \ 
favor the one of the macro defined in clang namespaced version macros.

New Compiler Flags
* -ftime-trace and ftime-trace-granularity=N Emits flame chart style compilation \ 
time report in chrome://tracing and speedscope.app compatible format. A trace \ 
.json file is written next to the compiled object file, containing hierarchical \ 
time information about frontend activities (file parsing, template \ 
instantiation) and backend activities (modules and functions being optimized, \ 
optimization passes).

Modified Compiler Flags
* clang -dumpversion now returns the version of Clang itself.

Windows Support
* clang-cl now treats non-existent files as possible typos for flags, clang-cl \ 
/diagnostic:caret /c test.cc for example now produces clang: error: no such file \ 
or directory: '/diagnostic:caret'; did you mean '/diagnostics:caret'?
* clang now parses the __declspec(allocator) specifier and generates debug \ 
information, so that memory usage can be tracked in Visual Studio.
* The -print-search-dirs option now separates elements with semicolons, as is \ 
the norm for path lists on Windows
* Improved handling of dllexport in conjunction with explicit template \ 
instantiations for MinGW, to allow building a shared libc++ for MinGW without \ 
--export-all-symbols to override the dllexport attributes