Probably not, this might be a risky change.
- Erik

On 8/15/17 9:15 AM, Nico Weber wrote:
Do we want to merge this to 5.0?

On Tue, Aug 8, 2017 at 1:09 PM, Erik Pilkington via cfe-commits <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote:

    Author: epilk
    Date: Tue Aug  8 10:09:09 2017
    New Revision: 310382

    URL: http://llvm.org/viewvc/llvm-project?rev=310382&view=rev
    <http://llvm.org/viewvc/llvm-project?rev=310382&view=rev>
    Log:
    [Availability] Don't make an availability attribute imply default
    visibility on macOS

    Fixes PR33796, rdar://33655115

    Differential revision: https://reviews.llvm.org/D36191
    <https://reviews.llvm.org/D36191>

    Modified:
        cfe/trunk/docs/ReleaseNotes.rst
        cfe/trunk/lib/AST/Decl.cpp
        cfe/trunk/test/CodeGen/attr-availability.c

    Modified: cfe/trunk/docs/ReleaseNotes.rst
    URL:
    
http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=310382&r1=310381&r2=310382&view=diff
    
<http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=310382&r1=310381&r2=310382&view=diff>
    
==============================================================================
    --- cfe/trunk/docs/ReleaseNotes.rst (original)
    +++ cfe/trunk/docs/ReleaseNotes.rst Tue Aug  8 10:09:09 2017
    @@ -94,6 +94,9 @@ Clang now supports the ...
     Attribute Changes in Clang
     --------------------------

    +- The presence of __attribute__((availability(...))) on a
    declaration no longer
    +  implies default visibility for that declaration on macOS.
    +
     - ...

     Windows Support

    Modified: cfe/trunk/lib/AST/Decl.cpp
    URL:
    
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Decl.cpp?rev=310382&r1=310381&r2=310382&view=diff
    
<http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Decl.cpp?rev=310382&r1=310381&r2=310382&view=diff>
    
==============================================================================
    --- cfe/trunk/lib/AST/Decl.cpp (original)
    +++ cfe/trunk/lib/AST/Decl.cpp Tue Aug  8 10:09:09 2017
    @@ -216,14 +216,6 @@ static Optional<Visibility> getVisibilit
         return getVisibilityFromAttr(A);
       }

    -  // If we're on Mac OS X, an 'availability' for Mac OS X attribute
    -  // implies visibility(default).
    -  if (D->getASTContext().getTargetInfo().getTriple().isOSDarwin()) {
    -    for (const auto *A : D->specific_attrs<AvailabilityAttr>())
    -      if (A->getPlatform()->getName().equals("macos"))
    -        return DefaultVisibility;
    -  }
    -
       return None;
     }


    Modified: cfe/trunk/test/CodeGen/attr-availability.c
    URL:
    
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/attr-availability.c?rev=310382&r1=310381&r2=310382&view=diff
    
<http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/attr-availability.c?rev=310382&r1=310381&r2=310382&view=diff>
    
==============================================================================
    --- cfe/trunk/test/CodeGen/attr-availability.c (original)
    +++ cfe/trunk/test/CodeGen/attr-availability.c Tue Aug 8 10:09:09 2017
    @@ -8,9 +8,9 @@
     void f2();
     void f2() { }

    -// CHECK-10_4-LABEL: define void @f3
    -// CHECK-10_5-LABEL: define void @f3
    -// CHECK-10_6-LABEL: define void @f3
    +// CHECK-10_4-LABEL: define hidden void @f3
    +// CHECK-10_5-LABEL: define hidden void @f3
    +// CHECK-10_6-LABEL: define hidden void @f3
     void f3() __attribute__((availability(macosx,introduced=10.5)));
     void f3() { }



    _______________________________________________
    cfe-commits mailing list
    cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>
    http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
    <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to