diff --git a/gcc/attribs.h b/gcc/attribs.h
index 4d491e04c3485acf8b8c15d28c4ccd2887f0851e..99c45750d592e71fc7ba8432781d53ba7f371ba7 100644
--- a/gcc/attribs.h
+++ b/gcc/attribs.h
@@ -324,7 +324,7 @@ struct attr_access
      in TREE_VALUE and their positions in the argument list (stored
      in TREE_PURPOSE).  Each expression may be a PARM_DECL or some
      other DECL (for ordinary variables), or an EXPR for other
-     expressions (e.g., funcion calls).  */
+     expressions (e.g., function calls).  */
   tree size;
 
   /* The zero-based position of each of the formal function arguments.
diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc
index c87153d78e7c82472e27d7f46022a667ccf71777..6623acca2377426cff858e44fc7415b090bdfdaf 100644
--- a/gcc/gengtype.cc
+++ b/gcc/gengtype.cc
@@ -4718,8 +4718,8 @@ write_roots (pair_p variables, bool emit_pch)
 }
 
 /* Prints not-as-ugly version of a typename of T to OF.  Trades the uniquness
-   guaranteee for somewhat increased readability.  If name conflicts do happen,
-   this funcion will have to be adjusted to be more like
+   guarantee for somewhat increased readability.  If name conflicts do happen,
+   this function will have to be adjusted to be more like
    output_mangled_typename.  */
 
 #define INDENT 2
diff --git a/gcc/tree-into-ssa.cc b/gcc/tree-into-ssa.cc
index 152b03968d02fce6eca94dde8f1c3952afe42cd8..242b11b29ca9a677762ab31e05ab7b425b4c9110 100644
--- a/gcc/tree-into-ssa.cc
+++ b/gcc/tree-into-ssa.cc
@@ -2499,7 +2499,7 @@ public:
   /* opt_pass methods: */
   bool gate (function *fun) final override
     {
-      /* Do nothing for funcions that was produced already in SSA form.  */
+      /* Do nothing for functions that were produced already in SSA form.  */
       return !(fun->curr_properties & PROP_ssa);
     }