Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision 825170d472d6683c67d48512ee5122fbca4bb397)
+++ src/Parser/TypeData.cc	(revision 610194e1341d5e36cbe74f89330ac0d81feb73af)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:12:51 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jun  6 17:40:33 2018
-// Update Count     : 604
+// Last Modified On : Thu Jul 12 13:52:09 2018
+// Update Count     : 606
 //
 
@@ -76,4 +76,5 @@
 		aggregate.parent = nullptr;
 		aggregate.anon = false;
+		aggregate.inLine = false;
 		break;
 	  case AggregateInst:
@@ -81,5 +82,6 @@
 		aggInst.aggregate = nullptr;
 		aggInst.params = nullptr;
-		aggInst.hoistType = false;;
+		aggInst.hoistType = false;
+		aggInst.inLine = false;
 		break;
 	  case Symbolic:
@@ -219,4 +221,5 @@
 		newtype->aggregate.body = aggregate.body;
 		newtype->aggregate.anon = aggregate.anon;
+		newtype->aggregate.inLine = aggregate.inLine;
 		newtype->aggregate.tagged = aggregate.tagged;
 		newtype->aggregate.parent = aggregate.parent ? new string( *aggregate.parent ) : nullptr;
@@ -226,4 +229,5 @@
 		newtype->aggInst.params = maybeClone( aggInst.params );
 		newtype->aggInst.hoistType = aggInst.hoistType;
+		newtype->aggInst.inLine = aggInst.inLine;
 		break;
 	  case Enum:
Index: src/Parser/TypeData.h
===================================================================
--- src/Parser/TypeData.h	(revision 825170d472d6683c67d48512ee5122fbca4bb397)
+++ src/Parser/TypeData.h	(revision 610194e1341d5e36cbe74f89330ac0d81feb73af)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:18:36 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Feb 22 15:21:23 2018
-// Update Count     : 191
+// Last Modified On : Thu Jul 12 14:00:09 2018
+// Update Count     : 193
 //
 
@@ -37,4 +37,5 @@
 		bool body;
 		bool anon;
+		bool inLine;
 
 		bool tagged;
@@ -46,4 +47,5 @@
 		ExpressionNode * params;
 		bool hoistType;
+		bool inLine;
 	};
 
@@ -66,5 +68,5 @@
 		mutable DeclarationNode * oldDeclList;
 		StatementNode * body;
-		ExpressionNode * withExprs;             // expressions from function's with_clause
+		ExpressionNode * withExprs;						// expressions from function's with_clause
 	};
 
@@ -128,5 +130,6 @@
 TupleType * buildTuple( const TypeData * );
 TypeofType * buildTypeof( const TypeData * );
-Declaration * buildDecl( const TypeData *, const std::string &, Type::StorageClasses, Expression *, Type::FuncSpecifiers funcSpec, LinkageSpec::Spec, Expression * asmName, Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() );
+Declaration * buildDecl( const TypeData *, const std::string &, Type::StorageClasses, Expression *, Type::FuncSpecifiers funcSpec, LinkageSpec::Spec, Expression * asmName,
+						 Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() );
 FunctionType * buildFunction( const TypeData * );
 void buildKRFunction( const TypeData::Function_t & function );
Index: src/Parser/TypedefTable.cc
===================================================================
--- src/Parser/TypedefTable.cc	(revision 825170d472d6683c67d48512ee5122fbca4bb397)
+++ src/Parser/TypedefTable.cc	(revision 610194e1341d5e36cbe74f89330ac0d81feb73af)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// TypedefTable.cc -- 
+// TypedefTable.cc --
 //
 // Author           : Peter A. Buhr
@@ -100,5 +100,5 @@
 void TypedefTable::up( bool forall ) {
 	level += 1;
-	kindTable.getNote( kindTable.currentScope() ) = (Note){ level, forall | getEnclForall() };
+	kindTable.getNote( kindTable.currentScope() ) = (Note){ level, static_cast<bool>(forall | getEnclForall()) };
 	debugPrint( cerr << "Up " << " level " << level << " note " << kindTable.getNote( level ).level << ", " << kindTable.getNote( level ).forall << endl; );
 } // TypedefTable::up
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 825170d472d6683c67d48512ee5122fbca4bb397)
+++ src/Parser/parser.yy	(revision 610194e1341d5e36cbe74f89330ac0d81feb73af)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jul 11 11:55:24 2018
-// Update Count     : 3739
+// Last Modified On : Thu Jul 12 13:47:44 2018
+// Update Count     : 3755
 //
 
@@ -1936,4 +1936,17 @@
 	| EXTENSION type_specifier field_declaring_list ';'	// GCC
 		{ distExt( $3 ); $$ = distAttr( $2, $3 ); }		// mark all fields in list
+	| INLINE type_specifier field_declaring_list ';'	// CFA
+		{
+			if ( $2->type && ( $2->type->kind == TypeData::Aggregate || $2->type->kind == TypeData::AggregateInst ) ) {
+				if ( $2->type->kind == TypeData::Aggregate ) {
+					$2->type->aggregate.inLine = true;
+				} else {
+					$2->type->aggInst.inLine = true;
+				} // if
+				$$ = distAttr( $2, $3 );
+			} else {
+				SemanticError( yylloc, "inline qualifier only allowed for aggregate field declarations." ); $$ = nullptr;
+			} // if 
+		}
 	| typedef_declaration ';'							// CFA
 	| cfa_field_declaring_list ';'						// CFA, new style field declaration
