llvmbot wrote:
@llvm/pr-subscribers-clang-modules
Author: Doug Wyatt (dougsonos)
Changes
Rough first draft. This is an early PR to solicit comments on the overall
approach and a number of outstanding questions. Some of the larger ones,
"earlier" in the flow (from parse -> Sema):
- Does
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff ad23127222fe23e28ac3deaa16f3ae64d13b7b6f
2a1b0d2d99c9bc4595dfc98f250bf43d23a28093 --
https://github.com/clementval updated
https://github.com/llvm/llvm-project/pull/84944
>From e42e8fe7f1dfe503a6735ef76e9d6483f5c9b5ec Mon Sep 17 00:00:00 2001
From: Valentin Clement
Date: Tue, 12 Mar 2024 09:33:17 -0700
Subject: [PATCH 1/2] [flang][cuda] Add -fcuda option
---
clang/include/cla
https://github.com/clementval deleted
https://github.com/llvm/llvm-project/pull/84944
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6488,6 +6488,9 @@ defm stack_arrays : BoolOptionWithoutMarshalling<"f",
"stack-arrays",
defm loop_versioning : BoolOptionWithoutMarshalling<"f",
"version-loops-for-stride",
PosFlag,
NegFlag>;
+
+def fcuda : Flag<["-"], "fcuda">, Group,
clementval wro
https://github.com/Sirraide updated
https://github.com/llvm/llvm-project/pull/83063
>From 5418bec794ad1df54f49a1c8d317a75d56290239 Mon Sep 17 00:00:00 2001
From: Sirraide
Date: Mon, 26 Feb 2024 19:53:42 +0100
Subject: [PATCH 1/4] [Clang] [Sema] Remove incorrect int-to-complex-float
conversion
https://github.com/dougsonos edited
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Sirraide wrote:
Alright, just checking that the AST dump doesn’t contain
`FloatingRealToComplex` seems to work pretty well.
https://github.com/llvm/llvm-project/pull/83063
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/
https://github.com/dougsonos converted_to_draft
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll commented:
`Sema.h` changes look good to me. Thank you for putting new functions in all
the right places!
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.
Endilll wrote:
> This is an early PR to solicit comments on the overall approach and a number
> of outstanding questions.
You should advertise this elsewhere (e.g. in RFC thread), or remove the draft
status so that reviewers can see this as something they should provide feedback
on.
https://
Sirraide wrote:
Just requested more reviews real quick because this has been open for a month
now, and Corentin apparently won’t be able to review prs until April, and I’d
also feel a bit bad if I kept pinging just him about this over and over again...
https://github.com/llvm/llvm-project/pull
https://github.com/Zonotora updated
https://github.com/llvm/llvm-project/pull/75481
>From cd64144a4cf18adba1494871bfd9da1b0bf0a489 Mon Sep 17 00:00:00 2001
From: Zonotora
Date: Sat, 16 Dec 2023 19:33:21 +0100
Subject: [PATCH 1/3] [clang] Extract negativity check lambda to function
---
clang/l
https://github.com/Zonotora updated
https://github.com/llvm/llvm-project/pull/75481
>From f0f02479736548a72c8a35ca3fea067b02e66bfd Mon Sep 17 00:00:00 2001
From: Zonotora
Date: Sat, 16 Dec 2023 19:33:21 +0100
Subject: [PATCH 1/3] [clang] Extract negativity check lambda to function
---
clang/l
@@ -26996,18 +26996,38 @@ class, structure, array, or other object.
Arguments:
""
-The ``llvm.objectsize`` intrinsic takes four arguments. The first argument is a
-pointer to or into the ``object``. The second argument determines whether
-``llvm.objectsize`` returns 0
vvereschaka wrote:
@weliveindetail ,
the
`Clang-Unit::ClangReplInterpreterTests.exe/InterpreterExtensionsTest/ExecutorCreateReset`
gets failed on the Clang Windows buidler
*
https://lab.llvm.org/buildbot/#/builders/86/builds/76043/steps/8/logs/FAIL__Clang-Unit__ClangReplInterpreterTests_exe_In
@@ -26996,18 +26996,38 @@ class, structure, array, or other object.
Arguments:
""
-The ``llvm.objectsize`` intrinsic takes four arguments. The first argument is a
-pointer to or into the ``object``. The second argument determines whether
-``llvm.objectsize`` returns 0
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/79382
>From 762646ef1d95efa968199156b52a60c3472a7611 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 29 Feb 2024 15:37:50 -0600
Subject: [PATCH] [HLSL] Pass arrays by value
HLSL constant sized array functi
https://github.com/llvm-beanz edited
https://github.com/llvm/llvm-project/pull/79382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
weliveindetail wrote:
Yes, I think I can fix it quickly
https://github.com/llvm/llvm-project/pull/84460
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zygoloid edited
https://github.com/llvm/llvm-project/pull/83204
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvm-beanz wrote:
I force pushed an update here because the new implementation is basically a
complete rewrite based on @efriedma-quic's suggestion. I think this is a
significantly cleaner approach that more accurately models the behavior of HLSL.
https://github.com/llvm/llvm-project/pull/7938
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/79382
>From 762646ef1d95efa968199156b52a60c3472a7611 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 29 Feb 2024 15:37:50 -0600
Subject: [PATCH 1/2] [HLSL] Pass arrays by value
HLSL constant sized array fu
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/79382
>From 762646ef1d95efa968199156b52a60c3472a7611 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 29 Feb 2024 15:37:50 -0600
Subject: [PATCH 1/3] [HLSL] Pass arrays by value
HLSL constant sized array fu
@@ -857,8 +881,13 @@ void CXXRecordDecl::addedMember(Decl *D) {
data().HasDeclaredCopyAssignmentWithConstParam = true;
}
-if (Method->isMoveAssignmentOperator())
+if (Method->isMoveAssignmentOperator()) {
SMKind |= SMF_MoveAssignment;
+}
+
+i
weiguozhi wrote:
> We have another use case for this calling convention - micropatching. See my
> coworker's blog post on how this would work:
> https://www.philipzucker.com/permutation_compile/
>
I'm happy to see it's useful to you.
> Is there a reason why r10 isn't included in the list of
https://github.com/topperc updated
https://github.com/llvm/llvm-project/pull/83896
>From f22a5cd30f77b2043f9c1f7f4482fad87fb79250 Mon Sep 17 00:00:00 2001
From: Craig Topper
Date: Mon, 4 Mar 2024 11:24:34 -0800
Subject: [PATCH 1/6] [RISCV] Add back SiFive's cdiscard.d.l1 and cflush.d.l1
instru
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff f1ca2a09671e4d4acc2bea362b39268ed7883b6d
c31b2fd3cb923bc306cf9d086bb7723e4c7004cd --
@@ -26996,18 +26996,38 @@ class, structure, array, or other object.
Arguments:
""
-The ``llvm.objectsize`` intrinsic takes four arguments. The first argument is a
-pointer to or into the ``object``. The second argument determines whether
-``llvm.objectsize`` returns 0
Author: Stefan Gränitz
Date: 2024-03-12T23:14:23+01:00
New Revision: d73c2d5df21735805a1f46a85790db64c0615e1c
URL:
https://github.com/llvm/llvm-project/commit/d73c2d5df21735805a1f46a85790db64c0615e1c
DIFF:
https://github.com/llvm/llvm-project/commit/d73c2d5df21735805a1f46a85790db64c0615e1c.diff
Author: Michael Buch
Date: 2024-03-12T22:19:09Z
New Revision: beb47e78be6a819b6501f99302c1c4c1ae84b90e
URL:
https://github.com/llvm/llvm-project/commit/beb47e78be6a819b6501f99302c1c4c1ae84b90e
DIFF:
https://github.com/llvm/llvm-project/commit/beb47e78be6a819b6501f99302c1c4c1ae84b90e.diff
LOG:
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/84891
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
weliveindetail wrote:
This should fix both: initializing the native target (your reported case) AND
skipping the test on platforms that don't support JIT (other build bots
complained).
https://github.com/llvm/llvm-project/pull/84460
___
cfe-commits m
vvereschaka wrote:
Thank you @weliveindetail
https://github.com/llvm/llvm-project/pull/84460
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
topperc wrote:
> I don't know if we need S-mode profile CPUs.
I lean towards not supporting them since the S extensions don't do anything in
the compiler except preprocessor defines and ELF attributes, but maybe we
should put it on the agenda for the sync meeting this week.
https://github.com
michalpaszkowski wrote:
Hi @jhuber6! Thank you for the pull request!
> This is not intended to be landed immediately, but to allow for greater
> testing. One potential issue I've discovered is the lack of SPIR-V
> support or handling for `--offload`.
Do you mean the SPIR-V target (backend)? I h
@@ -26996,18 +26996,38 @@ class, structure, array, or other object.
Arguments:
""
-The ``llvm.objectsize`` intrinsic takes four arguments. The first argument is a
-pointer to or into the ``object``. The second argument determines whether
-``llvm.objectsize`` returns 0
https://github.com/efriedma-quic edited
https://github.com/llvm/llvm-project/pull/79382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4655,6 +4655,13 @@ void CodeGenFunction::EmitCallArg(CallArgList &args,
const Expr *E,
return emitWritebackArg(*this, args, CRE);
}
+ // If an argument is an array paramter expression being passed through. Emit
+ // the argument to a temporary and pass the tempora
@@ -1126,6 +1126,7 @@ class ConstExprEmitter :
case CK_NonAtomicToAtomic:
case CK_NoOp:
case CK_ConstructorConversion:
+case CK_HLSLArrayRValue:
efriedma-quic wrote:
We shouldn't accept CK_HLSLArrayRValue casts here (or if we do, we need to do
@@ -10900,6 +10936,10 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType
RHS, bool OfBlockPointer,
assert(LHS != RHS &&
"Equivalent pipe types should have already been handled!");
return {};
+ case Type::ArrayParameter:
+if (RHS != LHS)
-
https://github.com/efriedma-quic commented:
This seems like the right direction.
https://github.com/llvm/llvm-project/pull/79382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1442,6 +1445,7 @@ static bool castPreservesZero(const CastExpr *CE) {
case CK_BitCast:
case CK_ToUnion:
case CK_ToVoid:
+ case CK_HLSLArrayRValue:
efriedma-quic wrote:
Probably should be false, like other lvalue-to-rvalue casts?
https://github.com/
@@ -500,6 +500,7 @@ ComplexPairTy ComplexExprEmitter::EmitCast(CastKind CK,
Expr *Op,
case CK_NoOp:
case CK_LValueToRValue:
case CK_UserDefinedConversion:
+ case CK_HLSLArrayRValue:
efriedma-quic wrote:
The result of an CK_HLSLArrayRValue can't be a co
@@ -2231,7 +2231,8 @@ Value *ScalarExprEmitter::VisitCastExpr(CastExpr *CE) {
case CK_UserDefinedConversion:
return Visit(const_cast(E));
- case CK_NoOp: {
+ case CK_NoOp:
+ case CK_HLSLArrayRValue: {
efriedma-quic wrote:
It shouldn't be possible to
https://github.com/ameerj created
https://github.com/llvm/llvm-project/pull/84988
This adds an option to break function definition parameters, putting them on
the next line after the function's opening paren.
This was a missing step towards allowing styles which require all function
definitio
hvdijk wrote:
> I would really like to avoid Clang 18 being released in this broken state, if
> possible, and I see no way short of a revert to realistically achieve that.
It's too late for that now, it's out there, and it's now everybody else's
problem regardless of what Clang does in the fut
https://github.com/hvdijk closed https://github.com/llvm/llvm-project/pull/81175
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
github-actions[bot] wrote:
Thank you for submitting a Pull Request (PR) to the LLVM Project!
This PR will be automatically labeled and the relevant teams will be
notified.
If you wish to, you can add reviewers by using the "Reviewers" section on this
page.
If this is not working for you, it
llvmbot wrote:
@llvm/pr-subscribers-clang
@llvm/pr-subscribers-clang-format
Author: Ameer J (ameerj)
Changes
This adds an option to break function definition parameters, putting them on
the next line after the function's opening paren.
This was a missing step towards allowing styles whic
github-actions[bot] wrote:
⚠️ We detected that you are using a GitHub private e-mail address to contribute
to the repo.
Please turn off [Keep my email addresses
private](https://github.com/settings/emails) setting in your account.
See [LLVM
Discourse](https://discourse.llvm.org/t/hidden-em
@@ -3173,41 +3174,46 @@ class ArrayType : public Type, public
llvm::FoldingSetNode {
return T->getTypeClass() == ConstantArray ||
T->getTypeClass() == VariableArray ||
T->getTypeClass() == IncompleteArray ||
- T->getTypeClass() == DependentS
ahatanak wrote:
Maybe `emitRawPointerFromAddress` is better. I see a lot of functions starting
with `emit` in CodeGen.
https://github.com/llvm/llvm-project/pull/67454
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
https://github.com/Sirraide requested changes to this pull request.
I was following this on Discourse, so I thought I’d take a look; overall, this
seems like a very interesting addition to Clang to me.
This is by no means a complete review; this pr is pretty big, so looking at
everything in de
@@ -1402,6 +1402,29 @@ def CXX11NoReturn : InheritableAttr {
let Documentation = [CXX11NoReturnDocs];
}
+def NoLock : DeclOrTypeAttr {
+ let Spellings = [CXX11<"clang", "nolock">,
+ C23<"clang", "nolock">,
+ GNU<"clang_nolock">];
+
+ //
https://github.com/Sirraide edited
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7973,3 +7973,20 @@ requirement:
}
}];
}
+
+def NoLockNoAllocDocs : Documentation {
+ let Category = DocCatType;
+ let Content = [{
+The ``nolock`` and ``noalloc`` attributes can be attached to functions,
blocks,
+function pointers, lambdas, and member functions. The
@@ -10778,6 +10778,101 @@ def warn_imp_cast_drops_unaligned : Warning<
"implicit cast from type %0 to type %1 drops __unaligned qualifier">,
InGroup>;
+def warn_func_effect_allocates : Warning<
+ "'%0' function '%1' must not allocate or deallocate memory">,
+ InGroup;
+
@@ -2380,6 +2382,1239 @@ class UnsafeBufferUsageReporter : public
UnsafeBufferUsageHandler {
};
} // namespace
+//
=
+
+// Temporary debugging option
+#define FX_ANALYZER_VERIFY_DECL_LIST 1
+
+namesp
@@ -4912,3 +4922,279 @@ void AutoType::Profile(llvm::FoldingSetNodeID &ID,
const ASTContext &Context) {
Profile(ID, Context, getDeducedType(), getKeyword(), isDependentType(),
getTypeConstraintConcept(), getTypeConstraintArguments());
}
+
+FunctionEffect::~Function
@@ -3922,6 +3922,42 @@ bool Sema::MergeFunctionDecl(FunctionDecl *New,
NamedDecl *&OldD, Scope *S,
return true;
}
+ const auto OldFX = Old->getFunctionEffects();
+ const auto NewFX = New->getFunctionEffects();
+ if (OldFX != NewFX) {
+const auto Diffs = FunctionE
@@ -10778,6 +10778,101 @@ def warn_imp_cast_drops_unaligned : Warning<
"implicit cast from type %0 to type %1 drops __unaligned qualifier">,
InGroup>;
+def warn_func_effect_allocates : Warning<
+ "'%0' function '%1' must not allocate or deallocate memory">,
+ InGroup;
+
@@ -2380,6 +2382,1239 @@ class UnsafeBufferUsageReporter : public
UnsafeBufferUsageHandler {
};
} // namespace
+//
=
+
+// Temporary debugging option
+#define FX_ANALYZER_VERIFY_DECL_LIST 1
+
+namesp
@@ -7754,6 +7905,145 @@ QualType DecayedType::getPointeeType() const {
void FixedPointValueToString(SmallVectorImpl &Str, llvm::APSInt Val,
unsigned Scale);
+//
--
+
+// T
@@ -7754,6 +7906,145 @@ QualType DecayedType::getPointeeType() const {
void FixedPointValueToString(SmallVectorImpl &Str, llvm::APSInt Val,
unsigned Scale);
+//
--
+
+// T
@@ -11100,6 +11136,48 @@ Attr
*Sema::getImplicitCodeSegOrSectionAttrForFunction(const FunctionDecl *FD,
return nullptr;
}
+// Should only be called when getFunctionEffects() returns a non-empty set.
+// Decl should be a FunctionDecl or BlockDecl.
+void Sema::CheckAddCallabl
@@ -1402,6 +1402,29 @@ def CXX11NoReturn : InheritableAttr {
let Documentation = [CXX11NoReturnDocs];
}
+def NoLock : DeclOrTypeAttr {
+ let Spellings = [CXX11<"clang", "nolock">,
+ C23<"clang", "nolock">,
+ GNU<"clang_nolock">];
+
+ //
@@ -18321,6 +18321,28 @@ bool Sema::CheckOverridingFunctionAttributes(const
CXXMethodDecl *New,
return true;
}
+ // Virtual overrides: check for matching effects.
Sirraide wrote:
Just a remark: Despite what I said wrt function declaration merging, I a
https://github.com/efriedma-quic commented:
Oh, this is making a bit more sense now... I didn't realize this was overriding
method that handles char/short already. And I guess for BPF targets, you can
assume "long" is 64 bits.
That said, this isn't handling "unsigned int" correctly. "unsigne
jhuber6 wrote:
> Do you mean the SPIR-V target (backend)? I have not followed this area of
> work closely. What is missing or what exactly needs to be supported by the
> SPIR-V target? Any help or pointers would be greatly appreciated!
I believe there was some work to port SYCL to work with th
@@ -1402,6 +1402,29 @@ def CXX11NoReturn : InheritableAttr {
let Documentation = [CXX11NoReturnDocs];
}
+def NoLock : DeclOrTypeAttr {
+ let Spellings = [CXX11<"clang", "nolock">,
+ C23<"clang", "nolock">,
+ GNU<"clang_nolock">];
+
+ //
https://github.com/efriedma-quic edited
https://github.com/llvm/llvm-project/pull/84874
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
pinskia wrote:
Does it make sense to have some C testcases too? Likewise some testcases
testing the __attribute__ style attribute?
I would say more testcases the better really.
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing li
@@ -3173,41 +3174,46 @@ class ArrayType : public Type, public
llvm::FoldingSetNode {
return T->getTypeClass() == ConstantArray ||
T->getTypeClass() == VariableArray ||
T->getTypeClass() == IncompleteArray ||
- T->getTypeClass() == DependentS
Sirraide wrote:
> * FunctionEffect/FunctionEffectSet need to be serialized as part of
> FunctionProtoType
That’s in `TypeProperties.td` from what I recall. You might be able to pack
this into an integer or something similar perhaps.
https://github.com/llvm/llvm-project/pull/84983
asl wrote:
> Maybe `emitRawPointerFromAddress` is better. I see a lot of functions
> starting with `emit` in CodeGen.
Works for me!
https://github.com/llvm/llvm-project/pull/67454
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.
Sirraide wrote:
> - Does the FunctionEffect / FunctionEffectSet abstraction make sense
> (Type.h)? The idea is that an abstract effect system for functions could
> easily support things like "TCB with types" or adding "nowait" to the
> "nolock/noalloc" group of effects.
Hmm, this is a difficu
@@ -8927,8 +8927,13 @@ void Sema::CheckVariableDeclarationType(VarDecl *NewVD) {
}
}
- if (T->isRVVSizelessBuiltinType())
-checkRVVTypeSupport(T, NewVD->getLocation(), cast(CurContext));
+ if (T->isRVVSizelessBuiltinType() && isa(CurContext)) {
+const FunctionD
https://github.com/topperc edited
https://github.com/llvm/llvm-project/pull/83674
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/topperc edited
https://github.com/llvm/llvm-project/pull/83674
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Sirraide wrote:
> * Conversions between functions / function pointers with and without the
> attribute work in C++ but not in C and I'm a bit lost (there's a bunch of
> debug logging around this e.g. Sema::IsFunctionConversion and
> Sema::ImpCastExprToType)
Er, I’ll see if I can find some tim
https://github.com/PeimingLiu updated
https://github.com/llvm/llvm-project/pull/79230
>From 678cd8ea37f1d02c70fd09b7107542c8301c3bd2 Mon Sep 17 00:00:00 2001
From: Akira Hatanaka
Date: Tue, 16 Jan 2024 13:18:09 -0800
Subject: [PATCH 01/10] Add support for builtin_verbose_trap
The builtin cause
https://github.com/dougsonos closed
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dougsonos wrote:
> > * Does the FunctionEffect / FunctionEffectSet abstraction make sense
> > (Type.h)? The idea is that an abstract effect system for functions could
> > easily support things like "TCB with types" or adding "nowait" to the
> > "nolock/noalloc" group of effects.
>
> Hmm, this
https://github.com/dougsonos reopened
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/eddyz87 approved this pull request.
https://github.com/llvm/llvm-project/pull/84874
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1402,6 +1402,29 @@ def CXX11NoReturn : InheritableAttr {
let Documentation = [CXX11NoReturnDocs];
}
+def NoLock : DeclOrTypeAttr {
+ let Spellings = [CXX11<"clang", "nolock">,
+ C23<"clang", "nolock">,
+ GNU<"clang_nolock">];
+
+ //
https://github.com/dougsonos edited
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eddyz87 wrote:
Hi @efriedma-quic,
> That said, this isn't handling "unsigned int" correctly. "unsigned int" is
> supposed to be sign-extended on RISC-V targets. (How you resolve the conflict
> with PowerPC, where "unsigned int" is supposed to be zero-extended, I'm not
> sure.)
Could you plea
ian-twilightcoder wrote:
> > Sometimes it does confuse clang, at least I saw problems with a `typedef
> > enum` when I made an include-once header `textual`.
>
> Ok, I see. I would just consider it a bug, not a design decision.
>
> > That's correct. `#import` is an external source - often it c
@@ -10778,6 +10778,101 @@ def warn_imp_cast_drops_unaligned : Warning<
"implicit cast from type %0 to type %1 drops __unaligned qualifier">,
InGroup>;
+def warn_func_effect_allocates : Warning<
+ "'%0' function '%1' must not allocate or deallocate memory">,
+ InGroup;
+
@@ -1402,6 +1402,29 @@ def CXX11NoReturn : InheritableAttr {
let Documentation = [CXX11NoReturnDocs];
}
+def NoLock : DeclOrTypeAttr {
+ let Spellings = [CXX11<"clang", "nolock">,
+ C23<"clang", "nolock">,
+ GNU<"clang_nolock">];
+
+ //
@@ -10778,6 +10778,101 @@ def warn_imp_cast_drops_unaligned : Warning<
"implicit cast from type %0 to type %1 drops __unaligned qualifier">,
InGroup>;
+def warn_func_effect_allocates : Warning<
+ "'%0' function '%1' must not allocate or deallocate memory">,
+ InGroup;
+
@@ -3666,11 +3673,14 @@ void FunctionProtoType::Profile(llvm::FoldingSetNodeID
&ID, QualType Result,
// Finally we have a trailing return type flag (bool)
// combined with AArch64 SME Attributes, to save space:
// int
+ // Then add the FunctionEffects
//
// T
@@ -10778,6 +10778,101 @@ def warn_imp_cast_drops_unaligned : Warning<
"implicit cast from type %0 to type %1 drops __unaligned qualifier">,
InGroup>;
+def warn_func_effect_allocates : Warning<
+ "'%0' function '%1' must not allocate or deallocate memory">,
+ InGroup;
+
https://github.com/dougsonos edited
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dougsonos edited
https://github.com/llvm/llvm-project/pull/84983
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -10778,6 +10778,101 @@ def warn_imp_cast_drops_unaligned : Warning<
"implicit cast from type %0 to type %1 drops __unaligned qualifier">,
InGroup>;
+def warn_func_effect_allocates : Warning<
+ "'%0' function '%1' must not allocate or deallocate memory">,
+ InGroup;
+
Author: 4ast
Date: 2024-03-13T02:27:25+02:00
New Revision: 2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
URL:
https://github.com/llvm/llvm-project/commit/2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
DIFF:
https://github.com/llvm/llvm-project/commit/2aacb56e8361213c1bd69c2ceafdea3aa0ca9125.diff
LOG: BPF
https://github.com/eddyz87 closed
https://github.com/llvm/llvm-project/pull/84410
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
301 - 400 of 492 matches
Mail list logo