Skip to content

Instantly share code, notes, and snippets.

# Ubuntu 12.04 LTS Clang3.3 + libc++
# ==================================
# Do not use old Clang 3.0 for bootstrapping...
# which does not work.
# Perl is required in some LLVM build processes.
set -e
# apt-get sometimes exits with non-zero code even it installed successfully.
# And that makes script to halt. This is nonsense and ridiculous!
@eonil
eonil / gist:eee843700cb271029734
Last active August 29, 2015 14:06
Git How-To
@eonil
eonil / gist:1eb1fd993aad2f275f21
Last active August 29, 2015 14:09
Rust Notes

Rust Notes

This Gist is just a note of my current personal understanding, and does not define or claim the actual Rust behaviors. Always can be wrong, and may contain some errors. Do not rely on this information if you're learning Rust.

LLVM Note

Address Sanitizer Support

@eonil
eonil / gist:4a457009cc8ac2ca9cb7
Last active August 29, 2015 14:12
Unicode Note

Unicode Note

The core part of Unicode is Unicode Scalar Value. This represents core component to build a Unicode text. Also provides most reliable unit to process text data.

Unicode Scalar Value is equal to Code Point except surrogate pairs.

Code Unit is a component of each encoding algorithm. Defined differently by the encodings.

Grapheme Cluster smallest unit to represent human recgonizable symbol.

Swift Coding Style

I have specific coding style for Swift.

  • Follow Apple's Cocoa coding style. (Camel case, uppercases for abbreviations, etc.)
  • Openign braces { at same line.

func exampleFunction1() -> Int {

LLDB Note

A key conversation.

Well, it's three years ago, and now it works far better.

Remote Debugging Summary

libclang Note

  • Use C API that is intended to be stable long term API.
  • C++ interfaces are not really an API. So it constantly changes.

Xcode Note

Xcode 6.3 (beta)

  • Do not import self module. It causes module-map related link error. For example, if your project's module name is Example1, do not import Example1 in source files in the project.