Skip to content
Snippets Groups Projects
  1. Mar 21, 2016
  2. Mar 19, 2016
  3. Mar 17, 2016
  4. Mar 15, 2016
  5. Mar 14, 2016
  6. Mar 13, 2016
  7. Mar 08, 2016
  8. Mar 07, 2016
    • David Majnemer's avatar
      [MS ABI] Mangle symbols names longer than 4096 characters correctly · cd2998e3
      David Majnemer authored
      Really long symbols are hashed using MD5 and prefixed/suffixed with the
      usual sigils.  There is an additional reason beyond the usual
      compatibility with MSVC, it is important to keep COFF symbols shorter
      than 0xFFFF because the CodeView debugging format has a maximum
      symbol/record size of 0xFFFF.
      
      There are some quirks worth noting:
      - Some mangled names reference other entities which are mangled
      separately.  A quick example:
      
      int I;
      template <int *> struct S {};
      S<I> s;
      
      In this case, the mangling for 's' doesn't depend directly on the
      mangling for 'I'.  While 's' would need an MD5 hash if 'I' also needed
      one, the hash for 's' applied to the fully realized mangled name.  In
      other words, the mangled name for 's' will not depend on the MD5 of the
      mangled name for 'I'.
      
      - Some mangled names, like the venerable CatchableType, embed the MD5
      verbatim.
      
      - Finally, the complete object locator is handled as a special case.
      A complete object locators are mangled exactly like a VFTable except for
      a small deviation in the prefix sigils.  However, complete object
      locators for hashed vftables result in a complete object locator whose
      name is identical to the vftable except for an additional suffix.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262818 91177308-0d34-0410-b5e6-96231b3b80d8
      cd2998e3
  9. Mar 02, 2016
  10. Mar 01, 2016
    • John McCall's avatar
      Mangle extended qualifiers in the proper order and mangle the · a1ba3c7e
      John McCall authored
      ARC ownership-convention function type modifications.
      
      According to the Itanium ABI, vendor extended qualifiers are
      supposed to be mangled in reverse-alphabetical order before
      any CVR qualifiers.  The ARC function type conventions are
      plausibly order-significant (they are associated with the
      function type), which permits us to ignore the need to correctly
      inter-order them with any other vendor qualifiers on the parameter
      and return types.
      
      Implementing these rules correctly is technically an ABI break.
      Apple is comfortable with the risk of incompatibility here for
      the ARC features, and I believe that address-space qualification
      is still uncommon enough to allow us to adopt the conforming
      rule without serious risk.  Still, targets which make heavy
      use of address space qualification may want to revert to the
      non-conforming order.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262414 91177308-0d34-0410-b5e6-96231b3b80d8
      a1ba3c7e
  11. Feb 29, 2016
  12. Feb 26, 2016
    • Reid Kleckner's avatar
      [dllexport] Sort out emission order of delayed exported classes · 52f87071
      Reid Kleckner authored
      Relands r260194 with a fix. If we have a template that transitions from
      an extern template to an explicitly instantiated dllexport template, we
      would add that class to the delayed exported class list without flushing
      it.
      
      For explicit instantiations, we can just flush the list of delayed
      classes immediately. We don't have to worry about the bug fixed in
      r260194 in this case because explicit instantiations can only occur at
      file and namespace scope.
      
      Fixes PR26490.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262056 91177308-0d34-0410-b5e6-96231b3b80d8
      52f87071
  13. Feb 24, 2016
  14. Feb 23, 2016
  15. Feb 22, 2016
  16. Feb 20, 2016
  17. Feb 11, 2016
  18. Feb 10, 2016
  19. Feb 09, 2016
  20. Feb 07, 2016
  21. Feb 06, 2016
  22. Feb 05, 2016
  23. Feb 03, 2016
  24. Feb 02, 2016
Loading