Skip to content
  1. Sep 09, 2011
  2. Sep 08, 2011
  3. Sep 07, 2011
    • Eli Friedman's avatar
      Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics... · e9f8113e
      Eli Friedman authored
      Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which will go away).  LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything.
      
      There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now.
      
      I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier.  I would appreciate hearing from anyone who is using this intrinsic.
      
      llvm-svn: 139216
      e9f8113e
  4. Sep 06, 2011
  5. Sep 02, 2011
  6. Sep 01, 2011
  7. Aug 30, 2011
  8. Aug 27, 2011
  9. Aug 26, 2011
  10. Aug 25, 2011
  11. Aug 24, 2011
  12. Aug 23, 2011
  13. Aug 17, 2011
  14. Aug 16, 2011
  15. Aug 14, 2011
    • Eli Friedman's avatar
      Fix r137086 to actually work properly in general. PR10650. · 0be39708
      Eli Friedman authored
      llvm-svn: 137574
      0be39708
    • Francois Pichet's avatar
      Implement function template specialization at class scope extension in... · 00c7e6ce
      Francois Pichet authored
      Implement function template specialization at class scope extension in Microsoft mode. A new AST node is introduced: ClassScopeFunctionSpecialization. This node holds a FunctionDecl that is not yet specialized; then during the class template instantiation the ClassScopeFunctionSpecialization will spawn the actual function specialization.
      
      Example:
      template <class T>
      class A {
      public:
        template <class U> void f(U p) {  }
        template <> void f(int p) {  } // <== class scope specialization
      };
      
      This extension is necessary to parse MSVC standard C++ headers, MFC and ATL code.
      BTW, with this feature in, clang can parse (-fsyntax-only) all the MSVC 2010 standard header files without any error.
      
      llvm-svn: 137573
      00c7e6ce
Loading