[clang] Add support for sysroot-relative system header search paths (PR #82084)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -3191,6 +3191,22 @@ static bool ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args, bool IsIndexHeaderMap = false; bool IsSysrootSpecified = Args.hasArg(OPT__sysroot_EQ) || Args.hasArg(OPT_isysroot); + + // Expand a leading `=` to the sysroot if one w

[clang] Add support for sysroot-relative system header search paths (PR #82084)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/82084 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add support for sysroot-relative system header search paths (PR #82084)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd edited https://github.com/llvm/llvm-project/pull/82084 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -638,15 +638,15 @@ ObjCPropertyDecl *Sema::CreatePropertyDecl(Scope *S, PDecl->setInvalidDecl(); } - ProcessDeclAttributes(S, PDecl, FD.D); - // Regardless of setter/getter attribute, we save the default getter/setter // selector names in anticipation of declar

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,4 @@ +Name: SomeBrokenLib +Functions: + - Name: do_something_with_pointers +Nu llabilityOfRet: O compnerd wrote: Is it possible to comment that the space here is intentional? Particularly with this diff, it was difficult to verify until you get t

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -52,49 +52,54 @@ static void applyNullability(Sema &S, Decl *D, NullabilityKind Nullability, if (!Metadata.IsActive) return; - auto IsModified = [&](Decl *D, QualType QT, -NullabilityKind Nullability) -> bool { + auto GetModified = + [&

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,187 @@ +// RUN: rm -rf %t && mkdir -p %t + +// Build and check the unversioned module file. +// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Unversioned -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inp

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1 @@ +extern int FrameworkWithActualPrivateModule; compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1 @@ +garbage here because this file shouldn't get read compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llv

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,44 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache -fapinotes-modules -Wno-private-module -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -verify + +// Test with Swift versio

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1 @@ +extern int PrivateLib; compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listi

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1 @@ +garbage here because this file shouldn't get read compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llv

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,37 @@ +Name: HeaderLib +SwiftInferImportAsMember: true +Functions: + - Name: custom_realloc +NullabilityOfRet: N +Nullability: [ N, S ] + - Name: unavailable_function +Availability: none +AvailabilityMsg: "I beg you not to use this" + - Name: do_somet

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,187 @@ +// RUN: rm -rf %t && mkdir -p %t + +// Build and check the unversioned module file. +// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Unversioned -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inp

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,55 @@ +#ifndef SOMEKIT_H +#define SOMEKIT_H + +#define ROOT_CLASS __attribute__((objc_root_class)) + +ROOT_CLASS +@interface A +-(A*)transform:(A*)input; +-(A*)transform:(A*)input integer:(int)integer; + +@property (nonatomic, readonly, retain) A* someA; +@property (non

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1 @@ +extern int FrameworkWithWrongCase; compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/m

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1 @@ +extern int TopLevelPrivateKit_Public; compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bi

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,2 @@ +#include +extern int FrameworkWithActualPrivateModule_Private; compnerd wrote: Missing newline https://github.com/llvm/llvm-project/pull/84773 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[clang] [APINotes] Upstream the remaining API Notes fixes and tests (PR #84773)

2024-03-19 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,6 @@ +// RUN: rm -rf %t +// RUN: not %clang_cc1 -fsyntax-only -fapinotes %s -I %S/Inputs/BrokenHeaders2 2>&1 | FileCheck %s compnerd wrote: Extra space after `-fapinotes` https://github.com/llvm/llvm-project/pull/84773 __

[clang] [APINotes] For a re-exported module, look for APINotes in the re-exporting module's apinotes file (PR #86820)

2024-03-27 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/86820 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [compiler-rt] [flang] [lld] [lldb] [llvm] [mlir] [openmp] [pstl] Finally formalise our defacto line-ending policy (PR #86318)

2024-03-27 Thread Saleem Abdulrasool via cfe-commits
compnerd wrote: Philosophically, I agree with this change. Enshrining the information about the line endings into the SCM tool makes sense. I think that the concern that I have is that do we have sufficient testing for supporting line-ending dependent behaviour in the compiler? Additionally, d

[clang] [APINotes] Add test for C++ class templates (PR #87006)

2024-03-28 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/87006 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][AST] Print attributes of Obj-C interfaces (PR #84772)

2024-03-11 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/84772 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-23 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,1014 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-23 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,995 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-23 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-23 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-23 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-23 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd edited https://github.com/llvm/llvm-project/pull/78445 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. Most of the new comments are nits and small readability tweaks. I still would like to avoid the double `dyn_cast` checks, but I don't know if this is worth holding up on at that point. Thank you for the multiple rounds on this and sorry

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-24 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,989 @@ +//===--- SemaAPINotes.cpp - API Notes Handling ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Fix a few accidental refactoring artifacts (PR #83057)

2024-02-26 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/83057 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Frontend: sink vendor definitions from Basic to Frontend (PR #80364)

2024-02-01 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd created https://github.com/llvm/llvm-project/pull/80364 The vendor specific macro definitions are based on the vendor rather than the target specific information. This ensures that `__APPLE__` is always defined for `*-apple-*` targets. Take the opportunity to do lik

[clang] Frontend: sink vendor definitions from Basic to Frontend (PR #80364)

2024-02-01 Thread Saleem Abdulrasool via cfe-commits
compnerd wrote: CC: @kubamracek https://github.com/llvm/llvm-project/pull/80364 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Frontend: sink vendor definitions from Basic to Frontend (PR #80364)

2024-02-01 Thread Saleem Abdulrasool via cfe-commits
@@ -804,6 +804,11 @@ static void InitializePredefinedMacros(const TargetInfo &TI, } } + if (TI.getTriple().getVendor() == Triple::AMD) +Builder.defineMacro("__AMD__"); + if (TI.getTriple().getVendor() == Triple::Apple) +Builder.defineMacro("__APPLE__"); --

[clang] Frontend: sink vendor definitions from Basic to Frontend (PR #80364)

2024-02-03 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd updated https://github.com/llvm/llvm-project/pull/80364 >From 2bff496bd1b3c1bc5177f5072c2c7b8a4db54f14 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 1 Feb 2024 15:37:39 -0800 Subject: [PATCH] Frontend: sink vendor definitions from Basic to Frontend Th

[clang] Frontend: sink vendor definitions from Basic to Frontend (PR #80364)

2024-02-04 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd updated https://github.com/llvm/llvm-project/pull/80364 >From c895dff0e59b9d851c15e5b3b25a735478b811fc Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 1 Feb 2024 15:37:39 -0800 Subject: [PATCH] Frontend: sink vendor definitions from Basic to Frontend Th

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -2622,6 +2641,31 @@ def SwiftPrivate : InheritableAttr { let SimpleHandler = 1; } +def SwiftVersioned : Attr { + // This attribute has no spellings as it is only ever created implicitly + // from API notes. + let Spellings = []; + let Args = [VersionArgument<"Version"

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -301,6 +301,9 @@ class VariadicEnumArgument values, bit IsExternalType = isExternalType; } +// Represents an attribute wrapped by another attribute. +class AttrArgument : Argument; compnerd wrote: Does it make sense to name this `WrappedAttribute` instea

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -2601,6 +2604,22 @@ def SwiftError : InheritableAttr { let Documentation = [SwiftErrorDocs]; } +def SwiftImportAsNonGeneric : InheritableAttr { compnerd wrote: Wasn't this attribute dropped? I thought that the last usage of this was removed from the SD

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -2622,6 +2641,31 @@ def SwiftPrivate : InheritableAttr { let SimpleHandler = 1; } +def SwiftVersioned : Attr { compnerd wrote: I think that we should name this `SwiftVersionedAddition` to match the `SwiftVersionedRemoval`. https://github.com/llvm/llvm-

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -15139,6 +15139,37 @@ void Sema::DiagnoseSizeOfParametersAndReturnValue( } } +QualType Sema::AdjustParameterTypeForObjCAutoRefCount(QualType T, + SourceLocation NameLoc, +

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -7539,74 +7559,65 @@ static NullabilityKind mapNullabilityAttrKind(ParsedAttr::Kind kind) { } } -/// Applies a nullability type specifier to the given type, if possible. -/// -/// \param state The type processing state. -/// -/// \param type The type to which the nullabi

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -15139,6 +15139,37 @@ void Sema::DiagnoseSizeOfParametersAndReturnValue( } } +QualType Sema::AdjustParameterTypeForObjCAutoRefCount(QualType T, + SourceLocation NameLoc, +

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -7519,6 +7519,26 @@ static bool HandleWebAssemblyFuncrefAttr(TypeProcessingState &State, return false; } +/// Rebuild an attributed type without the nullability attribute on it. +static QualType rebuildAttributedTypeWithoutNullability(ASTContext &Ctx, +

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -7539,74 +7559,65 @@ static NullabilityKind mapNullabilityAttrKind(ParsedAttr::Kind kind) { } } -/// Applies a nullability type specifier to the given type, if possible. -/// -/// \param state The type processing state. -/// -/// \param type The type to which the nullabi

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-12 Thread Saleem Abdulrasool via cfe-commits
@@ -7519,6 +7519,26 @@ static bool HandleWebAssemblyFuncrefAttr(TypeProcessingState &State, return false; } +/// Rebuild an attributed type without the nullability attribute on it. +static QualType rebuildAttributedTypeWithoutNullability(ASTContext &Ctx, +

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-14 Thread Saleem Abdulrasool via cfe-commits
@@ -1994,6 +2004,106 @@ class CGObjCGNUstep2 : public CGObjCGNUstep { { PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty }); } +void GenerateDirectMethodPrologue(CodeGenFunction &CGF, llvm::Function *Fn, +

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-14 Thread Saleem Abdulrasool via cfe-commits
@@ -1994,6 +2004,106 @@ class CGObjCGNUstep2 : public CGObjCGNUstep { { PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty }); } +void GenerateDirectMethodPrologue(CodeGenFunction &CGF, llvm::Function *Fn, +

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-14 Thread Saleem Abdulrasool via cfe-commits
@@ -3906,14 +4028,50 @@ llvm::Function *CGObjCGNU::GenerateMethod(const ObjCMethodDecl *OMD, CodeGenTypes &Types = CGM.getTypes(); llvm::FunctionType *MethodTy = Types.GetFunctionType(Types.arrangeObjCMethodDeclaration(OMD)); - std::string FunctionName = getSymbolName

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-14 Thread Saleem Abdulrasool via cfe-commits
@@ -1994,6 +2004,106 @@ class CGObjCGNUstep2 : public CGObjCGNUstep { { PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty }); } +void GenerateDirectMethodPrologue(CodeGenFunction &CGF, llvm::Function *Fn, +

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-16 Thread Saleem Abdulrasool via cfe-commits
@@ -2601,6 +2604,22 @@ def SwiftError : InheritableAttr { let Documentation = [SwiftErrorDocs]; } +def SwiftImportAsNonGeneric : InheritableAttr { compnerd wrote: Ah, okay. https://github.com/llvm/llvm-project/pull/73017 ___

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-16 Thread Saleem Abdulrasool via cfe-commits
@@ -7539,74 +7559,65 @@ static NullabilityKind mapNullabilityAttrKind(ParsedAttr::Kind kind) { } } -/// Applies a nullability type specifier to the given type, if possible. -/// -/// \param state The type processing state. -/// -/// \param type The type to which the nullabi

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #73017)

2024-01-16 Thread Saleem Abdulrasool via cfe-commits
compnerd wrote: Do we want to submit the first three in the series and then take on the topmost commit? https://github.com/llvm/llvm-project/pull/73017 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/list

[clang] [APINotes] Upstream dependencies of Sema logic to apply API Notes to decls (PR #73017)

2024-01-16 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/73017 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-cl] document correct defaults for `-fms-compatibility-version` / `-fmsc-version` (PR #76418)

2024-01-16 Thread Saleem Abdulrasool via cfe-commits
compnerd wrote: Thank you for fixing the documentation! https://github.com/llvm/llvm-project/pull/76418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-cl] document correct defaults for `-fms-compatibility-version` / `-fmsc-version` (PR #76418)

2024-01-16 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd closed https://github.com/llvm/llvm-project/pull/76418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-21 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. Left some minor nits. https://github.com/llvm/llvm-project/pull/78030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-21 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd edited https://github.com/llvm/llvm-project/pull/78030 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-21 Thread Saleem Abdulrasool via cfe-commits
@@ -2006,6 +2024,106 @@ class CGObjCGNUstep2 : public CGObjCGNUstep { { PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty, PtrToInt8Ty }); } +void GenerateDirectMethodPrologue(CodeGenFunction &CGF, llvm::Function *Fn, +

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-21 Thread Saleem Abdulrasool via cfe-commits
@@ -2649,13 +2767,18 @@ CGObjCGNU::GenerateMessageSend(CodeGenFunction &CGF, } } + bool isDirect = Method && Method->isDirectMethod(); + IdTy = cast(CGM.getTypes().ConvertType(ASTIdTy)); llvm::Value *cmd; - if (Method) -cmd = GetSelector(CGF, Method); - else

[clang] Enable direct methods and fast alloc calls for libobjc2. (PR #78030)

2024-01-21 Thread Saleem Abdulrasool via cfe-commits
@@ -463,7 +471,8 @@ class ObjCRuntime { case iOS: return true; case WatchOS: return true; case GCC: return false; -case GNUstep: return false; +case GNUstep: + return (getVersion() >= VersionTuple(2, 2)); compnerd wrote: The parenthesi

[clang] [APINotes] Upstream APINotesReader (PR #66769)

2023-10-20 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,202 @@ +//===--- APINotesReader.h - API Notes Reader *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream APINotesReader (PR #66769)

2023-10-20 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,202 @@ +//===--- APINotesReader.h - API Notes Reader *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream APINotesReader (PR #66769)

2023-10-20 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,2001 @@ +//===--- APINotesReader.cpp - API Notes Reader --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [APINotes] Upstream APINotesReader (PR #66769)

2023-10-27 Thread Saleem Abdulrasool via cfe-commits
@@ -0,0 +1,202 @@ +//===--- APINotesReader.h - API Notes Reader *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [APINotes] Upstream APINotesReader (PR #66769)

2023-10-27 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/66769 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: r309226 - Headers: improve ARM EHABI coverage of unwind.h

2017-08-12 Thread Saleem Abdulrasool via cfe-commits
hu, Jul 27, 2017 at 9:46 AM, Hans Wennborg via cfe-commits > wrote: > > Merged to 5.0 in r309290. > > > > On Wed, Jul 26, 2017 at 3:55 PM, Saleem Abdulrasool via cfe-commits > > wrote: > >> Author: compnerd > >> Date: Wed Jul 26 15:55:23 2017 > >> Ne

Re: r309226 - Headers: improve ARM EHABI coverage of unwind.h

2017-08-22 Thread Saleem Abdulrasool via cfe-commits
; >>>>> > >>>>> compiler-rt/lib/builtins/gcc_personality_v0.c:153:23: error: > >>>>> declaration of 'struct _Unwind_Exception' will not be visible outside > >>>>> of this function [-Werror,-Wvisibility] > >>>

[libunwind] r311562 - unwind: explicitly align `_Unwind_Control_Block`

2017-08-23 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Wed Aug 23 08:33:45 2017 New Revision: 311562 URL: http://llvm.org/viewvc/llvm-project?rev=311562&view=rev Log: unwind: explicitly align `_Unwind_Control_Block` The C++ ABI requires that the exception object is double-word aligned. The alignment attribute was applied to the

r311563 - Headers: give _Unwind_Control_Block double-word alignment

2017-08-23 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Wed Aug 23 08:35:33 2017 New Revision: 311563 URL: http://llvm.org/viewvc/llvm-project?rev=311563&view=rev Log: Headers: give _Unwind_Control_Block double-word alignment The C++ ABI requires that the exception object (which under AEABI is the `_Unwind_Control_Block`) is dou

Re: r311563 - Headers: give _Unwind_Control_Block double-word alignment

2017-08-23 Thread Saleem Abdulrasool via cfe-commits
Hans, Can we get this merged to the 5.0 branch as well? This corresponds to the libunwind fix for the alignment of the exception type. Thanks! On Wed, Aug 23, 2017 at 8:36 AM Saleem Abdulrasool via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: compnerd > Date: Wed Aug

[libunwind] r311574 - ARM: explicitly specify the 8-byte alignment

2017-08-23 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Wed Aug 23 09:50:27 2017 New Revision: 311574 URL: http://llvm.org/viewvc/llvm-project?rev=311574&view=rev Log: ARM: explicitly specify the 8-byte alignment It seems that GCC interprets `__attribute__((__aligned__))` as 8-byte alignment on ARM, but clang does not. Explicit

r311576 - Headers: explicitly specify double-word alignment

2017-08-23 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Wed Aug 23 09:57:55 2017 New Revision: 311576 URL: http://llvm.org/viewvc/llvm-project?rev=311576&view=rev Log: Headers: explicitly specify double-word alignment GCC will interpret `__attribute__((__aligned__))` as 8-byte alignment on ARM, but clang will not. Explicitly sp

r311617 - ObjC++: decorate ObjC interfaces in MSABI properly

2017-08-23 Thread Saleem Abdulrasool via cfe-commits
Author: compnerd Date: Wed Aug 23 15:38:58 2017 New Revision: 311617 URL: http://llvm.org/viewvc/llvm-project?rev=311617&view=rev Log: ObjC++: decorate ObjC interfaces in MSABI properly `id` needs to be handled specially since it is a `TypedefType` which is sugar for an `ObjCObjectPointerType` wh

[clang] abb0075 - build: reduce CMake handling for zlib

2020-01-02 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-01-02T11:19:12-08:00 New Revision: abb00753069554c538f3d850897373d093389945 URL: https://github.com/llvm/llvm-project/commit/abb00753069554c538f3d850897373d093389945 DIFF: https://github.com/llvm/llvm-project/commit/abb00753069554c538f3d850897373d093389945.

[clang] f5ab5b2 - Sema: add support for `__attribute__((__swift_error__))`

2020-09-11 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-11T21:20:38Z New Revision: f5ab5b20fb2aae5567e6c50cc642ff63eb2146d4 URL: https://github.com/llvm/llvm-project/commit/f5ab5b20fb2aae5567e6c50cc642ff63eb2146d4 DIFF: https://github.com/llvm/llvm-project/commit/f5ab5b20fb2aae5567e6c50cc642ff63eb2146d4.diff

[clang] 43e6c59 - docs: add a newline to appease Sphinx

2020-09-11 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-11T22:09:29Z New Revision: 43e6c59f1c1fc3c1b9cdcddfe9826b9abf2cfb73 URL: https://github.com/llvm/llvm-project/commit/43e6c59f1c1fc3c1b9cdcddfe9826b9abf2cfb73 DIFF: https://github.com/llvm/llvm-project/commit/43e6c59f1c1fc3c1b9cdcddfe9826b9abf2cfb73.diff

[clang] 916b434 - Sema: add support for `__attribute__((__swift_objc_members__))`

2020-09-14 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-14T15:24:41Z New Revision: 916b43403588a85425bbc82712427cf53ed877cc URL: https://github.com/llvm/llvm-project/commit/916b43403588a85425bbc82712427cf53ed877cc DIFF: https://github.com/llvm/llvm-project/commit/916b43403588a85425bbc82712427cf53ed877cc.diff

[clang] 7d26d6a - Sema: add support for `__attribute__((__swift_bridged_typedef__))`

2020-09-15 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-15T20:15:34Z New Revision: 7d26d6a1b062f7ce820b02b39d102d5f8f15fa5f URL: https://github.com/llvm/llvm-project/commit/7d26d6a1b062f7ce820b02b39d102d5f8f15fa5f DIFF: https://github.com/llvm/llvm-project/commit/7d26d6a1b062f7ce820b02b39d102d5f8f15fa5f.diff

[clang] 77a01d9 - Sema: add support for `__attribute__((__swift_bridge__))`

2020-09-16 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-16T17:54:57Z New Revision: 77a01d9498a79d2e6e3f366fdb363928f188ec11 URL: https://github.com/llvm/llvm-project/commit/77a01d9498a79d2e6e3f366fdb363928f188ec11 DIFF: https://github.com/llvm/llvm-project/commit/77a01d9498a79d2e6e3f366fdb363928f188ec11.diff

[clang] 9bb5ecf - Sema: introduce `__attribute__((__swift_name__))`

2020-09-22 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-22T15:32:23Z New Revision: 9bb5ecf1f760e1b1fe4697189e4db99100baffad URL: https://github.com/llvm/llvm-project/commit/9bb5ecf1f760e1b1fe4697189e4db99100baffad DIFF: https://github.com/llvm/llvm-project/commit/9bb5ecf1f760e1b1fe4697189e4db99100baffad.diff

[clang] 296d883 - Sema: add support for `__attribute__((__swift_newtype__))`

2020-09-24 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-24T15:17:35Z New Revision: 296d8832a3b5fe97725be62c5bbc721cc0e2cd20 URL: https://github.com/llvm/llvm-project/commit/296d8832a3b5fe97725be62c5bbc721cc0e2cd20 DIFF: https://github.com/llvm/llvm-project/commit/296d8832a3b5fe97725be62c5bbc721cc0e2cd20.diff

[clang] d34c8c7 - Basic: add an extra newline for sphinx (NFC)

2020-09-24 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-24T18:51:10Z New Revision: d34c8c70aae2a5421337c2ccac91130c70511f94 URL: https://github.com/llvm/llvm-project/commit/d34c8c70aae2a5421337c2ccac91130c70511f94 DIFF: https://github.com/llvm/llvm-project/commit/d34c8c70aae2a5421337c2ccac91130c70511f94.diff

[clang] 76eb163 - Sema: remove unnecessary parameter for SwiftName handling (NFCI)

2020-09-25 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-25T17:01:06Z New Revision: 76eb163259c46171559a49111a394a3e48d1e523 URL: https://github.com/llvm/llvm-project/commit/76eb163259c46171559a49111a394a3e48d1e523 DIFF: https://github.com/llvm/llvm-project/commit/76eb163259c46171559a49111a394a3e48d1e523.diff

[clang] 58cdbf5 - Sema: add support for `__attribute__((__swift_private__))`

2020-09-25 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-25T22:33:53Z New Revision: 58cdbf518b6ebaee59d0492375e2e8f7da87ca41 URL: https://github.com/llvm/llvm-project/commit/58cdbf518b6ebaee59d0492375e2e8f7da87ca41 DIFF: https://github.com/llvm/llvm-project/commit/58cdbf518b6ebaee59d0492375e2e8f7da87ca41.diff

[clang] f4ac79a - Sema: extract a check for `isCFError` (NFC)

2020-09-08 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-09-08T20:07:47Z New Revision: f4ac79a364f2de7270a3238b176e17b40b036305 URL: https://github.com/llvm/llvm-project/commit/f4ac79a364f2de7270a3238b176e17b40b036305 DIFF: https://github.com/llvm/llvm-project/commit/f4ac79a364f2de7270a3238b176e17b40b036305.diff

[clang] b13f741 - APINotes: add bitcode format schema definitions

2020-12-08 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-12-08T21:15:41Z New Revision: b13f74151137f33327e0549adc9778aebf98a299 URL: https://github.com/llvm/llvm-project/commit/b13f74151137f33327e0549adc9778aebf98a299 DIFF: https://github.com/llvm/llvm-project/commit/b13f74151137f33327e0549adc9778aebf98a299.diff

[clang] 82f86ae - APINotes: add APINotesYAMLCompiler

2020-11-05 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-11-05T18:55:13Z New Revision: 82f86ae01a54ff8e3a5aaefd24745ef2b7b917ba URL: https://github.com/llvm/llvm-project/commit/82f86ae01a54ff8e3a5aaefd24745ef2b7b917ba DIFF: https://github.com/llvm/llvm-project/commit/82f86ae01a54ff8e3a5aaefd24745ef2b7b917ba.diff

[clang] e551578 - APINotes: repair the Windows builders

2020-11-05 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-11-05T21:25:52Z New Revision: e55157874cf20acef55ca20a87699bf77b7cfd3a URL: https://github.com/llvm/llvm-project/commit/e55157874cf20acef55ca20a87699bf77b7cfd3a DIFF: https://github.com/llvm/llvm-project/commit/e55157874cf20acef55ca20a87699bf77b7cfd3a.diff

[clang] 85d5064 - docs: add documentation describing API Notes

2020-10-05 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-10-05T18:29:13Z New Revision: 85d506400081e121ef876a4c66fb337b050dcae6 URL: https://github.com/llvm/llvm-project/commit/85d506400081e121ef876a4c66fb337b050dcae6 DIFF: https://github.com/llvm/llvm-project/commit/85d506400081e121ef876a4c66fb337b050dcae6.diff

[clang] 5d74c43 - DirectoryWatcher: add an implementation for Windows

2020-10-09 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-10-09T20:55:57Z New Revision: 5d74c435117526616d2c2665f030263b8f60da1b URL: https://github.com/llvm/llvm-project/commit/5d74c435117526616d2c2665f030263b8f60da1b DIFF: https://github.com/llvm/llvm-project/commit/5d74c435117526616d2c2665f030263b8f60da1b.diff

[clang] 273c299 - [PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting

2020-10-15 Thread Saleem Abdulrasool via cfe-commits
Author: Vedant Kumar Date: 2020-10-15T23:13:33Z New Revision: 273c299d5d649a0222fbde03c9a41e41913751b4 URL: https://github.com/llvm/llvm-project/commit/273c299d5d649a0222fbde03c9a41e41913751b4 DIFF: https://github.com/llvm/llvm-project/commit/273c299d5d649a0222fbde03c9a41e41913751b4.diff LOG:

[clang] f6b02ec - APINotes: add property models for YAML attributes

2020-11-23 Thread Saleem Abdulrasool via cfe-commits
Author: Saleem Abdulrasool Date: 2020-11-23T21:29:17Z New Revision: f6b02ecd027a825f1f4a1804c464f9f96d9372c9 URL: https://github.com/llvm/llvm-project/commit/f6b02ecd027a825f1f4a1804c464f9f96d9372c9 DIFF: https://github.com/llvm/llvm-project/commit/f6b02ecd027a825f1f4a1804c464f9f96d9372c9.diff

<    1   2   3   4   5   6   7   8   9   10   >