llvm with tablegen backend for capstone disassembler
Go to file
Martin Storsjö 05dcfa44c0
[clang] [Gnu] Improve GCCVersion parsing to match versions such as "10-win32" (#69079)
In earlier GCC versions, the Debian/Ubuntu provided mingw toolchains
were packaged in /usr/lib/gcc/<triple> with version strings such as
"5.3-win32", which were matched and found since
6afcd64eb6. However in recent versions,
they have stopped including the minor version number and only have
version strings such as "10-win32" and "10-posix".

Generalize the parsing code to tolerate the patch suffix to be present
on a version number with only a major number.

Refactor the string parsing code to highlight the overall structure of
the parsing. This implementation should yield the same result as before,
except for when there's only one segment and it has trailing, non-number
contents.

This allows Clang to find the GCC libraries and headers in Debian/Ubuntu
provided MinGW cross compilers.
2023-10-26 10:55:53 +03:00
.ci [ci] diff with main merge-base (#69308) 2023-10-17 11:24:43 +02:00
.github [Github] Add lld to docs CI (#69821) 2023-10-25 21:55:38 -07:00
bolt [ADT] Rename llvm::erase_value to llvm::erase (NFC) (#70156) 2023-10-24 23:03:13 -07:00
clang [clang] [Gnu] Improve GCCVersion parsing to match versions such as "10-win32" (#69079) 2023-10-26 10:55:53 +03:00
clang-tools-extra [clang-tidy][NFC]refactor PreferMemberInitializerCheck for readability 2023-10-26 13:37:50 +08:00
cmake [CMake] Switch the CMP0091 policy (MSVC_RUNTIME_LIBRARY) to the new behaviour 2023-07-17 09:59:05 +03:00
compiler-rt BlockFrequencyInfoImpl: Avoid big numbers, increase precision for small spreads 2023-10-24 20:27:39 -07:00
cross-project-tests [Dexter] Associate parser errors with correct file (#66765) 2023-09-19 14:16:17 +01:00
flang [flang][NFC] Update comment to be generic 2023-10-25 13:58:24 -07:00
libc [libc] Compile the GPU functions with '-fconvergent-functions' (#70229) 2023-10-25 14:13:21 -05:00
libclc [LIBCLC] Teach prepare-builtins how to handle text based IR (#66993) 2023-10-03 14:28:01 +02:00
libcxx Improve CI output. (#70236) 2023-10-25 18:10:29 -04:00
libcxxabi [libc++][Android] Mark tests XFAIL/UNSUPPORTED (#69271) 2023-10-19 17:27:01 -07:00
libunwind [libunwind][AIX] static_cast the value from getLR() to avoid the warning from -Wconversion (#69767) 2023-10-24 11:55:22 -04:00
lld [Support] Better error msg when cache dir can't be created. (#69575) 2023-10-26 08:31:33 +02:00
lldb [lldb][lldb-server] Enable sending RegisterFlags as XML (#69951) 2023-10-26 08:33:30 +01:00
llvm [AArch64][SVE2] Use rshrnb for masked stores (#70026) 2023-10-26 08:42:25 +01:00
llvm-libgcc [llvm-libgcc][CMake] Refactor llvm-libgcc (#65455) 2023-09-18 22:56:03 -07:00
mlir Apply clang-tidy fixes for misc-include-cleaner in MLIR examples 2023-10-25 22:27:30 -07:00
openmp [OpenMP] [OMPD] Fix CMake install command 2023-10-26 03:02:53 +00:00
polly [ADT] Rename llvm::erase_value to llvm::erase (NFC) (#70156) 2023-10-24 23:03:13 -07:00
pstl Clear release notes for 18.x 2023-07-25 13:58:49 +02:00
runtimes [libc++][Android] Support libc++ testing on Android (#69274) 2023-10-19 16:58:30 -04:00
third-party [gtest] Disable new posix::FOpen Windows implementation for now 2023-09-28 21:11:09 +02:00
utils [bazel] Add missing dependency 2023-10-25 16:43:23 +02:00
.arcconfig
.arclint
.clang-format
.clang-tidy Add -misc-use-anonymous-namespace to .clang-tidy 2023-05-06 02:33:20 +03:00
.git-blame-ignore-revs Revert "[mlir][spirv] Add D155747 to .git-blame-ignore-revs" 2023-07-21 10:59:16 -04:00
.gitignore Revert accidental .gitignore change from 9b7763821a 2023-09-07 22:42:05 -07:00
.mailmap Add entry to mailmap 2023-04-25 23:15:07 -07:00
CODE_OF_CONDUCT.md [llvm] Add CODE_OF_CONDUCT.md (#65816) 2023-09-09 10:55:31 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md to remove the not about not accepting PR 2023-09-10 15:21:06 -07:00
LICENSE.TXT
README.md
SECURITY.md

The LLVM Compiler Infrastructure

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, or #llvm IRC channel on OFTC.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.