Skip to content

Commit a089523

Browse files
author
iclsrc
committed
Merge from 'sycl' to 'sycl-web'
2 parents 75e62f6 + c49eeda commit a089523

File tree

24 files changed

+2394
-972
lines changed

24 files changed

+2394
-972
lines changed

clang/include/clang/Sema/Sema.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13655,7 +13655,7 @@ class Sema final {
1365513655
bool IsMemberFunction, SourceLocation Loc, SourceRange Range,
1365613656
VariadicCallType CallType);
1365713657

13658-
void CheckSYCLKernelCall(FunctionDecl *CallerFunc, SourceRange CallLoc,
13658+
void CheckSYCLKernelCall(FunctionDecl *CallerFunc,
1365913659
ArrayRef<const Expr *> Args);
1366013660

1366113661
bool CheckObjCString(Expr *Arg);

clang/lib/Sema/SemaChecking.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5971,7 +5971,7 @@ void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto,
59715971
diagnoseArgDependentDiagnoseIfAttrs(FD, ThisArg, Args, Loc);
59725972

59735973
if (FD && FD->hasAttr<SYCLKernelAttr>())
5974-
CheckSYCLKernelCall(FD, Range, Args);
5974+
CheckSYCLKernelCall(FD, Args);
59755975

59765976
// Diagnose variadic calls in SYCL.
59775977
if (FD && FD->isVariadic() && getLangOpts().SYCLIsDevice &&

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3943,7 +3943,7 @@ class SYCLKernelNameTypeVisitor
39433943
}
39443944
};
39453945

3946-
void Sema::CheckSYCLKernelCall(FunctionDecl *KernelFunc, SourceRange CallLoc,
3946+
void Sema::CheckSYCLKernelCall(FunctionDecl *KernelFunc,
39473947
ArrayRef<const Expr *> Args) {
39483948
QualType KernelNameType =
39493949
calculateKernelNameType(getASTContext(), KernelFunc);

clang/test/Driver/sycl-link-add-targets.cpp

Lines changed: 223 additions & 0 deletions
Large diffs are not rendered by default.

clang/test/Driver/sycl-offload-aot.cpp

Lines changed: 296 additions & 0 deletions
Large diffs are not rendered by default.

clang/test/Driver/sycl-offload.c

Lines changed: 0 additions & 525 deletions
Large diffs are not rendered by default.

libdevice/device.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,13 @@
4040
#define DEVICE_EXTERN_C_INLINE DEVICE_EXTERN_C __attribute__((always_inline))
4141
#endif // __LIBDEVICE_HOST_IMPL__
4242

43+
// Rounding mode are used internally by type convert functions in imf libdevice
44+
// and we don't want to include system's fenv.h, so we define ourselves'.
45+
typedef enum {
46+
__IML_RTE, // round to nearest-even
47+
__IML_RTZ, // round to zero
48+
__IML_RTP, // round to +inf
49+
__IML_RTN, // round to -inf
50+
} __iml_rounding_mode;
51+
4352
#endif // __LIBDEVICE_DEVICE_H__

libdevice/device_imf.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ static inline TyFP __integral2FP_host(TyINT x, int rdMode) {
9090
fesetround(roundingOriginal);
9191
return res;
9292
}
93+
#pragma STDC FENV_ACCESS OFF
9394
#endif // __LIBDEVICE_HOST_IMPL__
9495

9596
template <typename Ty> static inline Ty __imax(Ty x, Ty y) {

0 commit comments

Comments
 (0)