llvm-project
llvm-project copied to clipboard
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Testcase from Qt: ``` #include template inline constexpr bool qIsRelocatable = (std::is_trivially_copyable_v && std::is_trivially_destructible_v) #if defined(__has_builtin) #if __has_builtin(__is_trivially_relocatable) || __is_trivially_relocatable(T) #endif #endif ; struct Complex2 { Complex2(Complex2 &&); }; static_assert(!qIsRelocatable);...
There is one additional check of the range metadata at line 1120 in getValueFromSimpleICmpCondition that is not covered in this PR as after https://github.com/llvm/llvm-project/pull/75311 there is no test that cover...
Adds support to hoist variables declared inside the selected region and used afterwards back out of the extraced function for later use. Uses the explicit variable type if only one...
When selecting code that contains the use of overloaded operators, the SelectionTree will attribute the operator to the operator declaration, not to the `CXXOperatorCallExpr`. To allow extract-to-function to work with...
**Overview:** This pull request fixes #80850 where author suggests adding a readability check to detect missing parentheses around mathematical expressions when operators of different priorities are used. **Testing:** - Tested...
Found when reporting #86398, so it may be related to it. But with the following valid code, at all optimization levels, the following code does not generate correctly. ```c++ volatile...
machine: powerpc-unknown-freebsd14.0 -- Power Mac G4 MDD, which has a single PowerPC 7455 The test program below crashes with SIGILL due to encountering an fsqrt instruction when built with the...
src: ```c #include #include _Atomic(uintptr_t) y; _Atomic(uint8_t *) x; void ppp() { ++x; ++y; } ``` GCC 12 `-Ofast`: ```asm ppp: lock addq $1, x(%rip) lock addq $1, y(%rip) ret...
Currently, the builtins used for implementing `va_list` handling unconditionally take their arguments as unqualified `ptr`s i.e. pointers to AS 0. This does not work for targets where the default AS...
Implement https://man7.org/linux/man-pages/man2/capset.2.html wrappers. The manpage mentioned that it was not provided by `glibc` but MUSL implement them as an extension: https://github.com/bminor/musl/blob/f314e133929b6379eccc632bef32eaebb66a7335/src/linux/cap.c#L8 This is helpful in #79645.