https://llvm.org/bugs/show_bug.cgi?id=26649
Bug ID: 26649 Summary: buggy adaptive locking case Product: OpenMP Version: unspecified Hardware: Other OS: All Status: NEW Severity: normal Priority: P Component: Runtime Library Assignee: unassignedb...@nondot.org Reporter: pawel.osmialow...@foss.arm.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Hello, In __kmp_get_user_lock_owner() function in kmp_lock.cpp I've found following switch: switch (seq) { case lockseq_tas: case lockseq_nested_tas: return __kmp_get_tas_lock_owner((kmp_tas_lock_t *)lck); #if KMP_HAS_FUTEX case lockseq_futex: case lockseq_nested_futex: return __kmp_get_futex_lock_owner((kmp_futex_lock_t *)lck); #endif case lockseq_ticket: case lockseq_nested_ticket: return __kmp_get_ticket_lock_owner((kmp_ticket_lock_t *)lck); case lockseq_queuing: case lockseq_nested_queuing: #if KMP_USE_ADAPTIVE_LOCKS case lockseq_adaptive: return __kmp_get_queuing_lock_owner((kmp_queuing_lock_t *)lck); #endif case lockseq_drdpa: case lockseq_nested_drdpa: return __kmp_get_drdpa_lock_owner((kmp_drdpa_lock_t *)lck); default: return 0; } Seems like '#endif' correspondig to '#if KMP_USE_ADAPTIVE_LOCKS' was placed one line too low causing queuing and nested queuing lock cases are currently handled by drdpa lock case function when KMP_USE_ADAPTIVE_LOCKS is not 1. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs