Skip to content
  1. Apr 23, 2009
    • Douglas Gregor's avatar
      Eliminate the three SmallVectors in ObjCImplDecl (for instance · 29bd76fd
      Douglas Gregor authored
      methods, class methods, and property implementations) and instead
      place all of these entities into the DeclContext.
      
      This eliminates more linear walks when looking for class or instance
      methods and should make PCH (de-)serialization of ObjCDecls trivial
      (and lazy).
      
      llvm-svn: 69849
      29bd76fd
  2. Apr 22, 2009
    • Daniel Dunbar's avatar
      Don't convert interface types (to structs) as part of CodeGenTypes. · 7d4e1c5e
      Daniel Dunbar authored
       - This has pros and cons, but for now the pros seem to significantly
         outway the con.
      
      The con is that we will always need to cast in the runtime
      implementation to a struct type, if we wish to access an interface
      directly.
      
      The pros are:
       - Avoid the cost of generating types which are used. Most
         manipulation of Objective-C objects is done through messages, and
         only the implementation of a class will directly access
         memory. Previously, we would convert the type even if it only
         appear as a function parameter, for example.
      
       - We don't need to worry about incomplete types, and
         UpdateCompletedType for interfaces is gone.
      
       - It becomes easier to narrow the interface to the shadow struct for
         Objective-C interfaces (so it can be eliminated).
      
      Currently the runtimes still use the CodeGenTypes machinery to
      generate the LLVM structure they need via ConvertTagDecl, but this can
      eventually be replaced.
      
      llvm-svn: 69797
      7d4e1c5e
    • Chris Lattner's avatar
      Fix some mishandling of the attr(gnu_inline) mode when used with · f8dc0736
      Chris Lattner authored
      extern.  Previously we would warn about it and ignore the attribute.
      This is incorrect, it should be handled as a c89 "extern inline" 
      function.  Many thanks to Matthieu Castet for pointing this out and
      beating me over the head until I got it.
      
      PR3988: extern inline function are not externally visible
      llvm-svn: 69756
      f8dc0736
  3. Apr 21, 2009
  4. Apr 20, 2009
  5. Apr 19, 2009
  6. Apr 18, 2009
  7. Apr 17, 2009
  8. Apr 16, 2009
  9. Apr 15, 2009
  10. Apr 14, 2009
  11. Apr 13, 2009
  12. Apr 10, 2009
  13. Apr 09, 2009
  14. Apr 08, 2009
  15. Apr 07, 2009
    • Daniel Dunbar's avatar
      Various fixes to symbols used for Obj-C x86_64 metadata. · 15894b79
      Daniel Dunbar authored
       - Changed method names to match gcc (categories names still aren't
         mangled in).
      
       - Expose correct name for class and metadata symbols (although
         -fvisibility=hidden isn't yet correct).
      
       - Remove several things from llvm.used that didn't need to be there
         (I suspect this can still be trimmed).
      
       - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not
         needed).
      
       - Hide EH type class info with -fvisibility=hidden
      
       - Change setGlobal[Option]Visibility to not change the visibility of
         functions with internal linkage.
      
      llvm-svn: 68510
      15894b79
  16. Apr 04, 2009
Loading