Index: cpp/frams/genetics/f4/f4_general.cpp
===================================================================
--- cpp/frams/genetics/f4/f4_general.cpp	(revision 841)
+++ cpp/frams/genetics/f4/f4_general.cpp	(revision 853)
@@ -1,4 +1,4 @@
 // This file is a part of Framsticks SDK.  http://www.framsticks.com/
-// Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
+// Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
 // See LICENSE.txt for details.
 
@@ -300,5 +300,5 @@
 				}
 			}
-				/* no break */
+			[[fallthrough]];
 			case '#':
 			{
@@ -522,5 +522,5 @@
 				break;
 			}
-			wait_link:
+		wait_link:
 			{
 				// wait for other neurons to develop
@@ -537,5 +537,5 @@
 				gcur = gcur->child;
 			}
-				break;
+			break;
 			case ':':
 			{
@@ -1624,10 +1624,10 @@
 		if (root->child)
 		{
-		char* buf = (char*)malloc(300);
-		DB(printf("(%d) ", root->child->count());)
-			buf[0] = 0;
-		root->child->sprintAdj(buf);
-		DB(printf("%s\n", buf);)
-			free(buf);
+			char* buf = (char*)malloc(300);
+			DB(printf("(%d) ", root->child->count());)
+				buf[0] = 0;
+			root->child->sprintAdj(buf);
+			DB(printf("%s\n", buf);)
+				free(buf);
 		}
 	)
Index: cpp/frams/genetics/fB/fB_oper.cpp
===================================================================
--- cpp/frams/genetics/fB/fB_oper.cpp	(revision 841)
+++ cpp/frams/genetics/fB/fB_oper.cpp	(revision 853)
@@ -1,4 +1,4 @@
 // This file is a part of Framsticks SDK.  http://www.framsticks.com/
-// Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
+// Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
 // See LICENSE.txt for details.
 
@@ -301,5 +301,5 @@
 		}
 	}
-	/* no break */
+	[[fallthrough]];
 	case FB_INSERTION:
 	{
@@ -359,8 +359,8 @@
 		res.insert(res.end(), iters[3], tokenized.end());
 
-//		SString first = line.substr(cuts[0], cuts[1] - cuts[0]);
-//		SString second = line.substr(cuts[2], cuts[3] - cuts[2]);
-//		SString result = line.substr(0, cuts[0]) + second +
-//			line.substr(cuts[1], cuts[2] - cuts[1]) + first + line.substr(cuts[3]);
+		//		SString first = line.substr(cuts[0], cuts[1] - cuts[0]);
+		//		SString second = line.substr(cuts[2], cuts[3] - cuts[2]);
+		//		SString result = line.substr(0, cuts[0]) + second +
+		//			line.substr(cuts[1], cuts[2] - cuts[1]) + first + line.substr(cuts[3]);
 		line = detokenizeSequence(&res);
 		chg = (float)(cuts[3] - cuts[2] + cuts[1] - cuts[0]) / line.len();
@@ -420,47 +420,47 @@
 		break;
 	}
-//	case FB_CROSSING_OVER:
-//	{
-//		// iterate through all genes of the first parent and assign them
-//		// randomly to children
-//		for (int i = 0; i < fB_GenoHelpers::geneCount(parent1); i++)
-//		{
-//			int start, end;
-//			SString gene = fB_GenoHelpers::getGene(i, parent1, start, end);
-//			if (randomN(2) == 0)
-//			{
-//				child1 += gene;
-//				chg1 += 1.0f;
-//			}
-//			else
-//			{
-//				child2 += gene;
-//			}
-//		}
-//		chg1 /= fB_GenoHelpers::geneCount(parent1);
-//
-//		// do the same with second parent
-//		for (int i = 0; i < fB_GenoHelpers::geneCount(parent2); i++)
-//		{
-//			int start, end;
-//			SString gene = fB_GenoHelpers::getGene(i, parent2, start, end);
-//			if (randomN(2) == 0)
-//			{
-//				child1 += gene;
-//			}
-//			else
-//			{
-//				child2 += gene;
-//				chg2 += 1.0f;
-//			}
-//		}
-//		chg2 /= fB_GenoHelpers::geneCount(parent2);
-//		break;
-//	}
+	//	case FB_CROSSING_OVER:
+	//	{
+	//		// iterate through all genes of the first parent and assign them
+	//		// randomly to children
+	//		for (int i = 0; i < fB_GenoHelpers::geneCount(parent1); i++)
+	//		{
+	//			int start, end;
+	//			SString gene = fB_GenoHelpers::getGene(i, parent1, start, end);
+	//			if (randomN(2) == 0)
+	//			{
+	//				child1 += gene;
+	//				chg1 += 1.0f;
+	//			}
+	//			else
+	//			{
+	//				child2 += gene;
+	//			}
+	//		}
+	//		chg1 /= fB_GenoHelpers::geneCount(parent1);
+	//
+	//		// do the same with second parent
+	//		for (int i = 0; i < fB_GenoHelpers::geneCount(parent2); i++)
+	//		{
+	//			int start, end;
+	//			SString gene = fB_GenoHelpers::getGene(i, parent2, start, end);
+	//			if (randomN(2) == 0)
+	//			{
+	//				child1 += gene;
+	//			}
+	//			else
+	//			{
+	//				child2 += gene;
+	//				chg2 += 1.0f;
+	//			}
+	//		}
+	//		chg2 /= fB_GenoHelpers::geneCount(parent2);
+	//		break;
+	//	}
 	case FB_CROSSING_OVER:
 	{
 		// get maximal count of genes from both parents
 		int maxgenecount = max(fB_GenoHelpers::geneCountNoNested(parent1),
-				fB_GenoHelpers::geneCountNoNested(parent2));
+			fB_GenoHelpers::geneCountNoNested(parent2));
 
 		// while there are genes in at least one genotype
@@ -472,5 +472,5 @@
 			// if both parents have genes available, then distribute them
 			if (i < fB_GenoHelpers::geneCountNoNested(parent1) &&
-					i < fB_GenoHelpers::geneCountNoNested(parent2))
+				i < fB_GenoHelpers::geneCountNoNested(parent2))
 			{
 				if (randomN(2) == 0)
Index: cpp/frams/genetics/fL/fL_oper.cpp
===================================================================
--- cpp/frams/genetics/fL/fL_oper.cpp	(revision 841)
+++ cpp/frams/genetics/fL/fL_oper.cpp	(revision 853)
@@ -1,4 +1,4 @@
 // This file is a part of Framsticks SDK.  http://www.framsticks.com/
-// Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
+// Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
 // See LICENSE.txt for details.
 
@@ -313,5 +313,5 @@
 			// if there are no rules - create one
 		}
-		/* no break */
+		[[fallthrough]];
 		case FL_ADD_RULE:
 		{
@@ -387,5 +387,5 @@
 			// if there are no words, from which rules can be formed, then add one
 		}
-		/* no break */
+		[[fallthrough]];
 		case FL_ADD_WDEF:
 		{
@@ -411,5 +411,5 @@
 			// deletion should be performed
 		}
-		/* no break */
+		[[fallthrough]];
 		case FL_DEL_WORD:
 		{
@@ -476,5 +476,5 @@
 			// if no words available, then add word
 		}
-		/* no break */
+		[[fallthrough]];
 		case FL_ADD_WORD:
 		{
