Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 30, 2015
  1. @redstar

    LLVM 3.7: Debug info classes changed again.

    redstar authored
    The solution is to use a typedef to hide the differences in most cases.
Commits on Apr 28, 2015
  1. @redstar

    Refactoring the debug info for nested local variables.

    redstar authored
    - the debug info is now stored in the IrFunction object
      -> saves the lookup from VarDeclaration to IrVar
    - uses a llvm::DenseMap instead of std::map
      -> no comparison method required
      -> hashing should be faster then a tree lookup
Commits on Apr 26, 2015
  1. @redstar

    Fix a problem with debug info for nested local variables.

    redstar authored
    Debug info for nested local variables must be created for each
    function (with different address expression). The resulting
    debug info was not stored per function which resulted in the
    use of the last created debug info even if it was wrong.
    
    This commit fixes the bug and the current assertion with LLVM 3.7.
Commits on Apr 22, 2015
  1. LLVM 3.7: Metadata refactoring continues

    Martin authored
Commits on Apr 3, 2015
  1. @redstar

    LLVM 3.7: llvm::ConstantExpr::getElementPtr() wants element type.

    redstar authored
    This is the same change like the one on the GEP instruction.
Commits on Mar 15, 2015
  1. @JohanEngelen
Commits on Mar 6, 2015
  1. @redstar
Commits on Feb 28, 2015
  1. @redstar

    Fix for issue #841.

    redstar authored
    The `union` is not created as packed type. This seems to create problems with the default initializer:
    
        struct Foo
        {
            static union Bar
            {
                bool b;
                ulong l;
            }
    
            Bar bar;
        }
    
        static this()
        {
            Foo foo = Foo();
        }
    
    creates an error. If you change the order inside the union
    
            static union Bar
            {
                ulong l;
                bool b;
            }
    
    then the code works.
    
    Also cleans up the creation of the additonal zeroes for the initializer.
Commits on Feb 24, 2015
  1. @redstar

    Merge pull request #768 from kinke/vararg2

    redstar authored
    Varargs fix & ABI refactoring
Commits on Feb 23, 2015
  1. @redstar

    Fix some more warnings.

    redstar authored
    Replace format modifier %zu (for size_t) with %llu and a cast to unsigned long long.
  2. Eliminate dead code.

    Martin authored
  3. SysV ABI: prevent structs from being only partially passed in registers.

    Martin authored
    Only for formal parameters for now, optional args still need to be fixed.
  4. Refactor attributes system.

    Martin authored
    By introducing abstractions for attribute builder and set since they differ
    greatly between LLVM 3.1-3.3.
  5. Experimental varargs fix

    Martin authored
Commits on Dec 26, 2014
  1. @redstar

    Fix some warnings.

    redstar authored
    These are easy to solve and reduce the noise in the Travis build.
Commits on Dec 25, 2014
  1. @redstar

    Add changes related to the llvm::Metadata refactoring in LLVM 3.6.

    redstar authored
    In LLVM 3.6, the llvm::Metadata hierarchy is distinct from the llvm::Value hierarchy.
    This refactoring causes several changes.
Commits on Dec 16, 2014
  1. @redstar

    Fix for issue #809.

    redstar authored
    If there are gagged errors then `fatal()` is called in `irtypeaggr.cpp/AggrTypeBuilder::addAggregate()`.
    In this case `fatal()` should only be called is there is no error gagging and an overlapping initialization
    has been detected.
Commits on Oct 21, 2014
  1. @redstar

    Fix code generation for exceptions on Win64 and implement exception c…

    redstar authored
    …haining.
    
    This also reverts d12cc013df9d because this is a code generation issue.
Commits on Oct 16, 2014
  1. @redstar

    [WIP] Set real == double on Win64 MSVC.

    redstar authored
    The MS C Runtime does not support 80bit reals. Drop support in D, too.
Commits on Oct 15, 2014
  1. @redstar
  2. @redstar

    Really drop support for doubledouble on PPC32/64.

    redstar authored
    The IR was still using the doubledouble type for real on PPC32/64.
Commits on Oct 11, 2014
  1. @klickverbot

    Merge pull request #742 from klickverbot/vtbl-initializer

    klickverbot authored
    Fix issue with multiple initializers for classes that implement interfaces.
  2. @AlexeyProkhin
  3. @klickverbot

    Fix issue with multiple initializers for classes that implement inter…

    klickverbot authored
    …faces.
    
    This could happen when having e.g. a ClassReferenceExp in
    addition to the default initializer. Unfortunately, I could
    not easily distill a test case for this issue from a large
    application I was working on.
  4. @AlexeyProkhin
  5. @klickverbot

    [cleanup] Indentation fix.

    klickverbot authored
  6. @klickverbot

    Track member field index in IrTypeAggr, not IrField.

    klickverbot authored
    This fixes a regression introduced in caa2f15. The IrDsymbol
    metadata is obviously reset in between modules, while IrTypes
    are not. Thus, we can never set symbol metadata when resolving
    types, as the symbol data will be wrong in all modules following
    the one where the type was first resolved.
    
    GitHub: Fixes #739.
  7. @klickverbot
  8. @klickverbot
Commits on Oct 8, 2014
  1. @klickverbot

    Clean up linkage handling.

    klickverbot authored
    Since the change to the symbol emission strategy, a lot of the
    previous attempts to derive the linkage for a symbol from its
    AST node has been superfluous. This cleans up all the related
    code, as it is really not doing much anymore.
    
    The code to opportunistically internalize symbols is now gone
    entirely. It was commented out anyway due to problems with
    making it work reliably in the face of the not-so-stable
    structure of the AST we get from the frontend (regarding the
    modules certain symbols end up in). But in any case internal
    linkage woudl also be troublesome for cross-module inlining,
    so I gave up on making this work for the time being.
    
    The only (minor) change in the emitted code should be in
    .offTi generation, which is untested and disabled by default
    anyway (GENERATE_OFFTI).
Commits on Oct 5, 2014
  1. @AlexeyProkhin
  2. @AlexeyProkhin
  3. @AlexeyProkhin
Something went wrong with that request. Please try again.