diff --git a/include/mruby.h b/include/mruby.h
index 19ddf96de0cc10e445fd7362dded9e088df10ba4..1085756fd7e0547517a7bd1084bfdfcc9968fbe2 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -231,11 +231,11 @@ void mrb_gc_arena_restore(mrb_state*,int);
 void mrb_gc_mark(mrb_state*,struct RBasic*);
 #define mrb_gc_mark_value(mrb,val) do {\
   if (mrb_type(val) >= MRB_TT_OBJECT) mrb_gc_mark((mrb), mrb_object(val));\
-} while (0);
+} while (0)
 void mrb_field_write_barrier(mrb_state *, struct RBasic*, struct RBasic*);
 #define mrb_field_write_barrier_value(mrb, obj, val) do{\
   if ((val.tt >= MRB_TT_OBJECT)) mrb_field_write_barrier((mrb), (obj), mrb_object(val));\
-} while (0);
+} while (0)
 void mrb_write_barrier(mrb_state *, struct RBasic*);
 
 mrb_value mrb_check_convert_type(mrb_state *mrb, mrb_value val, mrb_int type, const char *tname, const char *method);
diff --git a/include/mruby/khash.h b/include/mruby/khash.h
index dc298baf1f7f3803871c55b430059d8d45b5009f..9eddc0bb3f96ae0da8d8fc148c6a1d1757fae54e 100644
--- a/include/mruby/khash.h
+++ b/include/mruby/khash.h
@@ -41,7 +41,7 @@ static const uint8_t __m[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
   v |= v >> 8;\
   v |= v >> 16;\
   v++;\
-} while (0);
+} while (0)
 
 /* declare struct kh_xxx and kh_xxx_funcs
 
diff --git a/include/mruby/value.h b/include/mruby/value.h
index ab56c979531308ca0377a11fc0cf065805bec005..4e90aca9cecd668afd5218396db763bf049c0560 100644
--- a/include/mruby/value.h
+++ b/include/mruby/value.h
@@ -55,7 +55,7 @@ typedef struct mrb_value {
 #define MRB_SET_VALUE(o, ttt, attr, v) do {\
   (o).tt = ttt;\
   (o).attr = v;\
-} while (0);
+} while (0)
 
 static inline mrb_value
 mrb_float_value(mrb_float f)
@@ -131,7 +131,7 @@ typedef struct mrb_value {
 #define MRB_SET_VALUE(o, tt, attr, v) do {\
   (o).ttt = mrb_mktt(tt);\
   (o).attr = v;\
-} while (0);
+} while (0)
 
 static inline mrb_value
 mrb_float_value(mrb_float f)
diff --git a/src/math.c b/src/math.c
index 3e455094698fd79c4e10e478aa2a9648325826ec..782b75c9754532376b4743f2af3353b3c2e64ed8 100644
--- a/src/math.c
+++ b/src/math.c
@@ -11,7 +11,7 @@
 #include <math.h>
 
 #define domain_error(msg) \
-    mrb_raise(mrb, E_RANGE_ERROR, "Numerical argument is out of domain - " #msg);
+    mrb_raise(mrb, E_RANGE_ERROR, "Numerical argument is out of domain - " #msg)
 
 /* math functions not provided under Microsoft Visual C++ */
 #ifdef _MSC_VER