1#define _STLP_DO_IMPORT_CSTD_FUNCTIONS
2#include <cmath>
3
4#if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES)
5
6namespace NS1 {
7
8bool f()
9{
10  double d( 1.0 );
11
12  d = sqrt( d );
13  d = ::sqrt( d );
14  d = std::sqrt( d );
15  return d == 1.0;
16}
17
18}
19
20namespace {
21
22bool g()
23{
24  double d( 1.0 );
25
26  d = sqrt( d );
27  d = ::sqrt( d );
28  d = std::sqrt( d );
29  return d == 1.0;
30}
31
32}
33
34// VC6 consider call to sqrt ambiguous as soon as using namespace std has
35// been invoked.
36#if !defined (STLPORT) || !defined (_STLP_MSVC) || (_STLP_MSVC >= 1300)
37using namespace std;
38#endif
39
40bool h()
41{
42  double d( 1.0 );
43
44  d = sqrt( d );
45  d = ::sqrt( d );
46  d = std::sqrt( d );
47  return d == 1.0;
48}
49
50struct sq
51{
52  sq() {}
53
54  double sqroot( double x ) {
55    using std::sqrt;
56    return sqrt(x);
57  }
58};
59
60#endif
61
62
63#if 0 // Do nothing, this should be compiled only
64
65#include "cppunit/cppunit_proxy.h"
66
67class ResolveNameTest : public CPPUNIT_NS::TestCase
68{
69  CPPUNIT_TEST_SUITE(ResolveNameTest);
70  CPPUNIT_TEST(cstyle);
71  CPPUNIT_TEST_SUITE_END();
72
73protected:
74  void cstyle();
75};
76
77CPPUNIT_TEST_SUITE_REGISTRATION(ResolveNameTest);
78
79void ResolveNameTest::cstyle()
80{
81}
82
83#endif
84