Exemple #1
0
int
main (void)
{
  marker1 ();
  syscall (SYS_time, &time_global);
  marker2 ();
  return 0;
}
Exemple #2
0
int
main (void)
{
  marker1 ();
  pipe (fds);
  marker2 ();
  return 0;
}
int
main (void)
{
  marker1 ();
  int fd = open ("/", O_PATH);
  fstatat( fd, ".", &buf, 0);
  marker2 ();
  return 0;
}
int
main (void)
{
  marker1 ();
  getresuid (&ruid, &euid, &suid);
  getresgid (&rgid, &egid, &sgid);
  marker2 ();
  return 0;
}
int
main (void)
{
  struct foo the_foo;
  foo_ptr = &the_foo;
  foz_ptr = &the_foo;

  return marker1 ();
}
Exemple #6
0
int main(void)
{

    A a_instance;
    marker1(); // marker1-returns-here
    a_instance.a = 20; // marker1-returns-here
    a_instance.aa = 21;
    return 0;
    
}
Exemple #7
0
int
main (void)
{
  marker1 ();
  pipe (fds);
  write (fds[1], "UNIX", 4);
  readv (fds[0], v, 4);
  marker2 ();
  return 0;
}
int
main (void)
{
  marker1 ();
  if (!fork ())
    _exit (123);
  else
    waitpid (-1, &status, 0);
  marker2 ();
  return 0;
}
Exemple #9
0
int main ()
{
#ifdef usestubs
  set_debug_traps();
  breakpoint();
#endif
  struct1.val = 1;
  struct2.val = 2;
  ptr1 = &struct1;
  ptr2 = &struct2;
  marker1 ();
  func1 ();
  for (count = 0; count < 4; count++) {
    ival1 = count;
    ival3 = count; ival4 = count;
  }
  ival1 = count; /* Outside loop */
  ival2 = count;
  ival3 = count; ival4 = count;
  marker2 ();
  if (doread)
    {
      static char msg[] = "type stuff for buf now:";
      write (1, msg, sizeof (msg) - 1);
      read (0, &buf[0], 5);
    }
  marker4 ();

  /* We have a watchpoint on ptr1->val.  It should be triggered if
     ptr1's value changes.  */
  ptr1 = ptr2;

  /* This should not trigger the watchpoint.  If it does, then we
     used the wrong value chain to re-insert the watchpoints or we
     are not evaluating the watchpoint expression correctly.  */
  struct1.val = 5;
  marker5 ();

  /* We have a watchpoint on ptr1->val.  It should be triggered if
     ptr1's value changes.  */
  ptr1 = ptr2;

  /* This should not trigger the watchpoint.  If it does, then we
     used the wrong value chain to re-insert the watchpoints or we
     are not evaluating the watchpoint expression correctly.  */
  struct1.val = 5;
  marker5 ();
  return 0;
}
Exemple #10
0
int
main (int argc, char **argv, char **envp)
{
    if (argc == 12345) {  /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
	fprintf (stderr, "usage:  factorial <number>\n");
	return 1;
    }
    printf ("%d\n", factorial (atoi ("6")));  /* set breakpoint 1 here */
    /* set breakpoint 12 here */
    marker1 ();  /* set breakpoint 11 here */
    marker2 (43);
    marker3 ("stack", "trace");
    marker4 (177601976L);
    argc = (argc == 12345); /* This is silly, but we can step off of it */ /* set breakpoint 2 here */
    return argc;  /* set breakpoint 10 here */
}
Exemple #11
0
int main()
{
    char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC;
    unsigned char UC, *pUC;
    short S, *pS;
    unsigned short US, *pUS;
    int I, *pI;
    unsigned int UI, *pUI;
    long L, *pL;
    unsigned long UL, *pUL;
    float F, *pF;
    double D, *pD;
    C = 'A';
    UC = 21;
    S = -14;
    US = 7;
    I = 102;
    UI = 1002;
    L = -234;
    UL = 234;
    F = 1.25E10;
    D = -1.375E-123;
    pC = &C;
    ppC = &pC;
    pppC = &ppC;
    ppppC = &pppC;
    pppppC = &ppppC;
    ppppppC = &pppppC;
    pUC = &UC;
    pS = &S;
    pUS = &US;
    pI = &I;
    pUI = &UI;
    pL = &L;
    pUL = &UL;
    pF = &F;
    pD = &D;
    
    #ifdef usestubs
       set_debug_traps();
       breakpoint();
    #endif
    marker1();
    return 0;
}
Exemple #12
0
int
main ()
{
  struct {
    char c[100];
  } cbig;

  struct {
    int i[800];
  } ibig;

  struct {
    long l[900];
  } lbig;

  struct {
    float f[200];
  } fbig;

  struct {
    double d[300];
  } dbig;

  struct {
    short s[400];
  } sbig;

  ibig.i[100] = 5;
  cbig.c[0] = '\0';
  cbig.c[100] = 'A';
  fbig.f[100] = 11.99999;
  dbig.d[202] = 9.99999999;
  sbig.s[90] = 255;
  lbig.l[333] = 999999999;
    
#ifdef usestubs
  set_debug_traps ();
  breakpoint ();
#endif

  marker1 ();
  return 0;
}
Exemple #13
0
int
main (int argc, char **argv, char **envp)
{
    if (argc == 12345) {  /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
	fprintf (stderr, "usage:  factorial <number>\n");
	return 1;
    }
    printf ("%d\n", factorial (atoi ("6")));  /* set breakpoint 1 here */
    /* set breakpoint 12 here */
    marker1 ();  /* set breakpoint 11 here */
    marker2 (43); /* set breakpoint 20 here */
    marker3 ("stack", "trace"); /* set breakpoint 21 here */
    marker4 (177601976L);
    /* We're used by a test that requires malloc, so make sure it is
       in the executable.  */
    (void)malloc (1);

    argc = (argc == 12345); /* This is silly, but we can step off of it */ /* set breakpoint 2 here */
    return argc;  /* set breakpoint 10 here */
} /* set breakpoint 10a here */
Exemple #14
0
int
main (int argc, char **argv, char **envp)
{
  if (argc == 12345)
    {
      /* We're used by a test that requires malloc, so make sure it is
	 in the executable.  */
      (void) malloc (1);
      return 1;
    }

    factorial (atoi ("6"));  /* set breakpoint 1 here */
    /* set breakpoint 12 here */
    marker1 ();  /* set breakpoint 11 here */
    marker2 (43); /* set breakpoint 20 here */
    marker3 ("stack", "trace"); /* set breakpoint 21 here */
    marker4 (177601976L);

    argc = (argc == 12345); /* This is silly, but we can step off of it */ /* set breakpoint 2 here */
    return argc;  /* set breakpoint 10 here */
} /* set breakpoint 10a here */
Exemple #15
0
int main(int argc, char* argv[]) {
  std::cout << "GO" << std::endl;
  cv::VideoCapture cap(VIDEO); // open the default camera
  if(!cap.isOpened())  // check if we succeeded
    return -1;
  
  cv::Mat frame;
  cv::Mat hsv;
  cap >> frame;
  
  Image3D image(frame.cols, frame.rows, NULL);

  Rectangle dummyRect;
  //Marker marker1(false, yellowMin, yellowMax, redMin, redMax, binary);
  Marker marker1(false, yellowRect, redRect, dummyRect);
  PositionMarker pm1;
  //Marker marker2(false, redMin, redMax, yellowMin, yellowMax, binary);
  Marker marker2(false, redRect, yellowRect, dummyRect);
  PositionMarker pm2;
  //Marker marker3(false, greenMin, greenMax, blueMin, blueMax, binary);
  Marker marker3(true, greenRect, blueRect, dummyRect);
  PositionMarker pm3;
  //Marker marker4(false, blueMin, blueMax, greenMin, greenMax, binary);
  Marker marker4(true, blueRect, greenRect, dummyRect);
  PositionMarker pm4;


  std::cout << "start loop" << std::endl;
  int count = 0;
  while(1) {
    cap >> frame; // get a new frame from camera
    cv::cvtColor(frame, hsv, CV_BGR2Luv);
    image.setData(hsv.data);
    image.id = count;

    if (count % 20 == 0)
        std::cout << "NEXT POS " << count << std::endl;
    bool result;

    result = marker1.getNextPos(image, pm1);
    if (!result) {
        std::cout << "POS " << count << std::endl;
        std::cout << "NOP (1)" << std::endl;
    }

    result = marker2.getNextPos(image, pm2);
    if (!result) {
        std::cout << "POS " << count << std::endl;
        std::cout << "NOP (2)" << std::endl;
    }

//    result = marker3.getNextPos(image, pm3);
//    if (!result) {
//        std::cout << "POS " << count << std::endl;
//        std::cout << "NOP (3)" << std::endl;
//    }

//    result = marker4.getNextPos(image, pm4);
//    if (!result) {
//        std::cout << "POS " << count << std::endl;
//        std::cout << "NOP (4)" << std::endl;
//    }

//     Image &mask = marker1.masks[0];
//     for (unsigned int im=0; im<mask.height; ++im) {
//       for (unsigned int jm=0; jm<mask.width; ++jm) {
//        if (mask.getValue(im, jm) == 1)
//          cv::line(frame, cv::Point(jm, im), cv::Point(jm, im), cv::Scalar(255, 0, 0));
//       }
//     }

//    Image &mask1 = marker3.masks[0];
//    for (unsigned int im=0; im<mask1.height; ++im) {
//      for (unsigned int jm=0; jm<mask1.width; ++jm) {
//        if (mask1.getValue(im, jm) == 1)
//          cv::line(frame, cv::Point(jm, im), cv::Point(jm, im), cv::Scalar(255, 0, 255));
//      }
//    }

    cv::rectangle(frame, cv::Point(pm1.x - pm1.size/2, pm1.minI), cv::Point(pm1.x + pm1.size/2, pm1.maxI), cv::Scalar(0, 0, 0));
    cv::rectangle(frame, cv::Point(pm1.x - pm1.size/2 + 1, pm1.minI + 1), cv::Point(pm1.x + pm1.size/2 - 1, pm1.maxI - 1), cv::Scalar(0, 0, 0));
    cv::rectangle(frame, cv::Point(pm2.x - pm2.size/2, pm2.minI), cv::Point(pm2.x + pm2.size/2, pm2.maxI), cv::Scalar(0, 0, 0));
    cv::rectangle(frame, cv::Point(pm2.x - pm2.size/2 + 1, pm2.minI + 1), cv::Point(pm2.x + pm2.size/2 - 1, pm2.maxI - 1), cv::Scalar(0, 0, 0));
    cv::rectangle(frame, cv::Point(pm3.x - pm3.size/2, pm3.minI), cv::Point(pm3.x + pm3.size/2, pm3.maxI), cv::Scalar(0, 0, 255));
    cv::rectangle(frame, cv::Point(pm3.x - pm3.size/2 + 1, pm3.minI + 1), cv::Point(pm3.x + pm3.size/2 - 1, pm3.maxI - 1), cv::Scalar(0, 0, 0));
    cv::rectangle(frame, cv::Point(pm4.x - pm4.size/2, pm4.minI), cv::Point(pm4.x + pm4.size/2, pm4.maxI), cv::Scalar(0, 0, 255));
    cv::rectangle(frame, cv::Point(pm4.x - pm4.size/2 + 1, pm4.minI + 1), cv::Point(pm4.x + pm4.size/2 - 1, pm4.maxI - 1), cv::Scalar(0, 0, 0));
//    cv::line(frame, cv::Point(pm1.x - pm1.size/2, 183), cv::Point(pm1.x + pm1.size/2, 211), cv::Scalar(0, 0, 255));
//    cv::line(frame, cv::Point(565, 220), cv::Point(575, 230), cv::Scalar(0, 0, 255));
    cv::imshow("img", frame);
    cv::waitKey(10);
    if (count > 472 && count < 480)
       cv::waitKey(1000);
    // if (count > 2250)
    //   cv::waitKey(2);
    
    count++;
  }
}
int
main (void)
{
  char lave = 'B';
  unsigned char lavish = 10;
  short lax = 20;
  unsigned short lecherous = 30;
  long lechery = 40;
  unsigned long lectern = 50;
  float leeway = 60;
  double legacy = 70;
  signed char lemonade = 35;

  const char            laconic = 'A';
  const unsigned char   laggard = 1;
  const short           lagoon = 2;
  const unsigned short  laity = 3;
  const long            lambent = 4;
  const unsigned long   laminated = 5;
  const float           lampoon = 6;
  const double          languid = 7;

  /* pointers to constant variables */

  const char           *legend      = &lave;
  const unsigned char  *legerdemain = &lavish;
  const short          *leniency    = &lax;
  const unsigned short *leonine     = &lecherous;
  const long           *lesion      = &lechery;
  const unsigned long  *lethal      = &lectern;
  const float          *lethargic   = &leeway;
  const double         *levity      = &legacy;

  /* constant pointers to constant variables */

  const char           *const lewd          = &laconic;
  const unsigned char  *const lexicographer = &laggard;
  const short          *const lexicon       = &lagoon;
  const unsigned short *const liaison       = &laity;
  const long           *const libation      = &lambent;
  const unsigned long  *const libelous      = &laminated;
  const float          *const libertine     = &lampoon;
  const double         *const libidinous    = &languid;

  /* this is the same as const char * legend .... */

  char           const *languish   = &laconic;
  unsigned char  const *languor    = &laggard;
  short          const *lank       = &lagoon;
  unsigned short const *lapidary   = &laity;
  long           const *larceny    = &lambent;
  unsigned long  const *largess    = &laminated;
  float          const *lascivious = &lampoon;
  double         const *lassitude  = &languid;

  /* constant pointers to variable */

  char           *const   lamprey   = &lave;
  unsigned char  *const   lariat    = &lavish;
  short          *const   laudanum  = &lax;
  unsigned short *const   lecithin  = &lecherous;
  long           *const   leviathan = &lechery;
  unsigned long  *const   libretto  = &lectern;
  float          *const   lissome   = &leeway;
  double         *const   locust    = &legacy;

  /* volatile variables */

  volatile char vox = 'X';
  volatile unsigned char victuals = 13;
  volatile short vixen = 200;
  volatile unsigned short vitriol = 300;
  volatile long vellum = 1000;
  volatile unsigned long valve = 2000;
  volatile float vacuity = 3.0;
  volatile double vertigo = 10.3;
    
  /* pointers to volatile variables */

  volatile char           * vampire = &vox;
  volatile unsigned char  * viper  = &victuals;
  volatile short          * vigour = &vixen;
  volatile unsigned short * vapour = &vitriol;
  volatile long           * ventricle = &vellum;
  volatile unsigned long  * vigintillion = &valve;
  volatile float          * vocation = &vacuity;
  volatile double         * veracity = &vertigo;

  /* volatile pointers to volatile variables */

  volatile char           * volatile vapidity = &vox;
  volatile unsigned char  * volatile velocity = &victuals;
  volatile short          * volatile veneer = &vixen;
  volatile unsigned short * volatile video = &vitriol;
  volatile long           * volatile vacuum = &vellum;
  volatile unsigned long  * volatile veniality = &valve;
  volatile float          * volatile vitality = &vacuity;
  volatile double         * volatile voracity = &vertigo;

  /* const volatile vars */

  const volatile char           victor = 'Y';
  const volatile unsigned char  vicar = 11;

  /* pointers to const volatiles */

  const volatile char              * victory = &victor;
  const volatile unsigned char     * vicarage = &vicar;

  /* const pointers to volatile vars */

  volatile char                    * const vein = &vox;
  volatile unsigned char           * const vogue = &victuals;

  /* const pointers to const volatile vars */

  const volatile char              * const cavern = &victor;
  const volatile unsigned char     * const coverlet = &vicar;

  /* volatile pointers to const vars */

  const char                       * volatile caveat = &laconic;
  const unsigned char              * volatile covenant = &laggard;

  /* volatile pointers to const volatile vars */

  const volatile char              * volatile vizier = &victor;
  const volatile unsigned char     * volatile vanadium = &vicar;

  /* const volatile pointers */

  char                             * const volatile vane = &lave;
  unsigned char                    * const volatile veldt = &lavish;

  /* const volatile pointers to const vars */

  const char                       * const volatile cove = &laconic;
  const unsigned char              * const volatile cavity = &laggard;
    
  /* const volatile pointers to volatile vars */

  volatile char                    * const volatile vagus = &vox;
  volatile unsigned char           * const volatile vagrancy = &victuals;
    
  /* const volatile pointers to const volatile */

  const volatile char              * const volatile vagary = &victor;
  const volatile unsigned char     * const volatile vendor = &vicar;
  
  /* various structs with const members */

  struct crass { char * const ptr; } crass;
  struct crisp { char * const *ptr; } crisp;

  /* misc. references */
  /*
  const char           & radiation = laconic;
  volatile signed char & remuneration = lemonade;
  */
#ifdef usestubs
  set_debug_traps ();
  breakpoint ();
#endif
  marker1 ();
    

  return 0;
}
Exemple #17
0
int main ()
{
  struct1.val = 1;
  struct2.val = 2;
  ptr1 = &struct1;
  ptr2 = &struct2;
  marker1 ();
  func1 ();
  for (count = 0; count < 4; count++) {
    ival1 = count;
    ival3 = count; ival4 = count;
  }
  ival1 = count; /* Outside loop */
  ival2 = count;
  ival3 = count; ival4 = count;
  marker2 ();
  if (doread)
    {
      static char msg[] = "type stuff for buf now:";
      write (1, msg, sizeof (msg) - 1);
      read (0, &buf[0], 5);
    }
  marker4 ();

  /* We have a watchpoint on ptr1->val.  It should be triggered if
     ptr1's value changes.  */
  ptr1 = ptr2;

  /* This should not trigger the watchpoint.  If it does, then we
     used the wrong value chain to re-insert the watchpoints or we
     are not evaluating the watchpoint expression correctly.  */
  struct1.val = 5;
  marker5 ();

  /* We have a watchpoint on ptr1->val.  It should be triggered if
     ptr1's value changes.  */
  ptr1 = ptr2;

  /* This should not trigger the watchpoint.  If it does, then we
     used the wrong value chain to re-insert the watchpoints or we
     are not evaluating the watchpoint expression correctly.  */
  struct1.val = 5;
  marker5 ();

  /* We're going to watch locals of func2, to see that out-of-scope
     watchpoints are detected and properly deleted.
     */
  marker6 ();

  /* This invocation is used for watches of a single
     local variable. */
  func2 ();

  /* This invocation is used for watches of an expression
     involving a local variable. */
  func2 ();

  /* This invocation is used for watches of a static
     (non-stack-based) local variable. */
  func2 ();

  /* This invocation is used for watches of a local variable
     when recursion happens.
     */
  marker6 ();
  recurser (2);

  marker6 ();

  func3 ();

  func4 ();

  return 0;
} /* end of main */
void StaticModelLoader::vload()
{
	v_num = 0, vt_num = 0, vn_num = 0;

	std::string marker;
	std::string marker1("v"), marker2("vt"), marker3("vn");

	double u, v;
	double x, y, z;

	std::string line;
	/*
	count number of vertices
	*/
	while (std::getline(infile, line)) {

		std::istringstream iss(line);
		iss >> marker;

		if (marker.compare(marker1) == 0) {
			v_num++;
			continue;
		}

		if (marker.compare(marker2) == 0) {
			vt_num++;
			continue;
		}

		if (marker.compare(marker3) == 0) {
			vn_num++;
			continue;
		}
	}


	/*
	return cursor to the beginning  of the file
	*/
	infile.clear();
	infile.seekg(0, ios::beg);

	/*
	allocate memory
	*/
	v_array = (v_struct*)calloc(v_num, sizeof(v_struct));
	vt_array = (vt_struct*)calloc(vt_num, sizeof(vt_struct));
	vn_array = (vn_struct*)calloc(vn_num, sizeof(vn_struct));

	int iv = 0, ivt = 0, ivn = 0;
	while (std::getline(infile, line)) {

		std::istringstream iss(line);
		iss >> marker;

		/*
		save coordinates of vertices
		*/
		if (marker.compare(marker1) == 0) {
			iss >> x >> y >> z;

			v_array[iv].ox = x, v_array[iv].x = x;
			v_array[iv].oy = y, v_array[iv].y = y;
			v_array[iv].oz = z, v_array[iv].z = z;
			v_array[iv].ow = 1, v_array[iv].w = 1;
			v_array[iv].index = iv;

			if (fabs(x) > rx) rx = fabs(x);
			if (fabs(y) > ry) ry = fabs(y);
			if (fabs(z) > rz) rz = fabs(z);

			iv++;
			continue;
		}
		/*
		save coordinates of textures
		*/
		if (marker.compare(marker2) == 0) {
			iss >> u >> v;

			vt_array[ivt].u = u;
			vt_array[ivt].v = v;
			vt_array[ivt].w = 1;
			vt_array[ivt].index = ivt;

			ivt++;
			continue;
		}
Exemple #19
0
int
main (void)
{
  char lave = 'B';
  unsigned char lavish = 10;
  short lax = 20;
  unsigned short lecherous = 30;
  long lechery = 40;
  unsigned long lectern = 50;
  float leeway = 60;
  double legacy = 70;
  signed char lemonade = 35;

  const char            laconic = 'A';
  const unsigned char   laggard = 1;
  const short           lagoon = 2;
  const unsigned short  laity = 3;
  const long            lambent = 4;
  const unsigned long   laminated = 5;
  const float           lampoon = 6;
  const double          languid = 7;

  /* pointers to constant variables */

  const char           *legend      = &lave;
  const unsigned char  *legerdemain = &lavish;
  const short          *leniency    = &lax;
  const unsigned short *leonine     = &lecherous;
  const long           *lesion      = &lechery;
  const unsigned long  *lethal      = &lectern;
  const float          *lethargic   = &leeway;
  const double         *levity      = &legacy;

  /* constant pointers to constant variables */

  const char           *const lewd          = &laconic;
  const unsigned char  *const lexicographer = &laggard;
  const short          *const lexicon       = &lagoon;
  const unsigned short *const liaison       = &laity;
  const long           *const libation      = &lambent;
  const unsigned long  *const libelous      = &laminated;
  const float          *const libertine     = &lampoon;
  const double         *const libidinous    = &languid;

  /* this is the same as const char * legend .... */

  char           const *languish   = &laconic;
  unsigned char  const *languor    = &laggard;
  short          const *lank       = &lagoon;
  unsigned short const *lapidary   = &laity;
  long           const *larceny    = &lambent;
  unsigned long  const *largess    = &laminated;
  float          const *lascivious = &lampoon;
  double         const *lassitude  = &languid;

  /* constant pointers to variable */

  char           *const   lamprey   = &lave;
  unsigned char  *const   lariat    = &lavish;
  short          *const   laudanum  = &lax;
  unsigned short *const   lecithin  = &lecherous;
  long           *const   leviathan = &lechery;
  unsigned long  *const   libretto  = &lectern;
  float          *const   lissome   = &leeway;
  double         *const   locust    = &legacy;

  /* constant arrays */
  const char logical[2] = {laconic, laconic};
  const unsigned char lugged[2] = {laggard, laggard};
  const short luck[2] = {lagoon, lagoon};
  const unsigned short lunar[2] = {laity, laity};
  const long lumen[2] = {lambent, lambent};
  const unsigned long lurk[2] = {laminated, laminated};
  const float lush[2] = {lampoon, lampoon};
  const double lynx[2] = {languid, languid};

  /* volatile variables */

  volatile char vox = 'X';
  volatile unsigned char victuals = 13;
  volatile short vixen = 200;
  volatile unsigned short vitriol = 300;
  volatile long vellum = 1000;
  volatile unsigned long valve = 2000;
  volatile float vacuity = 3.0;
  volatile double vertigo = 10.3;
    
  /* pointers to volatile variables */

  volatile char           * vampire = &vox;
  volatile unsigned char  * viper  = &victuals;
  volatile short          * vigour = &vixen;
  volatile unsigned short * vapour = &vitriol;
  volatile long           * ventricle = &vellum;
  volatile unsigned long  * vigintillion = &valve;
  volatile float          * vocation = &vacuity;
  volatile double         * veracity = &vertigo;

  /* volatile pointers to volatile variables */

  volatile char           * volatile vapidity = &vox;
  volatile unsigned char  * volatile velocity = &victuals;
  volatile short          * volatile veneer = &vixen;
  volatile unsigned short * volatile video = &vitriol;
  volatile long           * volatile vacuum = &vellum;
  volatile unsigned long  * volatile veniality = &valve;
  volatile float          * volatile vitality = &vacuity;
  volatile double         * volatile voracity = &vertigo;

  /* volatile arrays */
  volatile char violent[2] = {vox, vox};
  volatile unsigned char violet[2] = {victuals, victuals};
  volatile short vips[2] = {vixen, vixen};
  volatile unsigned short virgen[2] = {vitriol, vitriol};
  volatile long vulgar[2] = {vellum, vellum};
  volatile unsigned long vulture[2] = {valve, valve};
  volatile float vilify[2] = {vacuity, vacuity};
  volatile double villar[2] = {vertigo, vertigo};

  /* const volatile vars */

  const volatile char           victor = 'Y';
  const volatile unsigned char  vicar = 11;

  /* pointers to const volatiles */

  const volatile char              * victory = &victor;
  const volatile unsigned char     * vicarage = &vicar;

  /* const pointers to volatile vars */

  volatile char                    * const vein = &vox;
  volatile unsigned char           * const vogue = &victuals;

  /* const pointers to const volatile vars */

  const volatile char              * const cavern = &victor;
  const volatile unsigned char     * const coverlet = &vicar;

  /* volatile pointers to const vars */

  const char                       * volatile caveat = &laconic;
  const unsigned char              * volatile covenant = &laggard;

  /* volatile pointers to const volatile vars */

  const volatile char              * volatile vizier = &victor;
  const volatile unsigned char     * volatile vanadium = &vicar;

  /* const volatile pointers */

  char                             * const volatile vane = &lave;
  unsigned char                    * const volatile veldt = &lavish;

  /* const volatile pointers to const vars */

  const char                       * const volatile cove = &laconic;
  const unsigned char              * const volatile cavity = &laggard;
    
  /* const volatile pointers to volatile vars */

  volatile char                    * const volatile vagus = &vox;
  volatile unsigned char           * const volatile vagrancy = &victuals;
    
  /* const volatile pointers to const volatile */

  const volatile char              * const volatile vagary = &victor;
  const volatile unsigned char     * const volatile vendor = &vicar;
  
  /* const volatile arrays */
  const volatile char vindictive[2] = {victor, victor};
  const volatile unsigned char vegetation[2] = {vicar, vicar};

  /* various structs with const members */

  struct crass { char * const ptr; } crass = { lamprey };
  struct crisp { char * const *ptr; } crisp = { &lamprey };

  /* Reference the structs so that they are not discarded.  */
  struct crass *creed = &crass;
  struct crisp *crow = &crisp;

  /* misc. references */
  /*
  const char           & radiation = laconic;
  volatile signed char & remuneration = lemonade;
  */
  marker1 ();
    

  return 0;
}