Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work. Learn more →
Llvm-project Alternatives
Similar projects and alternatives to llvm-project
-
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
-
Lark
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
-
-
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
-
-
-
-
KCLVM
A constraint-based record & functional language mainly used in configuration and policy scenarios.
-
skia
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. (by aseprite)
-
-
obs-studio
OBS Studio - Free and open source software for live streaming and screen recording
-
carbon-lang
Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
-
-
darwin-xnu
The Darwin Kernel (mirror). This repository is a pure mirror and contributions are currently not accepted via pull-requests, please submit your contributions via https://developer.apple.com/bug-reporting/
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
llvm-project reviews and mentions
-
Can sanitizers find the two bugs I wrote in C++?
> I don't have a copy of the standard at hand, can anyone quote the relevant section?
The C++ (draft) standard is on GitHub! [0] Compiling it needs Perl and some LaTeX packages, but is reasonably straightforwards otherwise. In addition, links to specific draft standards can be found on cppreference [1].
But anyways, in the first C++20 post-publication draft (N4868), the wording you're interested in is in multiple sections. Section 22.2.3 Sequence Containers [sequence.reqmts] has Table 78: Optional sequence container operations [tab:container.seq.opt] (starting on page 815), which states that a precondition of pop_back() is that empty() returns false. Section 16.3.2.4 Detailed Specifications [structure.specifications] (page 481) states:
> Preconditions: the conditions that the function assumes to hold whenever it is called; violation of any preconditions results in undefined behavior.
Therefore, calling pop_back() on an empty vector results in undefined behavior.
> Is this something that in practice is implemented in different (exception-throwing) ways?
Based on a quick glance at the major implementations (libc++ 15.0.7 at [2], MSVC at [3], libstdc++ at [4]), it looks like asserts are used. Whether those result in exceptions probably depends on whether the asserts are compiled in in the first place and how they are implemented, but it's definitely not a guaranteed exception.
[0]: https://github.com/cplusplus/draft
[1]: https://en.cppreference.com/w/cpp/links
[2]: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/lib...
[3]: https://github.com/llvm/llvm-project/blob/8dfdcc7b7bf66834a7...
[4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3...
-
The technology behind GitHub’s new code search
This is exciting! I see a lot of familiar pieces here that propagated from Google's Code Search and I know few people from Code Search went to GitHub, probably specifically to work on this. I always wondered why GitHub didn't invest into a decent code searching features, but I'm happy it finally gets to the State of the Art one step at a time. Some of the folks going to GitHub to work on this I know are just incredible and I have no doubt GitHub's code search will be amazing.
I also worked on something similar to the search engine that is described here for the purposes of making auto-complete fast for C++ in Clangd. That was my intern project back in 2018 and it was very successful in reducing the delays and latencies in the auto-complete pipeline. That project was a lot of fun and was also based on Russ Cox's original Google Code Search trigram index. My implementation of the index is still largely untouched and is a hot path of Clangd. I made a huge effort to document it as much as I can and the code is, I believe, very readable (although I'm obviously very biased because I spent a loot of time with it).
Here is the implementation:
https://github.com/llvm/llvm-project/tree/main/clang-tools-e...
I also wrote a... very long design document about how exactly this works, so if you're interested in understanding the internals of a code search engine, you can check it out:
https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiG...
-
Port it to the web with Web assembly and Emscripten
Emscripten is the most popular C/C++ toolchain to Wasm. Because it is based on LLVM, you can technically use it for a lot of other language like rust or D. It also convert some POSIX into the corresponding web APIs and it also convert OpenGL calls to WebGL!
-
What are some pros of developing a compiler in Common Lisp?
Huh? Somewhere, when you read a file from the hard drive you will read it in an array, or call it a buffer, even in Lisp. On top of that you will interpret your data as some sort of structure, for example an AST as you mention. I have yet to see Lisp that reads in a text file into an AST naturally, without a parser that reads input and transforms it into an appropriate AST tree. Lisp is suited naturally to work with lists, which are good at representing trees and other linked structures. But you have to build those trees out of your "array" on your own. You can use a library, you don't have to write it on your own, but so you can with other languages too. I suggest taking a look at llwm, it is made exactly for the purpose of making compilers.
-
FYI: LLVM-project repo has exceeded GitHub upload size limit
I cloned
git clone https://github.com/llvm/llvm-project
-
How to avoid bounds checks in Rust (without unsafe!)
Here's my LLVM issue that could remove any perf impact of in-order indexing, leaving just a code-size impact: https://github.com/llvm/llvm-project/issues/55759
-
Should I abandon my monorepo?
Look on binutils+gdb or clang+llvm repos.
-
The KCL Programing Language for DevOps
High performance: High compile time and runtime performance using Rust & C and LLVM, and support compilation to native code and WASM.
-
Proof 7900XTX VR issues ARE due to a driver problem, not hardware (Linux v. Windows timing graphs)
source=("llvm-project::git+https://github.com/llvm/llvm-project.git#tag=llvmorg-15.0.6" "llvm-config.h")
-
clang-format IntegerLiteralSeparator key
According to https://github.com/llvm/llvm-project/commits/main/clang/lib/Format/Format.cpp it was introduced in https://github.com/llvm/llvm-project/commit/46c94e5067b5f396c24bb950505c79bc819bd4b8 but then quickly was reverted in https://github.com/llvm/llvm-project/commit/f0756e0860107262890d122cac909934563b1f5c because it introduced some problems.
-
A note from our sponsor - Sonar
www.sonarsource.com | 8 Feb 2023
Stats
llvm/llvm-project is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.