Home | History | Annotate | Download | only in unit
      1 #define _STLP_DO_IMPORT_CSTD_FUNCTIONS
      2 #include <cmath>
      3 
      4 #if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES)
      5 
      6 namespace NS1 {
      7 
      8 bool 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 
     20 namespace {
     21 
     22 bool 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)
     37 using namespace std;
     38 #endif
     39 
     40 bool 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 
     50 struct 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 
     67 class ResolveNameTest : public CPPUNIT_NS::TestCase
     68 {
     69   CPPUNIT_TEST_SUITE(ResolveNameTest);
     70   CPPUNIT_TEST(cstyle);
     71   CPPUNIT_TEST_SUITE_END();
     72 
     73 protected:
     74   void cstyle();
     75 };
     76 
     77 CPPUNIT_TEST_SUITE_REGISTRATION(ResolveNameTest);
     78 
     79 void ResolveNameTest::cstyle()
     80 {
     81 }
     82 
     83 #endif
     84