18c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania/*
28c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * Copyright (C) 2009 The Android Open Source Project
38c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * All rights reserved.
48c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *
58c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * Redistribution and use in source and binary forms, with or without
68c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * modification, are permitted provided that the following conditions
78c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * are met:
88c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *  * Redistributions of source code must retain the above copyright
98c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *    notice, this list of conditions and the following disclaimer.
108c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *  * Redistributions in binary form must reproduce the above copyright
118c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *    notice, this list of conditions and the following disclaimer in
128c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *    the documentation and/or other materials provided with the
138c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *    distribution.
148c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania *
158c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
168c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
178c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
188c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
198c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
208c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
218c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
228c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
238c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
248c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
258c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
268c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania * SUCH DAMAGE.
278c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania */
288c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
298c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#include <cstring>
30b381ead492251a797d2df4b260cb01eb1f64cfadDavid 'Digit' Turner#if defined BIONIC && !defined BIONIC_LIBSTDCPP_INCLUDE_CSTRING__
318c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#error "Wrong header file included!!"
328c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#endif
338c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
348c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catanianamespace {
358c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniaconst int kPassed = 0;
368c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniaconst int kFailed = 1;
378c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#define FAIL_UNLESS(f) if (!android::f()) return kFailed;
388c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania}  // anonymous namespace
398c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
408c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catanianamespace android
418c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania{
428c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memchr;
438c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memcmp;
448c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memcpy;
458c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memmove;
468c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::memset;
478c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcat;
488c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strchr;
498c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcmp;
508c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcoll;
518c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcpy;
528c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strcspn;
538c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strerror;
548c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strlen;
558c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strncat;
568c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strncmp;
578c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strncpy;
588c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strpbrk;
598c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strrchr;
608c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strspn;
618c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strstr;
628c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strtok;
638c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniausing std::strxfrm;
648c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
658c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#ifndef NULL
668c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#error "NULL must be a macro"
678c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania#endif
688c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
698c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniavolatile std::size_t size;
708c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
718c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania}  // namespace android
728c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania
738c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Cataniaint main(int argc, char **argv)
748c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania{
758c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania    return kPassed;
768c88d7d48dc60adcfef4c1e6b6ef6ac255cfc16dNiko Catania}
77