Lines Matching refs:Attr
225 /// A helper function to provide Attribute Location for the Attr types
228 static typename std::enable_if<std::is_base_of<Attr, AttrInfo>::value,
308 static bool checkAttrMutualExclusion(Sema &S, Decl *D, const Attr &AL) {
363 /// Check if the argument \p ArgNum of \p Attr is a ASCII string literal.
1296 // S.Diag(Attr.getLoc(), diag::warn_return_state_for_unconsumable_type) <<
2592 Attr *newAttr;
5928 const AMDGPUFlatWorkGroupSizeAttr &Attr) {
5935 if (!checkUInt32Argument(S, Attr, MinExpr, Min, 0))
5939 if (!checkUInt32Argument(S, Attr, MaxExpr, Max, 1))
5943 S.Diag(Attr.getLocation(), diag::err_attribute_argument_invalid)
5944 << &Attr << 0;
5948 S.Diag(Attr.getLocation(), diag::err_attribute_argument_invalid)
5949 << &Attr << 1;
5978 const AMDGPUWavesPerEUAttr &Attr) {
5989 if (!checkUInt32Argument(S, Attr, MinExpr, Min, 0))
5993 if (MaxExpr && !checkUInt32Argument(S, Attr, MaxExpr, Max, 1))
5997 S.Diag(Attr.getLocation(), diag::err_attribute_argument_invalid)
5998 << &Attr << 0;
6002 S.Diag(Attr.getLocation(), diag::err_attribute_argument_invalid)
6003 << &Attr << 1;
6145 Attr *NewAttr = A.getKind() == ParsedAttr::AT_DLLExport
6146 ? (Attr *)S.mergeDLLExportAttr(D, A)
6147 : (Attr *)S.mergeDLLImportAttr(D, A);
6640 template<typename Attr>
6645 D->addAttr(Attr::Create(S.Context, Argument, AL));