$ make
gcc -O -Wall -m64 -g -lm -o btest bits.c btest.c decl.c tests.c
bits.c: In function ‘print_binary’:
bits.c:128:5: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]
     printf("%d", (x>>i) & 0x1);
     ^
bits.c:128:5: warning: incompatible implicit declaration of built-in function ‘printf’
bits.c:128:5: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
bits.c:133:3: warning: incompatible implicit declaration of built-in function ‘printf’
   printf("\n");
   ^
bits.c:133:3: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
gcc -O -Wall -m64 -g -Wno-unused-variable -o ptest ptest.c pointer.c
pointer.c: In function ‘changeValue’:
pointer.c:130:10: warning: ‘intArray[5]’ is used uninitialized in this function [-Wuninitialized]
   return intArray[5];
          ^
$ gdb ./btest
GNU gdb (GDB) Red Hat Enterprise Linux 7.11-67.el7
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./btest...done.
(gdb) break bitXor
Breakpoint 1 at 0x400b2e: file bits.c, line 156.
(gdb) run
Starting program: /homes/iws/jhsia/lab1/btest 
Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7.x86_64
Score	Rating	Errors	Function
ERROR: Test bitAnd(-2147483648[0x80000000],-2147483648[0x80000000]) failed...
...Gives 2[0x2]. Should be -2147483648[0x80000000]

Breakpoint 1, bitXor (x=-2147483648, y=-2147483648) at bits.c:156
156	}
(gdb) print x
$1 = -2147483648
(gdb) print /x x
$2 = 0x80000000
(gdb) print x^y
$3 = 0
(gdb) continue
Continuing.
ERROR: Test bitXor failed.
  Timed out after 10 secs (probably infinite loop)
ERROR: Test thirdBits() failed...
...Gives 2[0x2]. Should be 1227133513[0x49249249]
ERROR: Test sign(-2147483647[0x80000001]) failed...
...Gives 2[0x2]. Should be -1[0xffffffff]
ERROR: Test getByte(-2147483648[0x80000000],0[0x0]) failed...
...Gives 2[0x2]. Should be 0[0x0]
ERROR: Test fitsBits(-2147483648[0x80000000],1[0x1]) failed...
...Gives 2[0x2]. Should be 0[0x0]
ERROR: Test logicalShift(-2147483648[0x80000000],0[0x0]) failed...
...Gives 2[0x2]. Should be -2147483648[0x80000000]
ERROR: Test addOK(-2147483648[0x80000000],-2147483648[0x80000000]) failed...
...Gives 2[0x2]. Should be 0[0x0]
ERROR: Test invert(-2147483648[0x80000000],0[0x0],0[0x0]) failed...
...Gives 2[0x2]. Should be -2147483648[0x80000000]
ERROR: Test bang(-2147483648[0x80000000]) failed...
...Gives 2[0x2]. Should be 0[0x0]
ERROR: Test isPower2(-2147483648[0x80000000]) failed...
...Gives 2[0x2]. Should be 0[0x0]
Total points: 0/27
[Inferior 1 (process 178242) exited normally]
(gdb) quit