AlexDenisov / Toyclangplugin
Licence: mit
Playing with Clang plugin system
Stars: ✭ 146
Labels
Projects that are alternatives of or similar to Toyclangplugin
Vector
➿ A supercharged std::vector implementation (minus Allocator)
Stars: ✭ 118 (-19.18%)
Mutual labels: clang
Moderncppci
This is an example of doing a Modern C++ project with CI
Stars: ✭ 109 (-25.34%)
Mutual labels: clang
Clang Format Hooks
Apply a coding style with clang-format only to new code added to an existing code base.
Stars: ✭ 122 (-16.44%)
Mutual labels: clang
Ip2region
Ip2region is a offline IP location library with accuracy rate of 99.9% and 0.0x millseconds searching performance. DB file is ONLY a few megabytes with all IP address stored. binding for Java,PHP,C,Python,Nodejs,Golang,C#,lua. Binary,B-tree,Memory searching algorithm
Stars: ✭ 9,836 (+6636.99%)
Mutual labels: clang
Cppcoro
A library of C++ coroutine abstractions for the coroutines TS
Stars: ✭ 2,118 (+1350.68%)
Mutual labels: clang
Hmap
hmap is a command line tool written in Swift to work with Clang header maps produced by Xcode.
Stars: ✭ 110 (-24.66%)
Mutual labels: clang
Proton Clang
Proton Clang toolchains builds in the form of a continuously updating Git repository. Clone with --depth=1.
Stars: ✭ 126 (-13.7%)
Mutual labels: clang
Cmakepchcompiler
CMake precompiled header support via custom PCH compiler extension
Stars: ✭ 105 (-28.08%)
Mutual labels: clang
Llvm Utils
LLVM/Clang for Visual Studio 2019, 2017, 2015, 2013, 2012 and 2010. clang-cl for Python3 distutils. Utils for Clang Static Analyzer
Stars: ✭ 123 (-15.75%)
Mutual labels: clang
Violations Lib
Java library for parsing report files from static code analysis.
Stars: ✭ 94 (-35.62%)
Mutual labels: clang
Embedded Ide
IDE for C embedded development centered on bare-metal ARM systems
Stars: ✭ 127 (-13.01%)
Mutual labels: clang
Bsodsurvivor
This project aims to facilitate debugging a kernel driver in windows by adding support for a code change on the fly without reboot/unload, and more!
Stars: ✭ 122 (-16.44%)
Mutual labels: clang
Clang Llvm Tutorial
clang & llvm examples, e.g. AST Interpreter, Function Pointer Analysis, Value Range Analysis, Data-Flow Analysis, Andersen Pointer Analysis, LLVM Backend...
Stars: ✭ 139 (-4.79%)
Mutual labels: clang
Compilescore
Visual Studio extension and standalone app for build times and compilation data visualization.
Stars: ✭ 135 (-7.53%)
Mutual labels: clang
Metareflect
Metareflect is a lightweight reflection system for C++, based on LLVM and Clangs libtooling.
Stars: ✭ 125 (-14.38%)
Mutual labels: clang
ToyClangPlugin
Simple clang plugin. More details here
This plugin shows you a warning in case of class' name starts with lowercse letter and shows an error in case when class' name contains underscore (_
).
As a bonus it proposes you a FixIt hints
Installation
Build llvm
/clang
from sources
cd /opt
sudo mkdir llvm
sudo chown `whoami` llvm
cd llvm
export LLVM_HOME=`pwd`
git clone -b release_33 https://github.com/llvm-mirror/llvm.git llvm
git clone -b release_33 https://github.com/llvm-mirror/clang.git llvm/tools/clang
git clone -b release_33 https://github.com/llvm-mirror/clang-tools-extra.git llvm/tools/clang/tools/extra
git clone -b release_33 https://github.com/llvm-mirror/compiler-rt.git llvm/projects/compiler-rt
mkdir llvm_build
cd llvm_build
cmake ../llvm -DCMAKE_BUILD_TYPE:STRING=Release
make -j`sysctl -n hw.logicalcpu`
Get the plugin copy
cd $LLVM_HOME
git clone https://github.com/AlexDenisov/ToyClangPlugin.git
cd ToyClangPlugin
Build the plugin
mkdir build; cd build
cmake -G Xcode ..
open ToyClangPlugin.xcodeproj
Download this archive, unzip and run following commands
sudo mv HackedClang.xcplugin `xcode-select -print-path`/../PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins
sudo mv HackedBuildSystem.xcspec `xcode-select -print-path`/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications
Open your project and pudate build settings:
- Select custom compiler
- Disable modules
- Add
OTHER_CFLAGS
-Xclang -load -Xclang /opt/llvm/toy_clang_plugin/build/lib/Debug/ToyClangPlugin.dylib -Xclang -add-plugin -Xclang ToyClangPlugin
That's it. Build and run you project.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].