12e2c9347SEvgeniy Stepanov // RUN: %clangxx -O0 -g %s -lcrypt -o %t && %run %t
22e2c9347SEvgeniy Stepanov 
3*d8245e7aSVitaly Buka // crypt.h is missing from Android.
4*d8245e7aSVitaly Buka // UNSUPPORTED: android
5*d8245e7aSVitaly Buka 
62e2c9347SEvgeniy Stepanov #include <assert.h>
72e2c9347SEvgeniy Stepanov #include <unistd.h>
82e2c9347SEvgeniy Stepanov #include <cstring>
92e2c9347SEvgeniy Stepanov #include <crypt.h>
102e2c9347SEvgeniy Stepanov 
main(int argc,char ** argv)11*d8245e7aSVitaly Buka int main(int argc, char **argv) {
122e2c9347SEvgeniy Stepanov   {
132e2c9347SEvgeniy Stepanov     crypt_data cd;
142e2c9347SEvgeniy Stepanov     cd.initialized = 0;
152e2c9347SEvgeniy Stepanov     char *p = crypt_r("abcdef", "xz", &cd);
162e2c9347SEvgeniy Stepanov     volatile size_t z = strlen(p);
172e2c9347SEvgeniy Stepanov   }
182e2c9347SEvgeniy Stepanov   {
192e2c9347SEvgeniy Stepanov     crypt_data cd;
202e2c9347SEvgeniy Stepanov     cd.initialized = 0;
212e2c9347SEvgeniy Stepanov     char *p = crypt_r("abcdef", "$1$", &cd);
222e2c9347SEvgeniy Stepanov     volatile size_t z = strlen(p);
232e2c9347SEvgeniy Stepanov   }
242e2c9347SEvgeniy Stepanov   {
252e2c9347SEvgeniy Stepanov     crypt_data cd;
262e2c9347SEvgeniy Stepanov     cd.initialized = 0;
272e2c9347SEvgeniy Stepanov     char *p = crypt_r("abcdef", "$5$", &cd);
282e2c9347SEvgeniy Stepanov     volatile size_t z = strlen(p);
292e2c9347SEvgeniy Stepanov   }
302e2c9347SEvgeniy Stepanov   {
312e2c9347SEvgeniy Stepanov     crypt_data cd;
322e2c9347SEvgeniy Stepanov     cd.initialized = 0;
332e2c9347SEvgeniy Stepanov     char *p = crypt_r("abcdef", "$6$", &cd);
342e2c9347SEvgeniy Stepanov     volatile size_t z = strlen(p);
352e2c9347SEvgeniy Stepanov   }
362e2c9347SEvgeniy Stepanov }
37