#include <stdio.h>

/* Do not move this definition into a header file!  See the comments
   in psmang.exp.  */
struct s
{
  int value;
  void method1 (void);
  void method2 (void);
};

void
s::method2 (void)
{
  printf ("%d\n", value);
}


/* The presence of these variables ensures there will be so many
   symbols in psmang2.cc's symtab's global block that it will have a
   non-trivial hash table.  When there are only a very few symbols,
   the block only has one hash bucket, so even if we compute the hash
   value for the wrong symbol name, we'll still find a symbol that
   matches.  */
int a;
int b;
int a1;
int b1;
int a2;
int b2;
int a12;
int b12;
int a3;
int b3;
int a13;
int b13;
int a23;
int b23;
int a123;
int b123;
int a4;
int b4;
int a14;
int b14;
int a24;
int b24;
int a124;
int b124;
int a34;
int b34;
int a134;
int b134;
int a234;
int b234;
int a1234;
int b1234;
int a5;
int b5;
int a15;
int b15;
int a25;
int b25;
int a125;
int b125;
int a35;
int b35;
int a135;
int b135;
int a235;
int b235;
int a1235;
int b1235;
int a45;
int b45;
int a145;
int b145;
int a245;
int b245;
int a1245;
int b1245;
int a345;
int b345;
int a1345;
int b1345;
int a2345;
int b2345;
int a12345;
int b12345;
int a6;
int b6;
int a16;
int b16;
int a26;
int b26;
int a126;
int b126;
int a36;
int b36;
int a136;
int b136;
int a236;
int b236;
int a1236;
int b1236;
int a46;
int b46;
int a146;
int b146;
int a246;
int b246;
int a1246;
int b1246;
int a346;
int b346;
int a1346;
int b1346;
int a2346;
int b2346;
int a12346;
int b12346;
int a56;
int b56;
int a156;
int b156;
int a256;
int b256;
int a1256;
int b1256;
int a356;
int b356;
int a1356;
int b1356;
int a2356;
int b2356;
int a12356;
int b12356;
int a456;
int b456;
int a1456;
int b1456;
int a2456;
int b2456;
int a12456;
int b12456;
int a3456;
int b3456;
int a13456;
int b13456;
int a23456;
int b23456;
int a123456;
int b123456;
