/*-------------------------------------------------------------------+
|                Copyright (c) 1995, SAS Institute Inc.              |
|                  Unpublished - All Rights Reserved                 |
|                      S A S / C   S A M P L E                       |
|                                                                    |
|         NAME: MANGLE                                               |
|     LANGUAGE: C++                                                  |
|      PURPOSE: This code fragment is not an executable program. Its |
|               purpose is to display some C++ mangled names. During |
|               optimization, numerous LSCC304 will be generated,    |
|               about eliminating a dead assignment to a mangled     |
|               identifier.                                          |
|   MVS -                                                            |
|      COMPILE: Use JCL in AUX(MANGLE)                               |
|         LINK: N/A                                                  |
|      EXECUTE: N/A                                                  |
|   TSO -                                                            |
|      COMPILE: LCXX  MANGLE                                         |
|         LINK: N/A                                                  |
|      EXECUTE: N/A                                                  |
|   CMS -                                                            |
|      COMPILE: LCXX  MANGLE                                         |
|         LINK: N/A                                                  |
|      EXECUTE: N/A                                                  |
+-------------------------------------------------------------------*/

int i;
foo(const int, double*);


class BaseClass {
private:
int i;
};


class TestClass : BaseClass {
private:
int i;

public:
foo(const int, double*);
foo(int, double);
};



TestClass::foo(int ii, double dd)
{


int temp = i;

if (temp > 0)
  {
  int ii = 0;
  }
temp = ::i;
};


TestClass::foo(const int ii, double* dd)
{
int temp = i;

if (temp > 0)
  {
  int ii = 0;
  }
temp = ::i;
};


foo(const int ii, double* dd)
{
int temp = i;

if (temp > 0)
  {
  int ii = 0;
  }
temp = ::i;
};

void main(){}