diff options
author | Chris Bieneman <chris.bieneman@me.com> | 2022-04-13 20:47:28 -0500 |
---|---|---|
committer | Chris Bieneman <chris.bieneman@me.com> | 2022-04-14 13:32:51 -0500 |
commit | 3efad612d234f938d5012317cfb827e2bf8a1ee7 (patch) | |
tree | 990c8e265a958af2f315373aff3f510c1fc672b3 /clang/lib/Sema/SemaExprMember.cpp | |
parent | 02eab52866775f1476028129d1b114235fddc127 (diff) | |
download | llvm-3efad612d234f938d5012317cfb827e2bf8a1ee7.zip llvm-3efad612d234f938d5012317cfb827e2bf8a1ee7.tar.gz llvm-3efad612d234f938d5012317cfb827e2bf8a1ee7.tar.bz2 |
[HLSL] Pointers are unsupported in HLSL
HLSL does not support pointers or references. This change generates
errors in sema for generating pointer, and reference types as well as
common operators (address-of, dereference, arrow), which are used with
pointers and are unsupported in HLSL.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D123167
Diffstat (limited to 'clang/lib/Sema/SemaExprMember.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprMember.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprMember.cpp b/clang/lib/Sema/SemaExprMember.cpp index cb95f70..d5e7a2c 100644 --- a/clang/lib/Sema/SemaExprMember.cpp +++ b/clang/lib/Sema/SemaExprMember.cpp @@ -1736,6 +1736,9 @@ ExprResult Sema::ActOnMemberAccessExpr(Scope *S, Expr *Base, DeclarationName Name = NameInfo.getName(); bool IsArrow = (OpKind == tok::arrow); + if (getLangOpts().HLSL && IsArrow) + return ExprError(Diag(OpLoc, diag::err_hlsl_operator_unsupported) << 2); + NamedDecl *FirstQualifierInScope = (!SS.isSet() ? nullptr : FindFirstQualifierInScope(S, SS.getScopeRep())); |