Lines Matching refs:AttributeList

199 static bool checkAttributeNumArgs(Sema &S, const AttributeList &Attr,
212 static bool checkAttributeAtLeastNumArgs(Sema &S, const AttributeList &Attr,
246 static bool checkIsPointer(Sema &S, const Decl *D, const AttributeList &Attr) {
275 static void checkForLockableRecord(Sema &S, Decl *D, const AttributeList &Attr,
302 const AttributeList &Attr,
353 static void handleGuardedVarAttr(Sema &S, Decl *D, const AttributeList &Attr,
376 static void handleGuardedByAttr(Sema &S, Decl *D, const AttributeList &Attr,
407 static void handleLockableAttr(Sema &S, Decl *D, const AttributeList &Attr,
428 const AttributeList &Attr) {
445 const AttributeList &Attr) {
461 static void handleAcquireOrderAttr(Sema &S, Decl *D, const AttributeList &Attr,
504 static void handleLockFunAttr(Sema &S, Decl *D, const AttributeList &Attr,
536 static void handleTrylockFunAttr(Sema &S, Decl *D, const AttributeList &Attr,
576 static void handleLocksRequiredAttr(Sema &S, Decl *D, const AttributeList &Attr,
609 const AttributeList &Attr) {
634 const AttributeList &Attr) {
657 const AttributeList &Attr) {
684 const AttributeList &Attr) {
728 static void handlePackedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
748 static void handleMsStructAttr(Sema &S, Decl *D, const AttributeList &Attr) {
755 static void handleIBAction(Sema &S, Decl *D, const AttributeList &Attr) {
770 static bool checkIBOutletCommon(Sema &S, Decl *D, const AttributeList &Attr) {
796 static void handleIBOutlet(Sema &S, Decl *D, const AttributeList &Attr) {
808 const AttributeList &Attr) {
857 static void handleNonNullAttr(Sema &S, Decl *D, const AttributeList &Attr) {
874 for (AttributeList::arg_iterator I=Attr.arg_begin(),
948 static void handleOwnershipAttr(Sema &S, Decl *D, const AttributeList &AL) {
966 case AttributeList::AT_ownership_takes:
973 case AttributeList::AT_ownership_holds:
980 case AttributeList::AT_ownership_returns:
1012 for (AttributeList::arg_iterator I = AL.arg_begin(), E = AL.arg_end(); I != E;
1123 static void handleWeakRefAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1201 static void handleAliasAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1229 static void handleNakedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1244 const AttributeList &Attr) {
1260 static void handleMallocAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1278 static void handleMayAliasAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1286 static void handleNoCommonAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1295 static void handleCommonAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1304 static void handleNoReturnAttr(Sema &S, Decl *D, const AttributeList &attr) {
1318 bool Sema::CheckNoReturnAttr(const AttributeList &attr) {
1329 const AttributeList &Attr) {
1353 static void handleVecReturnAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1413 static void handleDependencyAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1422 static void handleUnusedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1440 const AttributeList &Attr) {
1456 static void handleUsedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1477 static void handleConstructorAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1507 static void handleDestructorAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1537 static void handleDeprecatedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1559 static void handleUnavailableAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1581 const AttributeList &Attr) {
1593 const AttributeList &Attr) {
1609 const AttributeList &Attr) {
1626 const AttributeList &Attr) {
1685 static void handleVisibilityAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1727 const AttributeList &Attr) {
1780 const AttributeList &Attr) {
1793 static void handleObjCNSObject(Sema &S, Decl *D, const AttributeList &Attr) {
1819 handleOverloadableAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1833 static void handleBlocksAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1857 static void handleSentinelAttr(Sema &S, Decl *D, const AttributeList &Attr) {
1950 static void handleWarnUnusedResult(Sema &S, Decl *D, const AttributeList &Attr) {
1976 static void handleWeakAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2004 static void handleWeakImportAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2032 const AttributeList &Attr) {
2054 static void handleSectionAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2087 static void handleNothrowAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2102 static void handleConstAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2117 static void handlePureAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2125 static void handleCleanupAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2187 static void handleFormatArgAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2297 const AttributeList &Attr) {
2345 static void handleFormatAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2501 const AttributeList &Attr) {
2567 static void handleAnnotateAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2593 static void handleAlignedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2654 static void handleModeAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2818 static void handleNoDebugAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2832 static void handleNoInlineAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2848 const AttributeList &Attr) {
2864 static void handleConstantAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2884 static void handleDeviceAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2904 static void handleGlobalAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2937 static void handleHostAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2956 static void handleSharedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2975 static void handleGNUInlineAttr(Sema &S, Decl *D, const AttributeList &Attr) {
2995 static void handleCallConvAttr(Sema &S, Decl *D, const AttributeList &Attr) {
3011 case AttributeList::AT_fastcall:
3014 case AttributeList::AT_stdcall:
3017 case AttributeList::AT_thiscall:
3020 case AttributeList::AT_cdecl:
3023 case AttributeList::AT_pascal:
3026 case AttributeList::AT_pcs: {
3055 static void handleOpenCLKernelAttr(Sema &S, Decl *D, const AttributeList &Attr){
3060 bool Sema::CheckCallingConvAttr(const AttributeList &attr, CallingConv &CC) {
3065 !(attr.getKind() == AttributeList::AT_pcs && attr.getNumArgs() == 1)) ||
3075 case AttributeList::AT_cdecl: CC = CC_C; break;
3076 case AttributeList::AT_fastcall: CC = CC_X86FastCall; break;
3077 case AttributeList::AT_stdcall: CC = CC_X86StdCall; break;
3078 case AttributeList::AT_thiscall: CC = CC_X86ThisCall; break;
3079 case AttributeList::AT_pascal: CC = CC_X86Pascal; break;
3080 case AttributeList::AT_pcs: {
3106 static void handleRegparmAttr(Sema &S, Decl *D, const AttributeList &Attr) {
3124 bool Sema::CheckRegparmAttr(const AttributeList &Attr, unsigned &numParams) {
3162 static void handleLaunchBoundsAttr(Sema &S, Decl *D, const AttributeList &Attr){
3222 static void handleNSConsumedAttr(Sema &S, Decl *D, const AttributeList &Attr) {
3231 if (Attr.getKind() == AttributeList::AT_ns_consumed) {
3252 const AttributeList &Attr) {
3263 const AttributeList &Attr) {
3272 (Attr.getKind() == AttributeList::AT_ns_returns_retained))
3287 case AttributeList::AT_ns_returns_autoreleased:
3288 case AttributeList::AT_ns_returns_retained:
3289 case AttributeList::AT_ns_returns_not_retained:
3294 case AttributeList::AT_cf_returns_retained:
3295 case AttributeList::AT_cf_returns_not_retained:
3310 case AttributeList::AT_ns_returns_autoreleased:
3314 case AttributeList::AT_cf_returns_not_retained:
3318 case AttributeList::AT_ns_returns_not_retained:
3322 case AttributeList::AT_cf_returns_retained:
3326 case AttributeList::AT_ns_returns_retained:
3334 const AttributeList &attr) {
3363 static void handleCFTransferAttr(Sema &S, Decl *D, const AttributeList &A) {
3370 bool IsAudited = (A.getKind() == AttributeList::AT_cf_audited_transfer);
3398 const AttributeList &Attr) {
3428 const AttributeList &Attr) {
3436 const AttributeList &Attr) {
3481 static bool isKnownDeclSpecAttr(const AttributeList &Attr) {
3485 case AttributeList::AT_dllimport:
3486 case AttributeList::AT_dllexport:
3487 case AttributeList::AT_uuid:
3488 case AttributeList::AT_deprecated:
3489 case AttributeList::AT_noreturn:
3490 case AttributeList::AT_nothrow:
3491 case AttributeList::AT_naked:
3492 case AttributeList::AT_noinline:
3501 static void handleUuidAttr(Sema &S, Decl *D, const AttributeList &Attr) {
3560 const AttributeList &Attr) {
3562 case AttributeList::AT_device: handleDeviceAttr (S, D, Attr); break;
3563 case AttributeList::AT_host: handleHostAttr (S, D, Attr); break;
3564 case AttributeList::AT_overloadable:handleOverloadableAttr(S, D, Attr); break;
3571 const AttributeList &Attr) {
3573 case AttributeList::AT_ibaction: handleIBAction(S, D, Attr); break;
3574 case AttributeList::AT_iboutlet: handleIBOutlet(S, D, Attr); break;
3575 case AttributeList::AT_iboutletcollection:
3577 case AttributeList::AT_address_space:
3578 case AttributeList::AT_opencl_image_access:
3579 case AttributeList::AT_objc_gc:
3580 case AttributeList::AT_vector_size:
3581 case AttributeList::AT_neon_vector_type:
3582 case AttributeList::AT_neon_polyvector_type:
3586 case AttributeList::AT_device:
3587 case AttributeList::AT_host:
3588 case AttributeList::AT_overloadable:
3592 case AttributeList::AT_alias: handleAliasAttr (S, D, Attr); break;
3593 case AttributeList::AT_aligned: handleAlignedAttr (S, D, Attr); break;
3594 case AttributeList::AT_always_inline:
3596 case AttributeList::AT_analyzer_noreturn:
3598 case AttributeList::AT_annotate: handleAnnotateAttr (S, D, Attr); break;
3599 case AttributeList::AT_availability:handleAvailabilityAttr(S, D, Attr); break;
3600 case AttributeList::AT_carries_dependency:
3602 case AttributeList::AT_common: handleCommonAttr (S, D, Attr); break;
3603 case AttributeList::AT_constant: handleConstantAttr (S, D, Attr); break;
3604 case AttributeList::AT_constructor: handleConstructorAttr (S, D, Attr); break;
3605 case AttributeList::AT_deprecated: handleDeprecatedAttr (S, D, Attr); break;
3606 case AttributeList::AT_destructor: handleDestructorAttr (S, D, Attr); break;
3607 case AttributeList::AT_ext_vector_type:
3610 case AttributeList::AT_format: handleFormatAttr (S, D, Attr); break;
3611 case AttributeList::AT_format_arg: handleFormatArgAttr (S, D, Attr); break;
3612 case AttributeList::AT_global: handleGlobalAttr (S, D, Attr); break;
3613 case AttributeList::AT_gnu_inline: handleGNUInlineAttr (S, D, Attr); break;
3614 case AttributeList::AT_launch_bounds:
3617 case AttributeList::AT_mode: handleModeAttr (S, D, Attr); break;
3618 case AttributeList::AT_malloc: handleMallocAttr (S, D, Attr); break;
3619 case AttributeList::AT_may_alias: handleMayAliasAttr (S, D, Attr); break;
3620 case AttributeList::AT_nocommon: handleNoCommonAttr (S, D, Attr); break;
3621 case AttributeList::AT_nonnull: handleNonNullAttr (S, D, Attr); break;
3622 case AttributeList::AT_ownership_returns:
3623 case AttributeList::AT_ownership_takes:
3624 case AttributeList::AT_ownership_holds:
3626 case AttributeList::AT_naked: handleNakedAttr (S, D, Attr); break;
3627 case AttributeList::AT_noreturn: handleNoReturnAttr (S, D, Attr); break;
3628 case AttributeList::AT_nothrow: handleNothrowAttr (S, D, Attr); break;
3629 case AttributeList::AT_shared: handleSharedAttr (S, D, Attr); break;
3630 case AttributeList::AT_vecreturn: handleVecReturnAttr (S, D, Attr); break;
3632 case AttributeList::AT_objc_ownership:
3634 case AttributeList::AT_objc_precise_lifetime:
3637 case AttributeList::AT_objc_returns_inner_pointer:
3640 case AttributeList::AT_ns_bridged:
3643 case AttributeList::AT_cf_audited_transfer:
3644 case AttributeList::AT_cf_unknown_transfer:
3648 case AttributeList::AT_cf_consumed:
3649 case AttributeList::AT_ns_consumed: handleNSConsumedAttr (S, D, Attr); break;
3650 case AttributeList::AT_ns_consumes_self:
3653 case AttributeList::AT_ns_returns_autoreleased:
3654 case AttributeList::AT_ns_returns_not_retained:
3655 case AttributeList::AT_cf_returns_not_retained:
3656 case AttributeList::AT_ns_returns_retained:
3657 case AttributeList::AT_cf_returns_retained:
3660 case AttributeList::AT_reqd_work_group_size:
3663 case AttributeList::AT_init_priority:
3666 case AttributeList::AT_packed: handlePackedAttr (S, D, Attr); break;
3667 case AttributeList::AT_ms_struct: handleMsStructAttr (S, D, Attr); break;
3668 case AttributeList::AT_section: handleSectionAttr (S, D, Attr); break;
3669 case AttributeList::AT_unavailable: handleUnavailableAttr (S, D, Attr); break;
3670 case AttributeList::AT_objc_arc_weak_reference_unavailable:
3673 case AttributeList::AT_objc_root_class:
3676 case AttributeList::AT_objc_requires_property_definitions:
3679 case AttributeList::AT_unused: handleUnusedAttr (S, D, Attr); break;
3680 case AttributeList::AT_returns_twice:
3683 case AttributeList::AT_used: handleUsedAttr (S, D, Attr); break;
3684 case AttributeList::AT_visibility: handleVisibilityAttr (S, D, Attr); break;
3685 case AttributeList::AT_warn_unused_result: handleWarnUnusedResult(S, D, Attr);
3687 case AttributeList::AT_weak: handleWeakAttr (S, D, Attr); break;
3688 case AttributeList::AT_weakref: handleWeakRefAttr (S, D, Attr); break;
3689 case AttributeList::AT_weak_import: handleWeakImportAttr (S, D, Attr); break;
3690 case AttributeList::AT_transparent_union:
3693 case AttributeList::AT_objc_exception:
3696 case AttributeList::AT_objc_method_family:
3699 case AttributeList::AT_NSObject: handleObjCNSObject (S, D, Attr); break;
3700 case AttributeList::AT_blocks: handleBlocksAttr (S, D, Attr); break;
3701 case AttributeList::AT_sentinel: handleSentinelAttr (S, D, Attr); break;
3702 case AttributeList::AT_const: handleConstAttr (S, D, Attr); break;
3703 case AttributeList::AT_pure: handlePureAttr (S, D, Attr); break;
3704 case AttributeList::AT_cleanup: handleCleanupAttr (S, D, Attr); break;
3705 case AttributeList::AT_nodebug: handleNoDebugAttr (S, D, Attr); break;
3706 case AttributeList::AT_noinline: handleNoInlineAttr (S, D, Attr); break;
3707 case AttributeList::AT_regparm: handleRegparmAttr (S, D, Attr); break;
3708 case AttributeList::IgnoredAttribute:
3711 case AttributeList::AT_no_instrument_function: // Interacts with -pg.
3714 case AttributeList::AT_stdcall:
3715 case AttributeList::AT_cdecl:
3716 case AttributeList::AT_fastcall:
3717 case AttributeList::AT_thiscall:
3718 case AttributeList::AT_pascal:
3719 case AttributeList::AT_pcs:
3722 case AttributeList::AT_opencl_kernel_function:
3725 case AttributeList::AT_uuid:
3730 case AttributeList::AT_guarded_var:
3733 case AttributeList::AT_pt_guarded_var:
3736 case AttributeList::AT_scoped_lockable:
3739 case AttributeList::AT_no_address_safety_analysis:
3742 case AttributeList::AT_no_thread_safety_analysis:
3745 case AttributeList::AT_lockable:
3748 case AttributeList::AT_guarded_by:
3751 case AttributeList::AT_pt_guarded_by:
3754 case AttributeList::AT_exclusive_lock_function:
3757 case AttributeList::AT_exclusive_locks_required:
3760 case AttributeList::AT_exclusive_trylock_function:
3763 case AttributeList::AT_lock_returned:
3766 case AttributeList::AT_locks_excluded:
3769 case AttributeList::AT_shared_lock_function:
3772 case AttributeList::AT_shared_locks_required:
3775 case AttributeList::AT_shared_trylock_function:
3778 case AttributeList::AT_unlock_function:
3781 case AttributeList::AT_acquired_before:
3784 case AttributeList::AT_acquired_after:
3803 const AttributeList &Attr,
3822 const AttributeList *AttrList,
3824 for (const AttributeList* l = AttrList; l; l = l->getNext()) {
3841 const AttributeList *AttrList) {
3842 for (const AttributeList* l = AttrList; l; l = l->getNext()) {
3843 if (l->getKind() == AttributeList::AT_annotate) {
3856 static void checkUnusedDeclAttributes(Sema &S, const AttributeList *A) {
3860 if (A->getKind() == AttributeList::IgnoredAttribute) continue;
3862 if (A->getKind() == AttributeList::UnknownAttribute) {
3981 if (const AttributeList *Attrs = PD.getDeclSpec().getAttributes().getList())
3989 if (const AttributeList *Attrs = PD.getTypeObject(i).getAttrs())
3993 if (const AttributeList *Attrs = PD.getAttributes())