+2014-04-24  David Blaikie  <dblaikie@gmail.com>
+
+       * gdb.base/catch-syscall.c: Make unreferenced statics non-static to
+       ensure clang would not discard them.
+       * gdb.base/gdbvars.c: Ditto.
+       * gdb.base/memattr.c: Ditto.
+       * gdb.base/whatis.c: Ditto.
+       * gdb.python/py-prettyprint.c: Ditto.
+       * gdb.trace/actions.c: Ditto.
+       * gdb.cp/ptype-cv-cp.cc: Mark unused global const int as used to
+       ensure clang would not discard it.
+
 2014-04-24  David Blaikie  <dblaikie@gmail.com>
 
        * gdb.stabs/gdb11479.c (tag_dummy_enum): introduce a variable to cause
 
 
 /* These are the syscalls numbers used by the test.  */
 
-static int close_syscall = SYS_close;
-static int chroot_syscall = SYS_chroot;
+int close_syscall = SYS_close;
+int chroot_syscall = SYS_chroot;
 /* GDB had a bug where it couldn't catch syscall number 0 (PR 16297).
    In most GNU/Linux architectures, syscall number 0 is
    restart_syscall, which can't be called from userspace.  However,
    the "read" syscall is zero on x86_64.  */
-static int read_syscall = SYS_read;
-static int pipe_syscall = SYS_pipe;
-static int write_syscall = SYS_write;
-static int exit_group_syscall = SYS_exit_group;
+int read_syscall = SYS_read;
+int pipe_syscall = SYS_pipe;
+int write_syscall = SYS_write;
+int exit_group_syscall = SYS_exit_group;
 
 int
 main (void)
 
 
 ptr p = &p;
 
-static void
+void
 foo_void (void)
 {
 }
 
-static int
+int
 foo_int (void)
 {
   return 0;
 
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define MEMSIZE 64
-static int mem1[MEMSIZE] = {111, 222, 333, 444, 555};
-static int mem2[MEMSIZE];
-static int mem3[MEMSIZE];
-static int mem4[MEMSIZE];
-static int mem5[MEMSIZE];
+int mem1[MEMSIZE] = {111, 222, 333, 444, 555};
+int mem2[MEMSIZE];
+int mem3[MEMSIZE];
+int mem4[MEMSIZE];
+int mem5[MEMSIZE];
 
 int main()
 {
 
    a special case kludge in GDB (Unix system include files like to define
    caddr_t), but for a variety of types.  */
 typedef char *char_addr;
-static char_addr a_char_addr;
+char_addr a_char_addr;
 typedef unsigned short *ushort_addr;
-static ushort_addr a_ushort_addr;
+ushort_addr a_ushort_addr;
 typedef signed long *slong_addr;
-static slong_addr a_slong_addr;
+slong_addr a_slong_addr;
 #ifndef NO_LONG_LONG
 typedef signed long long *slong_long_addr;
-static slong_long_addr a_slong_long_addr;
+slong_long_addr a_slong_long_addr;
 #endif
 
 char           *v_char_pointer;
 
 typedef const volatile_my_int const_volatile_my_int;
 
 my_int v_my_int (0);
-const_my_int v_const_my_int (1);
+__attribute__((used)) const_my_int v_const_my_int (1);
 volatile_my_int v_volatile_my_int (2);
 const_volatile_my_int v_const_volatile_my_int (3);
 volatile_const_my_int v_volatile_const_my_int (4);
 
 struct string_repr string_1 = { { "one" } };
 struct string_repr string_2 = { { "two" } };
 
-static int
+int
 eval_func (int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8)
 {
   return p1;
 
    return ( (unsigned long) 0 );
 }
 
-static void gdb_asm_test (void)
+void gdb_asm_test (void)
 {
 }