Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ELF code emitter for Z80 architecture (naiive impl.) #10

Open
wants to merge 21 commits into
base: z80
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
587fdd3
Add LLVM-style RTTI to Matchers.
jacobly0 Oct 19, 2019
0ecf551
Push cast down to usage.
jacobly0 Oct 19, 2019
1d81be5
[TableGen] [GlobalISel] Add better support for register operands.
jacobly0 Oct 19, 2019
218e7cf
[GlobalISel] Use correct calling convention from callee.
jacobly0 Oct 27, 2019
2026d17
[GlobalISel] Improve Legalizer.
jacobly0 Oct 27, 2019
6495989
[GlobalISel][ArtifactCombiner] Bail out on unhandled case.
jacobly0 Nov 14, 2019
46f9733
[Bugpoint] Don't give up completely when an invalid module gets gener…
jacobly0 Nov 13, 2019
16dada5
Update .gitignore and fix emacs.el.
jacobly0 Oct 20, 2019
8c9b181
[cc1] Initialize all of the passes when -mllvm is passed so that -pri…
jacobly0 Apr 13, 2020
acf4d1d
Add i24 simple value type and fix resulting target breakage.
jacobly0 Oct 19, 2019
5fd5c88
Add OMF object format.
jacobly0 Oct 20, 2019
b204774
[Z80] Add Z80 target.
jacobly0 Oct 20, 2019
92b4a06
[Z80] Add Z80 GlobalISel implementation.
jacobly0 Oct 20, 2019
2ed6977
[Z80] Add Z80 support to clang.
jacobly0 Oct 27, 2019
418a0ed
[Z80] Add Z80 target-specific optimizations.
jacobly0 Nov 28, 2019
3c72039
[Z80] Change assembler syntax from zds to fasmg-ez80.
jacobly0 Jan 16, 2020
3732596
[Z80] Add Z80 tests.
jacobly0 Nov 1, 2019
dcd55f9
Use Github Actions.
jacobly0 Nov 14, 2019
2830cfe
Add missing Z80 definitions to ELF binary format.
pawosm-arm Mar 28, 2020
e1c4140
Fix things that have hit me hard while working on '-fintegrated-as'
pawosm-arm Apr 22, 2020
e9a373b
ELF code emitter for Z80 architecture (naiive impl.)
pawosm-arm Apr 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
311 changes: 311 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,311 @@
name: CMake

on:
push:
branches: [z80]

jobs:
build-llvm:
needs: []
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
build-type: [Debug, Release]
if: always()
runs-on: ${{matrix.runs-on}}
steps:
- name: Uninstall Unused Packages
if: runner.os == 'Linux'
run: sudo apt-get remove ^ghc-[0-9.]+$

- name: Prepare Build Environment
if: runner.os != 'Windows'
run: |
cmake -E echo ::set-env name=CC::clang
cmake -E echo ::set-env name=CFLAGS::-std=c17
cmake -E echo ::set-env name=CXX::clang++
cmake -E echo ::set-env name=CXXFLAGS::-std=c++17
- name: Prepare Build Environment
if: runner.os == 'Windows'
run: |
git config --global core.autocrlf false
$path = vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
Write-Output "::add-path::$(join-path $path 'VC\Tools\Llvm\bin')"
cmd /s /c """$(Join-Path $path 'Common7\Tools\vsdevcmd.bat')"" && set" | where { $_ -match '(\w+)=(.*)' } | foreach { Write-Output "::set-env name=$($Matches[1])::$($Matches[2])" }
cmake -E echo ::set-env name=CC::clang-cl
cmake -E echo ::set-env name=CXX::clang-cl
cmake -E echo ::set-env name=EXE::.exe
cmake -E echo ::set-env name=PY::.py

- name: Prepare Build Environment
if: matrix.build-type == 'Debug'
run: cmake -E echo ::set-env name=DYLIB::ON
- name: Prepare Build Environment
if: matrix.build-type != 'Debug'
run: cmake -E echo ::set-env name=DYLIB::OFF

- name: Install Build Dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get install -y ninja-build lld
cmake -E echo ::set-env name=LD::lld
- name: Install Build Dependencies
if: runner.os == 'macOS'
run: |
brew install ninja
cmake -E echo ::add-path::/usr/local/opt/llvm/bin
- name: Install Build Dependencies
if: runner.os == 'Windows'
run: pip install ninja

- name: Checkout Project
uses: actions/checkout@v2
with:
path: src
- name: Sparse Checkout
working-directory: src
run: |
git version
git sparse-checkout init --cone
git sparse-checkout set llvm clang

- name: Configure LLVM
run: cmake -Ssrc/llvm -Bbuild -GNinja -DCMAKE_BUILD_TYPE:STRING=${{matrix.build-type}} -DCMAKE_INSTALL_PREFIX:PATH="${{github.workspace}}/llvm" -DCMAKE_C_COMPILER:FILEPATH="${{env.CC}}" -DCMAKE_C_FLAGS:STRING="${{env.CFLAGS}}" -DCMAKE_CXX_COMPILER:FILEPATH="${{env.CXX}}" -DCMAKE_CXX_FLAGS:STRING="${{env.CXXFLAGS}}" -DLLVM_PARALLEL_LINK_JOBS:STRING=1 -DLLVM_USE_LINKER="${{env.LD}}" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD:STRING="Z80" -DLLVM_LINK_LLVM_DYLIB:BOOL=${{env.DYLIB}} -DLLVM_INCLUDE_TESTS:BOOL=OFF -DLLVM_TOOL_DSYMUTIL_BUILD:BOOL=OFF -DLLVM_TOOL_GOLD_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_AS_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_CFI_VERIFY_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_CVTRES_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_DWP_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_ELFABI_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_EXEGESIS_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_GSYMUTIL_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_IFS_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_ISEL_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_JITLINK_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_JITLISTENER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_LIPO_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_LTO2_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_LTO_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_MCA_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_MT_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_OPT_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_PDBUTIL_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_PROFDATA_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_RC_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_SPECIAL_CASE_LIST_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_UNDNAME_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_XRAY_BUILD:BOOL=OFF -DLLVM_TOOL_LLVM_YAML_NUMERIC_PARSER_FUZZER_BUILD:BOOL=OFF -DLLVM_TOOL_LTO_BUILD:BOOL=OFF -DLLVM_TOOL_SANCOV_BUILD:BOOL=OFF -DLLVM_TOOL_SANSTATS_BUILD:BOOL=OFF -DLLVM_TOOL_VFABI_DEMANGLE_FUZZER_BUILD:BOOL=OFF
- name: Build LLVM
run: cmake --build build --config ${{matrix.build-type}}

- name: Install LLVM
run: cmake --build build --config ${{matrix.build-type}} --target install
- name: Upload LLVM
uses: actions/upload-artifact@v1
with:
name: LLVM${{runner.os}}${{matrix.build-type}}
path: llvm

- name: Configure Test
run: cmake build -DLLVM_LINK_LLVM_DYLIB:BOOL=${{env.DYLIB}} -DLLVM_ENABLE_PROJECTS:STRING=clang -DLLVM_INCLUDE_TESTS:BOOL=ON -DLLVM_TOOL_DSYMUTIL_BUILD:BOOL=ON -DLLVM_TOOL_GOLD_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_AS_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_CFI_VERIFY_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_CVTRES_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_DWP_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_ELFABI_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_EXEGESIS_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_GSYMUTIL_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_IFS_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_ISEL_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_JITLINK_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_JITLISTENER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_LIPO_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_LTO2_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_LTO_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_MCA_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_MT_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_OPT_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_PDBUTIL_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_PROFDATA_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_RC_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_SPECIAL_CASE_LIST_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_UNDNAME_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_XRAY_BUILD:BOOL=ON -DLLVM_TOOL_LLVM_YAML_NUMERIC_PARSER_FUZZER_BUILD:BOOL=ON -DLLVM_TOOL_LTO_BUILD:BOOL=ON -DLLVM_TOOL_SANCOV_BUILD:BOOL=ON -DLLVM_TOOL_SANSTATS_BUILD:BOOL=ON -DLLVM_TOOL_VFABI_DEMANGLE_FUZZER_BUILD:BOOL=ON
- name: Install Test
run: |
cmake -E make_directory test/bin test/test/Unit test/tools/clang/bin test/tools/clang/test/Unit
cmake -E copy build/bin/not${{env.EXE}} build/bin/FileCheck${{env.EXE}} build/bin/llvm-PerfectShuffle${{env.EXE}} build/bin/lli-child-target${{env.EXE}} build/bin/llvm-lit${{env.PY}} build/bin/llvm-locstats build/bin/count${{env.EXE}} build/bin/yaml-bench${{env.EXE}} test/bin
cmake -E copy build/test/lit.site.cfg.py test/test
cmake -E copy build/test/Unit/lit.site.cfg.py test/test/Unit
cmake -E copy build/tools/clang/bin/gen_ast_dump_json_test.py test/tools/clang/bin
cmake -E copy build/tools/clang/test/lit.site.cfg.py test/tools/clang/test
cmake -E copy build/tools/clang/test/Unit/lit.site.cfg.py test/tools/clang/test/Unit
- name: Upload Test
uses: actions/upload-artifact@v1
with:
name: Test${{runner.os}}${{matrix.build-type}}
path: test

- name: Disk Usage
if: always() && runner.os != 'Windows'
run: df -h
- name: Disk Usage
if: always() && runner.os == 'Windows'
run: wmic logicaldisk get size,freespace,caption

build-clang:
needs: [build-llvm]
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
build-type: [Debug, Release]
if: always()
runs-on: ${{matrix.runs-on}}
steps:
- name: Uninstall Unused Packages
if: runner.os == 'Linux'
run: sudo apt-get remove ^ghc-[0-9.]+$

- name: Prepare Build Environment
if: runner.os != 'Windows'
run: |
cmake -E echo ::set-env name=CC::clang
cmake -E echo ::set-env name=CFLAGS::-std=c17
cmake -E echo ::set-env name=CXX::clang++
cmake -E echo ::set-env name=CXXFLAGS::-std=c++17
- name: Prepare Build Environment
if: runner.os == 'Windows'
run: |
git config --global core.autocrlf false
$path = vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
Write-Output "::add-path::$(join-path $path 'VC\Tools\Llvm\bin')"
cmd /s /c """$(Join-Path $path 'Common7\Tools\vsdevcmd.bat')"" && set" | where { $_ -match '(\w+)=(.*)' } | foreach { Write-Output "::set-env name=$($Matches[1])::$($Matches[2])" }
cmake -E echo ::set-env name=CC::clang-cl
cmake -E echo ::set-env name=CXX::clang-cl
cmake -E echo ::set-env name=EXE::.exe

- name: Prepare Build Environment
if: matrix.build-type == 'Debug'
run: cmake -E echo ::set-env name=DYLIB::ON
- name: Prepare Build Environment
if: matrix.build-type != 'Debug'
run: cmake -E echo ::set-env name=DYLIB::OFF

- name: Install Build Dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get install -y ninja-build lld
cmake -E echo ::set-env name=LD::lld
- name: Install Build Dependencies
if: runner.os == 'macOS'
run: |
brew install ninja
cmake -E echo ::add-path::/usr/local/opt/llvm/bin
- name: Install Build Dependencies
if: runner.os == 'Windows'
run: pip install ninja

- name: Checkout Project
uses: actions/checkout@v2
with:
path: src
- name: Sparse Checkout
working-directory: src
run: |
git version
git sparse-checkout init --cone
git sparse-checkout set clang

- name: Download LLVM
uses: actions/download-artifact@v1
with:
name: LLVM${{runner.os}}${{matrix.build-type}}
path: llvm
- name: Set Executable
if: runner.os != 'Windows'
run: chmod +x llvm/bin/*

- name: Configure Clang
run: cmake -Ssrc/clang -Bbuild -GNinja -DCMAKE_BUILD_TYPE:STRING=${{matrix.build-type}} -DCMAKE_INSTALL_PREFIX:PATH="${{github.workspace}}/clang" -DCMAKE_C_COMPILER:FILEPATH="${{env.CC}}" -DCMAKE_C_FLAGS:STRING="${{env.CFLAGS}}" -DCMAKE_CXX_COMPILER:FILEPATH="${{env.CXX}}" -DCMAKE_CXX_FLAGS:STRING="${{env.CXXFLAGS}}" -DLLVM_USE_LINKER="${{env.LD}}" -DLLVM_DIR:PATH="${{github.workspace}}/llvm/lib/cmake/llvm" -DCLANG_LINK_CLANG_DYLIB:BOOL=${{env.DYLIB}}
- name: Build Clang
run: cmake --build build --config ${{matrix.build-type}}

- name: Install Clang
run: cmake --build build --config ${{matrix.build-type}} --target install
- name: Upload Clang
uses: actions/upload-artifact@v1
with:
name: Clang${{runner.os}}${{matrix.build-type}}
path: clang

- name: Install Executable
run: cmake -E copy clang/bin/clang${{env.EXE}} ez80-clang${{env.EXE}}
- name: Upload Executable
uses: actions/upload-artifact@v1
with:
name: ez80-clang${{env.EXE}}-${{runner.os}}${{matrix.build-type}}
path: ez80-clang${{env.EXE}}

- name: Download Test
uses: actions/download-artifact@v1
with:
name: Test${{runner.os}}${{matrix.build-type}}
path: test
- name: Install Test
run: cmake -E copy build/bin/arcmt-test${{env.EXE}} build/bin/c-arcmt-test${{env.EXE}} build/bin/clang-diff${{env.EXE}} build/bin/clang-tblgen${{env.EXE}} test/bin
- name: Upload Test
uses: actions/upload-artifact@v1
with:
name: Test${{runner.os}}${{matrix.build-type}}
path: test

- name: Disk Usage
if: always() && runner.os != 'Windows'
run: df -h
- name: Disk Usage
if: always() && runner.os == 'Windows'
run: wmic logicaldisk get size,freespace,caption

test-llvm:
needs: [build-llvm]
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
build-type: [Debug]
if: always()
runs-on: ${{matrix.runs-on}}
steps:
- name: Uninstall Unused Packages
if: runner.os == 'Linux'
run: sudo apt-get remove ^ghc-[0-9.]+$

- name: Checkout Project
uses: actions/checkout@v2
with:
path: src
- name: Sparse Checkout
working-directory: src
run: |
git version
git sparse-checkout init --cone
git sparse-checkout set llvm/test llvm/utils/lit/lit

- name: Download Test
uses: actions/download-artifact@v1
with:
name: Test${{runner.os}}${{matrix.build-type}}
path: build
- name: Download LLVM
uses: actions/download-artifact@v1
with:
name: LLVM${{runner.os}}${{matrix.build-type}}
path: build
- name: Set Executable
if: runner.os != 'Windows'
run: chmod +x build/bin/*

- name: Test LLVM
run: build/bin/llvm-lit -v src/llvm/test

test-clang:
needs: [build-llvm, build-clang]
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
build-type: [Debug]
if: always()
runs-on: ${{matrix.runs-on}}
steps:
- name: Uninstall Unused Packages
if: runner.os == 'Linux'
run: sudo apt-get remove ^ghc-[0-9.]+$

- name: Checkout Project
uses: actions/checkout@v2
with:
path: src
- name: Sparse Checkout
working-directory: src
run: |
git version
git sparse-checkout init --cone
git sparse-checkout set clang/test llvm/utils/lit/lit

- name: Download Test
uses: actions/download-artifact@v1
with:
name: Test${{runner.os}}${{matrix.build-type}}
path: build
- name: Download LLVM
uses: actions/download-artifact@v1
with:
name: LLVM${{runner.os}}${{matrix.build-type}}
path: build
- name: Download Clang
uses: actions/download-artifact@v1
with:
name: Clang${{runner.os}}${{matrix.build-type}}
path: build
- name: Set Executable
if: runner.os != 'Windows'
run: chmod +x build/bin/*

- name: Test Clang
run: build/bin/llvm-lit -v src/clang/test
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#==============================================================================#
# Temp files created by most text editors.
*~
\#*#
# Merge files created by git.
*.orig
# Byte compiled python modules.
Expand Down
17 changes: 15 additions & 2 deletions clang/include/clang/AST/ASTContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,12 @@ class ASTContext : public RefCountedBase<ASTContext> {
TemplateTemplateParmDecl *
getCanonicalTemplateTemplateParmDecl(TemplateTemplateParmDecl *TTP) const;

/// The typedef for the __int48_t type.
mutable TypedefDecl *Int48Decl = nullptr;

/// The typedef for the __uint48_t type.
mutable TypedefDecl *UInt48Decl = nullptr;

/// The typedef for the __int128_t type.
mutable TypedefDecl *Int128Decl = nullptr;

Expand Down Expand Up @@ -948,9 +954,10 @@ class ASTContext : public RefCountedBase<ASTContext> {
CanQualType Char8Ty; // [C++20 proposal]
CanQualType Char16Ty; // [C++0x 3.9.1p5], integer type in C99.
CanQualType Char32Ty; // [C++0x 3.9.1p5], integer type in C99.
CanQualType SignedCharTy, ShortTy, IntTy, LongTy, LongLongTy, Int128Ty;
CanQualType SignedCharTy, ShortTy, IntTy, LongTy, Int48Ty, LongLongTy,
Int128Ty;
CanQualType UnsignedCharTy, UnsignedShortTy, UnsignedIntTy, UnsignedLongTy;
CanQualType UnsignedLongLongTy, UnsignedInt128Ty;
CanQualType UnsignedInt48Ty, UnsignedLongLongTy, UnsignedInt128Ty;
CanQualType FloatTy, DoubleTy, LongDoubleTy, Float128Ty;
CanQualType ShortAccumTy, AccumTy,
LongAccumTy; // ISO/IEC JTC1 SC22 WG14 N1169 Extension
Expand Down Expand Up @@ -1045,6 +1052,12 @@ class ASTContext : public RefCountedBase<ASTContext> {
/// Create a new implicit TU-level typedef declaration.
TypedefDecl *buildImplicitTypedef(QualType T, StringRef Name) const;

/// Retrieve the declaration for the 48-bit signed integer type.
TypedefDecl *getInt48Decl() const;

/// Retrieve the declaration for the 48-bit unsigned integer type.
TypedefDecl *getUInt48Decl() const;

/// Retrieve the declaration for the 128-bit signed integer type.
TypedefDecl *getInt128Decl() const;

Expand Down
6 changes: 6 additions & 0 deletions clang/include/clang/AST/BuiltinTypes.def
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ UNSIGNED_TYPE(UInt, UnsignedIntTy)
// 'unsigned long'
UNSIGNED_TYPE(ULong, UnsignedLongTy)

// '__uint48_t'
UNSIGNED_TYPE(UInt48, UnsignedInt48Ty)

// 'unsigned long long'
UNSIGNED_TYPE(ULongLong, UnsignedLongLongTy)

Expand All @@ -115,6 +118,9 @@ SIGNED_TYPE(Int, IntTy)
// 'long' or 'signed long'
SIGNED_TYPE(Long, LongTy)

// '__int48_t'
SIGNED_TYPE(Int48, Int48Ty)

// 'long long' or 'signed long long'
SIGNED_TYPE(LongLong, LongLongTy)

Expand Down
Loading