Next | Query returned 171 messages, browsing 61 to 70 | Previous

History of commit frequency

CVS Commit History:


   2020-05-07 22:21:41 by Roland Illig | Files touched by this commit (2)
Log message:
lang/clang: fix detection of libstdc++

In the previous commit, I had missed a negation in the empty(...)
condition.

PKGREVISION++ to notify clang users of the fix.

https://mail-index.netbsd.org/pkgsrc-users/2020/05/07/msg031132.html
   2020-04-26 12:19:27 by Roland Illig | Files touched by this commit (1)
Log message:
lang/clang: avoid unnecessary shell command

The "echo NO" is not necessary since the output of the shell command is
immediately inspected. Therefore there is no need to use the :sh
modifier.
   2020-04-18 12:49:57 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
clang: better PLIST
   2020-04-18 09:53:38 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
clang: updated to 10.0.0

What’s New in Clang 10.0.0?

Some of the major new features and improvements to Clang are listed here. \ 
Generic improvements to Clang as a whole or to its underlying infrastructure are \ 
described first, followed by language-specific sections with improvements to \ 
Clang’s support for those languages.

Major New Features

clang used to run the actual compilation in a subprocess (“clang -cc1”). Now \ 
compilations are done in-process by default. -fno-integrated-cc1 restores the \ 
former behavior. The -v and -### flags will print “(in-process)” when \ 
compilations are done in-process.
Concepts support. Clang now supports C++2a Concepts under the -std=c++2a flag.

Improvements to Clang’s diagnostics

-Wtautological-overlap-compare will warn on negative numbers and non-int types.
-Wtautological-compare for self comparisons and -Wtautological-overlap-compare \ 
will now look through member and array access to determine if two operand \ 
expressions are the same.
-Wtautological-bitwise-compare is a new warning group. This group has the \ 
current warning which diagnoses the tautological comparison of a bitwise \ 
operation and a constant. The group also has the new warning which diagnoses \ 
when a bitwise-or with a non-negative value is converted to a bool, since that \ 
bool will always be true.
-Wbitwise-conditional-parentheses will warn on operator precedence issues when \ 
mixing bitwise-and (&) and bitwise-or (|) operator with the conditional \ 
operator (?:).
-Wrange-loop-analysis got several improvements. It no longer warns about a copy \ 
being made when the result is bound to an rvalue reference. It no longer warns \ 
when an object of a small, trivially copyable type is copied. The warning now \ 
offers fix-its. Excluding -Wrange-loop-bind-reference it is now part of -Wall. \ 
To reduce the number of false positives the diagnostic is disabled in macros and \ 
template instantiations.
-Wmisleading-indentation has been added. This warning is similar to the GCC \ 
warning of the same name. It warns about statements that are indented as if they \ 
were part of a if/else/for/while statement but are not semantically part of that \ 
if/else/for/while.
-Wbitwise-op-parentheses and -Wlogical-op-parentheses are disabled by default.
The new warnings -Wc99-designator and -Wreorder-init-list warn about uses of C99 \ 
initializers in C++ mode for cases that are valid in C99 but not in C++20.
The new warning -Wsizeof-array-div catches cases like int arr[10]; \ 
...sizeof(arr) / sizeof(short)... (should be sizeof(arr) / sizeof(int)), and the \ 
existing warning -Wsizeof-pointer-div catches more cases.
The new warning -Wxor-used-as-pow warns on cases where it looks like the xor \ 
operator ^ is used to be mean exponentiation, e.g. 2 ^ 16.
The new warning -Wfinal-dtor-non-final-class warns on classes that have a final \ 
destructor but aren’t themselves marked final.
-Wextra now enables -Wdeprecated-copy. The warning deprecates move and copy \ 
constructors in classes where an explicit destructor is declared. This is for \ 
compatibility with GCC 9, and forward looking for a change that’s being \ 
considered for C++23. You can disable it with -Wno-deprecated-copy.

Non-comprehensive list of changes in this release

In both C and C++ (C17 6.5.6p8, C++ [expr.add]), pointer arithmetic is only \ 
permitted within arrays. In particular, the behavior of a program is not defined \ 
if it adds a non-zero offset (or in C, any offset) to a null pointer, or if it \ 
forms a null pointer by subtracting an integer from a non-null pointer, and the \ 
LLVM optimizer now uses those guarantees for transformations. This may lead to \ 
unintended behavior in code that performs these operations. The Undefined \ 
Behavior Sanitizer -fsanitize=pointer-overflow check has been extended to detect \ 
these cases, so that code relying on them can be detected and fixed.
The Implicit Conversion Sanitizer (-fsanitize=implicit-conversion) has learned \ 
to sanitize pre/post increment/decrement of types with bit width smaller than \ 
int.
For X86 target, -march=skylake-avx512, -march=icelake-client, \ 
-march=icelake-server, -march=cascadelake, -march=cooperlake will default to not \ 
using 512-bit zmm registers in vectorized code unless 512-bit intrinsics are \ 
used in the source code. 512-bit operations are known to cause the CPUs to run \ 
at a lower frequency which can impact performance. This behavior can be changed \ 
by passing -mprefer-vector-width=512 on the command line.
Clang now defaults to .init_array on Linux. It used to use .ctors if the found \ 
GCC installation is older than 4.7.0. Add -fno-use-init-array to get the old \ 
behavior (.ctors).
The behavior of the flag -flax-vector-conversions has been modified to more \ 
closely match GCC, as described below. In Clang 10 onwards, command lines \ 
specifying this flag do not permit implicit vector bitcasts between integer \ 
vectors and floating-point vectors. Such conversions are still permitted by \ 
default, however, and the default can be explicitly requested with the \ 
Clang-specific flag -flax-vector-conversions=all. In a future release of Clang, \ 
we intend to change the default to -fno-lax-vector-conversions.
Improved support for octeon MIPS-family CPU. Added octeon+ to the list of of \ 
CPUs accepted by the driver.
For the WebAssembly target, the wasm-opt tool will now be run if it is found in \ 
the PATH, which can reduce code size.
For the RISC-V target, floating point registers can now be used in inline \ 
assembly constraints.

New Compiler Flags

The -fgnuc-version= flag now controls the value of __GNUC__ and related macros. \ 
This flag does not enable or disable any GCC extensions implemented in Clang. \ 
Setting the version to zero causes Clang to leave __GNUC__ and other \ 
GNU-namespaced macros, such as __GXX_WEAK__, undefined.
vzeroupper insertion on X86 targets can now be disabled with -mno-vzeroupper. \ 
You can also force vzeroupper insertion to be used on CPUs that normally \ 
wouldn’t with -mvzeroupper.
The -fno-concept-satisfaction-caching can be used to disable caching for \ 
satisfactions of Concepts. The C++2a draft standard does not currently permit \ 
this caching, but disabling it may incur significant compile-time costs. This \ 
flag is intended for experimentation purposes and may be removed at any time; \ 
please let us know if you encounter a situation where you need to specify this \ 
flag for correct program behavior.
The -ffixed-xX flags now work on RISC-V. These reserve the corresponding \ 
general-purpose registers.
RISC-V has added -mcmodel=medany and -mcmodel=medlow as aliases for \ 
-mcmodel=small and -mcmodel=medium respectively. Preprocessor definitions for \ 
__riscv_cmodel_medlow and __riscv_cmodel_medany have been corrected.
-fmacro-prefix-map=OLD=NEW substitutes directory prefix OLD for NEW in \ 
predefined preprocessor macros such as __FILE__. This helps with reproducible \ 
builds that are location independent. The new -ffile-prefix-map option is \ 
equivalent to specifying both -fdebug-prefix-map and -fmacro-prefix-map.
-fpatchable-function-entry=N[,M] is added to generate M NOPs before the function \ 
entry and N-M NOPs after the function entry. This is used by AArch64 ftrace in \ 
the Linux kernel.
-mbranches-within-32B-boundaries is added as an x86 assembler mitigation for \ 
Intel’s Jump Condition Code Erratum.

Deprecated Compiler Flags

The following options are deprecated and ignored. They will be removed in future \ 
versions of Clang.

-mmpx used to enable the __MPX__ preprocessor define for the Intel MPX \ 
instructions. There were no MPX intrinsics.
-mno-mpx used to disable -mmpx and is the default behavior.
-fconcepts-ts previously used to enable experimental concepts support. Use \ 
-std=c++2a instead to enable Concepts support.

Modified Compiler Flags

RISC-V now sets the architecture (riscv32/riscv64) based on the value provided \ 
to the -march flag, overriding the target provided by -triple.
-flax-vector-conversions has been split into three different levels of laxness, \ 
and has been updated to match the GCC semantics:
-flax-vector-conversions=all: This is Clang’s current default, and permits \ 
implicit vector conversions (performed as bitcasts) between any two vector types \ 
of the same overall bit-width. Former synonym: -flax-vector-conversions (Clang \ 
<= 9).
-flax-vector-conversions=integer: This permits implicit vector conversions \ 
(performed as bitcasts) between any two integer vector types of the same overall \ 
bit-width. Synonym: -flax-vector-conversions (Clang >= 10).
-flax-vector-conversions=none: Do not perform any implicit bitcasts between \ 
vector types. Synonym: -fno-lax-vector-conversions.
-debug-info-kind now has an option -debug-info-kind=constructor, which is one \ 
level below -debug-info-kind=limited. This option causes debug info for classes \ 
to be emitted only when a constructor is emitted.
RISC-V now chooses a slightly different sysroot path and defaults to using \ 
compiler-rt if no GCC installation is detected.
RISC-V now supports multilibs in baremetal environments. This support does not \ 
extend to supporting multilib aliases.

Attribute Changes in Clang

Support was added for function \ 
__attribute__((target("branch-protection=...")))
   2020-03-26 15:47:46 by Nia Alarie | Files touched by this commit (1)
Log message:
clang: Bump GCC_REQD
   2020-03-24 06:58:48 by Roland Illig | Files touched by this commit (1)
Log message:
lang/clang: fix nonexistent SUBST_FILES

This restores the intended behavior of patching the NetBSD toolchain.
   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)
https://reviews.llvm.org/D69755

Next | Query returned 171 messages, browsing 61 to 70 | Previous