Skip to content
Snippets Groups Projects
  1. Oct 03, 2014
  2. Sep 23, 2014
    • Reid Kleckner's avatar
      Fix a vftable mangling bug · 938cd3af
      Reid Kleckner authored
      We need to walk the class hierarchy twice: once in depth-first base
      specifier order for mangling and again in depth-first layout order for
      vftable layout.
      
      Vftable layout seems to depend on the full path from the most derived
      class to the base containing the vfptr.
      
      Fixes PR21031.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218285 91177308-0d34-0410-b5e6-96231b3b80d8
      938cd3af
  3. Sep 12, 2014
  4. Aug 09, 2014
  5. Jun 06, 2014
    • Hans Wennborg's avatar
      MS ABI: Update the thunk linkage computation · 6c87b4a7
      Hans Wennborg authored
      As suggested by Reid:
      
       - class has GVA_Internal linkage -> internal
       - thunk has return adjustment -> weak_odr, to handle evil corner case [1]
       - all other normal methods -> linkonce_odr
      
       1. Evil corner case:
      
        struct Incomplete;
        struct A { int a; virtual A *bar(); };
        struct B { int b; virtual B *foo(Incomplete); };
        struct C : A, B { int c; virtual C *foo(Incomplete); };
        C c;
      
      Here, the thunk for C::foo() will be emitted when C::foo() is defined, which
      might be in a different translation unit, so it needs to be weak_odr.
      
      Differential Revision: http://reviews.llvm.org/D3992
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210368 91177308-0d34-0410-b5e6-96231b3b80d8
      6c87b4a7
  6. Apr 18, 2014
  7. Mar 26, 2014
  8. Mar 25, 2014
  9. Mar 23, 2014
  10. Mar 20, 2014
  11. Mar 07, 2014
  12. Mar 05, 2014
  13. Feb 27, 2014
  14. Jan 14, 2014
    • Hans Wennborg's avatar
      Remove the -cxx-abi command-line flag. · 11b1b8ab
      Hans Wennborg authored
      This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples,
      Itanium otherwise. It's no longer possible to do weird combinations.
      
      To be able to run a test with a specific ABI without constraining it to a
      specific triple, new substitutions are added to lit: %itanium_abi_triple and
      %ms_abi_triple can be used to get the current target triple adjusted to the
      desired ABI. For example, if the test suite is running with the i686-pc-win32
      target, %itanium_abi_triple will expand to i686-pc-mingw32.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2545
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199250 91177308-0d34-0410-b5e6-96231b3b80d8
      11b1b8ab
  15. Dec 12, 2013
  16. Nov 08, 2013
  17. Oct 30, 2013
  18. Oct 29, 2013
  19. Oct 16, 2013
  20. Oct 09, 2013
  21. Oct 08, 2013
  22. Sep 27, 2013
  23. Jul 30, 2013
Loading