{"action":"opened","issue":{"url":"https://api.github.com/repos/weidai11/cryptopp/issues/183","repository_url":"https://api.github.com/repos/weidai11/cryptopp","labels_url":"https://api.github.com/repos/weidai11/cryptopp/issues/183/labels{/name}","comments_url":"https://api.github.com/repos/weidai11/cryptopp/issues/183/comments","events_url":"https://api.github.com/repos/weidai11/cryptopp/issues/183/events","html_url":"https://github.com/weidai11/cryptopp/issues/183","id":159825379,"number":183,"title":"Clang 3.6/Apple Clang 6.3 and undeclared identifier '_rdseed64_step'","user":{"login":"noloader","id":3538226,"avatar_url":"https://avatars.githubusercontent.com/u/3538226?v=3","gravatar_id":"","url":"https://api.github.com/users/noloader","html_url":"https://github.com/noloader","followers_url":"https://api.github.com/users/noloader/followers","following_url":"https://api.github.com/users/noloader/following{/other_user}","gists_url":"https://api.github.com/users/noloader/gists{/gist_id}","starred_url":"https://api.github.com/users/noloader/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noloader/subscriptions","organizations_url":"https://api.github.com/users/noloader/orgs","repos_url":"https://api.github.com/users/noloader/repos","events_url":"https://api.github.com/users/noloader/events{/privacy}","received_events_url":"https://api.github.com/users/noloader/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-06-12T12:43:31Z","updated_at":"2016-06-12T12:43:31Z","closed_at":null,"body":"Recently we [added some tests](https://github.com/weidai11/cryptopp/blob/master/cryptest.sh#L1911) to ensure the code compiles cleanly when the underlying processor lacks some features. The tests also serve to ensure `HasAES()`, `HasRDRAND()`, `HasRDSEED()` and friends work as expected and the code is properly compartmentalized. This is the \"modern compiler/old hardware\" combination.\r\n\r\nTesting under a MacBook Pro with a Core i7-2760QM, OS X 10.8.5 and Clang 3.6 built from sources produces the following. The second generation i7 has AES but its missing `rdrand` and `rdseed`.\r\n\r\n```\r\nclang++ -DNDEBUG -g2 -O2 -march=native -maes -mrdrnd -mrdseed -c socketft.cpp\r\nrdrand.cpp:367:7: error: use of undeclared identifier '_rdseed64_step'; did you\r\n      mean '_rdrand64_step'?\r\n                if (_rdseed64_step((word64*)output))\r\n                    ^~~~~~~~~~~~~~\r\n                    _rdrand64_step\r\n/usr/local/bin/../lib/clang/3.6.0/include/immintrin.h:114:1: note: \r\n      '_rdrand64_step' declared here\r\n_rdrand64_step(unsigned long long *__p)\r\n^\r\nrdrand.cpp:388:7: error: use of undeclared identifier '_rdseed64_step'; did you\r\n      mean '_rdrand64_step'?\r\n                if (_rdseed64_step(&val))\r\n                    ^~~~~~~~~~~~~~\r\n                    _rdrand64_step\r\n/usr/local/bin/../lib/clang/3.6.0/include/immintrin.h:114:1: note: \r\n      '_rdrand64_step' declared here\r\n_rdrand64_step(unsigned long long *__p)\r\n^\r\n2 errors generated.\r\n```\r\n"}}
{"actor":{"display_login":"noloader"}}