diff --git a/gcc/asan.c b/gcc/asan.c
index c068b8ca0f455b3e7e78fe2743ccb2ef9aef2646..b12cf447cc5158f41ffd2a16c1cf0a65ff42d745 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -221,7 +221,7 @@ static GTY(()) tree shadow_ptr_types[2];
 /* This type represents a reference to a memory region.  */
 struct asan_mem_ref
 {
-  /* The expression of the begining of the memory region.  */
+  /* The expression of the beginning of the memory region.  */
   tree start;
 
   /* The size of the access (can be 1, 2, 4, 8, 16 for now).  */
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index d3bc4f927410023d09b55478f447af1193ae790d..2cbeb6ae9f3c027d44743fb335d28990dfdee694 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -594,7 +594,7 @@ find_traces_1_round (int branch_th, int exec_th, gcov_type count_th,
 
 	     After removing the best edge, the final result will be ABCD/ ACBD.
 	     It does not add jump compared with the previous order.  But it
-	     reduces the possiblity of long jumps.  */
+	     reduces the possibility of long jumps.  */
 	  if (best_edge && for_size
 	      && (EDGE_COUNT (best_edge->dest->succs) > 1
 		 || EDGE_COUNT (best_edge->dest->preds) > 1))
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 27b22a19fbdd8670976b713a748e522e7834e379..66952066dae9227497f0b0fe2ef05256874b768a 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2013-07-21   Ondřej Bílka  <neleai@seznam.cz>
+
+	* c-common.c: Fix typos.
+	* c-common.h: Likewise.
+
 2013-07-13  Lubos Lunak  <l.lunak@suse.cz>
 
 	PR c++/55203
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 970f9f20a08e2ca9b268a972e0edd439b424965a..04d1bd50fa0cedd0a9cb1361cfd80a77b3643891 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -10163,7 +10163,7 @@ get_atomic_generic_size (location_t loc, tree function,
     {
       int size;
       tree type = TREE_TYPE ((*params)[x]);
-      /* __atomic_compare_exchange has a bool in the 4th postion, skip it.  */
+      /* __atomic_compare_exchange has a bool in the 4th position, skip it.  */
       if (n_param == 6 && x == 3)
         continue;
       if (!POINTER_TYPE_P (type))
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 6dfcffd79218395f029f5dd833f278453a3ef486..915887cf327c7e22a04e5e2cacd9248dae9fd661 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1127,7 +1127,7 @@ extern void convert_vector_to_pointer_for_subscript (location_t, tree*, tree);
 
 /* Possibe cases of scalar_to_vector conversion.  */
 enum stv_conv {
-  stv_error,        /* Error occured.  */
+  stv_error,        /* Error occurred.  */
   stv_nothing,      /* Nothing happened.  */
   stv_firstarg,     /* First argument must be expanded.  */
   stv_secondarg     /* Second argument must be expanded.  */
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index e66eecd4d2712c367085177c96b41eaeb0ef251c..3d6f3876f9cd6e5746935caaa80a60be7a1412ad 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -59,7 +59,7 @@ struct GTY(()) symtab_node_base
   /* True when alias is a weakref.  */
   unsigned weakref : 1;
   /* C++ frontend produce same body aliases and extra name aliases for
-     virutal functions and vtables that are obviously equivalent.
+     virtual functions and vtables that are obviously equivalent.
      Those aliases are bit special, especially because C++ frontend
      visibility code is so ugly it can not get them right at first time
      and their visibility needs to be copied from their "masters" at
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 731a0e91294c9d5fd0eadb57049d26b34039ca5c..b82c2e01b57e49962c8559e461fbcd6dd6fc3ca3 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -83,7 +83,7 @@ along with GCC; see the file COPYING3.  If not see
 	   b) early small interprocedural passes.
 
 	      Those are interprocedural passes executed only at compilation
-	      time.  These include, for exmaple, transational memory lowering,
+	      time.  These include, for example, transational memory lowering,
 	      unreachable code removal and other simple transformations.
 
 	   c) IP analysis stage.  All interprocedural passes do their
diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index 71d031d689eda5cd67cf8aebb94f2f375a4197b5..edb9c8c8477abd38d664606907da41b128521b0a 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -196,7 +196,7 @@ enum memmodel
   MEMMODEL_LAST = 6
 };
 
-/* Suppose that higher bits are target dependant. */
+/* Suppose that higher bits are target dependent. */
 #define MEMMODEL_MASK ((1<<16)-1)
 
 /* Support for user-provided GGC and PCH markers.  The first parameter
diff --git a/gcc/ddg.c b/gcc/ddg.c
index e1678807d9b78d83cbfd21003bddef93a0892d8a..0d9089fd470b726aa05bb853db2eca43eb290bed 100644
--- a/gcc/ddg.c
+++ b/gcc/ddg.c
@@ -417,7 +417,7 @@ walk_mems_1 (rtx *x, rtx *pat)
 {
   if (MEM_P (*x))
     {
-      /* Visit all MEMs in *PAT and check indepedence.  */
+      /* Visit all MEMs in *PAT and check independence.  */
       if (for_each_rtx (pat, (rtx_function) walk_mems_2, *x))
         /* Indicate that dependence was determined and stop traversal.  */
         return 1;
diff --git a/gcc/df-core.c b/gcc/df-core.c
index e602290d8f4a63d07d484c110797ee6eb7bd6bf0..d0e316c5c0f5f6db5e05adb7b9dddd389a3cd722 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -961,7 +961,7 @@ df_worklist_propagate_backward (struct dataflow *dataflow,
    DATAFLOW is problem we are solving, PENDING is worklist of basic blocks we
    need to visit.
    BLOCK_IN_POSTORDER is array of size N_BLOCKS specifying postorder in BBs and
-   BBINDEX_TO_POSTORDER is array mapping back BB->index to postorder possition.
+   BBINDEX_TO_POSTORDER is array mapping back BB->index to postorder position.
    PENDING will be freed.
 
    The worklists are bitmaps indexed by postorder positions.  
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index abe6958a09a4269e126bdc5b4d82ded20eb5c84e..dad0ae7cd88cd87b5464178c12b83492ee808119 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -115,7 +115,7 @@ df_print_bb_index (basic_block bb, FILE *file)
    block.  The id field in the ref is used to index into these sets.
    See df.h for details.
 
-   If the DF_RD_PRUNE_DEAD_DEFS changable flag is set, only DEFs reaching
+   If the DF_RD_PRUNE_DEAD_DEFS changeable flag is set, only DEFs reaching
    existing uses are included in the global reaching DEFs set, or in other
    words only DEFs that are still live.  This is a kind of pruned version
    of the traditional reaching definitions problem that is much less
diff --git a/gcc/double-int.h b/gcc/double-int.h
index 8e709e6d415eb0b3367b26fd7dca0c65d780e174..650520ba052fe12c65d6ca5e54a8cabf9b0750c6 100644
--- a/gcc/double-int.h
+++ b/gcc/double-int.h
@@ -190,7 +190,7 @@ struct double_int
   bool operator == (double_int cst2) const;
   bool operator != (double_int cst2) const;
 
-  /* Please migrate away from using these member variables publically.  */
+  /* Please migrate away from using these member variables publicly.  */
 
   unsigned HOST_WIDE_INT low;
   HOST_WIDE_INT high;
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index c3ae926ee7a5b8f223357e87461860443edaf968..c3417636d2caaa709f89244e4988ea09edd9fd79 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -22703,7 +22703,7 @@ string_cst_pool_decl (tree t)
    of exprloc or after DW_OP_{,bit_}piece, and val_addr can't be
    resolved.  Replace it (both DW_OP_addr and DW_OP_stack_value)
    with DW_OP_GNU_implicit_pointer if possible
-   and return true, if unsuccesful, return false.  */
+   and return true, if unsuccessful, return false.  */
 
 static bool
 optimize_one_addr_into_implicit_ptr (dw_loc_descr_ref loc)
diff --git a/gcc/gcse.c b/gcc/gcse.c
index e485985ba72251d1614d5c86f84f947dbc72e24c..ec80e8bde4782b3e9fa5d4465334d4f0920ae7ad 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -3323,7 +3323,7 @@ hoist_code (void)
 		    }
 		}
 	      else
-		/* Punt, no point hoisting a single occurence.  */
+		/* Punt, no point hoisting a single occurrence.  */
 		occrs_to_hoist.release ();
 
 	      if (flag_ira_hoist_pressure
diff --git a/gcc/genattr.c b/gcc/genattr.c
index cd97c765edc04ecf430b7081014747e2ac5f2bc5..e16cad9c79aa6f34fee6ce5875dd6a5a8426fee2 100644
--- a/gcc/genattr.c
+++ b/gcc/genattr.c
@@ -335,7 +335,7 @@ main (int argc, char **argv)
       printf ("typedef void *state_t;\n\n");
     }
 
-  /* Special-purpose atributes should be tested with if, not #ifdef.  */
+  /* Special-purpose attributes should be tested with if, not #ifdef.  */
   const char * const special_attrs[] = { "length", "enabled", 0 };
   for (const char * const *p = special_attrs; *p; p++)
     {
diff --git a/gcc/gengtype-state.c b/gcc/gengtype-state.c
index c6ecc247a67bf170a63849f664f02114f471a8e0..ba7948a1ff0c0a3ce69e3547317dadc601b87fca 100644
--- a/gcc/gengtype-state.c
+++ b/gcc/gengtype-state.c
@@ -244,7 +244,7 @@ s_expr_writer::write_any_indent (int leading_spaces)
 }
 
 /* Write the beginning of a new s-expresion e.g. "(!foo "
-   The writer automatically adds whitespace to show the hierachical
+   The writer automatically adds whitespace to show the hierarchical
    structure of the expressions, so each one starts on a new line,
    and any within it will be at an increased indentation level.  */
 void
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 728d3610f11cdd57b6a02a2cb77192e7899c0a2e..62c71b6843e65b1440a9825dfb36ac204558466d 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -2699,7 +2699,7 @@ get_base_constructor (tree base, HOST_WIDE_INT *bit_offset,
       {
 	tree init = ctor_for_folding (base);
 
-	/* Our semantic is exact oposite of ctor_for_folding;
+	/* Our semantic is exact opposite of ctor_for_folding;
 	   NULL means unknown, while error_mark_node is 0.  */
 	if (init == error_mark_node)
 	  return NULL_TREE;
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index b6e31c7ed5956d3081ac4041db8cb2565cec2aff..318f80c1e0dacf5461a93727302a23bc791be6a5 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -165,9 +165,9 @@ getTileMap(isl_ctx *ctx, int scheduleDimensions, int tileSize)
       tileMap = isl_basic_map_add_constraint(tileMap, c);
     }
 
-  /* Project out auxilary dimensions.
+  /* Project out auxiliary dimensions.
 
-     The auxilary dimensions are transformed into existentially quantified ones.
+     The auxiliary dimensions are transformed into existentially quantified ones.
      This reduces the number of visible scattering dimensions and allows Cloog
      to produces better code.  */
   tileMap = isl_basic_map_project_out(tileMap, isl_dim_out,
diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h
index 8a726011de0855f2a2c3d26182f267c61239754d..b34cb526baded23504924438bc9cdae7d9a94a37 100644
--- a/gcc/ipa-inline.h
+++ b/gcc/ipa-inline.h
@@ -53,7 +53,7 @@ enum inline_hints_vals {
      to do so because it enables loop optimizatoins.  */
   INLINE_HINT_loop_iterations = 2,
   INLINE_HINT_loop_stride = 4,
-  /* Inlining withing same strongly connected component of callgraph is often
+  /* Inlining within same strongly connected component of callgraph is often
      a loss due to increased stack frame usage and prologue setup costs.  */
   INLINE_HINT_same_scc = 8,
   /* Inlining functions in strongly connected component is not such a great
@@ -67,7 +67,7 @@ enum inline_hints_vals {
    */
   INLINE_HINT_cross_module = 64,
   /* If array indexes of loads/stores become known there may be room for
-     futher optimization.  */
+     further optimization.  */
   INLINE_HINT_array_index = 128
 };
 typedef int inline_hints;
@@ -152,7 +152,7 @@ struct GTY(()) inline_summary
      using up-to-date value in the badness metric mean a lot of extra
      expenses.  */
   int growth;
-  /* Number of SCC on the beggining of inlining process.  */
+  /* Number of SCC on the beginning of inlining process.  */
   int scc_no;
 };
 
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 62d7a3c5e845f1f9b40fea42c1cf97a21e5417ca..84aeb45157cba415b3f02a4a42613cdf675a80bc 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -682,7 +682,7 @@ mark_modified (ao_ref *ao ATTRIBUTE_UNUSED, tree vdef ATTRIBUTE_UNUSED,
   return true;
 }
 
-/* Return true if a load from a formal parameter PARM_LOAD is known to retreive
+/* Return true if a load from a formal parameter PARM_LOAD is known to retrieve
    a value known not to be modified in this function before reaching the
    statement STMT.  PARM_AINFO is a pointer to a structure containing temporary
    information about the parameter.  */
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h
index 3399e82730fe18533835d34159a20fa57c6b1d80..e3836e0d09a3c7beadab7fb1da696b13ba016b90 100644
--- a/gcc/ipa-prop.h
+++ b/gcc/ipa-prop.h
@@ -143,7 +143,7 @@ struct GTY(()) ipa_ancestor_jf_data
    the size of the type) is clobbered with an unknown value.  When
    agg_preserved is false or the type of the containing jump function is
    different, all unlisted parts are assumed to be unknown and all values must
-   fullfill is_gimple_ip_invariant.  */
+   fulfill is_gimple_ip_invariant.  */
 
 typedef struct GTY(()) ipa_agg_jf_item
 {
@@ -192,7 +192,7 @@ typedef struct GTY (()) ipa_jump_func
 } ipa_jump_func_t;
 
 
-/* Return the offset of the component that is decribed by a known type jump
+/* Return the offset of the component that is described by a known type jump
    function JFUNC.  */
 
 static inline HOST_WIDE_INT
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 542d33a99cd36f4d69b98606a9a5010fa6a283b7..5492349b4e1f3f603ea7ef91a2b378155faaee68 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -1080,7 +1080,7 @@ ignore_edge (struct cgraph_edge *e)
 
 /* Return true if NODE is self recursive function.
    ??? self recursive and indirectly recursive funcions should
-   be the same, so this function seems unnecesary.  */
+   be the same, so this function seems unnecessary.  */
 
 static bool
 self_recursive_p (struct cgraph_node *node)