Skip to content
  • bolsinga@apple.com's avatar
    Reviewed by Darin Adler. · 97e42c46
    bolsinga@apple.com authored
            https://bugs.webkit.org/show_bug.cgi?id=21810
            Remove use of static C++ objects that are destroyed at exit time (destructors)
    
            Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid 
            exit-time destructor. Update code that was changed to fix this issue that ran 
            into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference 
            in gcc build 5465). Also typdefs for template types needed to be added in some 
            cases so the type could make it through the macro successfully.
    
            Basically code of the form:
            static T m;
            becomes:
            DEFINE_STATIC_LOCAL(T, m, ());
    
            Also any code of the form:
            static T& m = *new T;
            also becomes:
            DEFINE_STATIC_LOCAL(T, m, ());
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    97e42c46