Index: src/AST/Convert.cpp
===================================================================
--- src/AST/Convert.cpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Convert.cpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -236,6 +236,6 @@
 	}
 
-	// InlineValueDecl vanish after EnumAndPointerDecay pass so no necessary to implement NewToOld
-	const ast::DeclWithType * visit( const ast::InlineValueDecl * node ) override final {	
+	// InlineMemberDecl vanish after EnumAndPointerDecay pass so no necessary to implement NewToOld
+	const ast::DeclWithType * visit( const ast::InlineMemberDecl * node ) override final {	
 		assert( false );
 		(void) node;
@@ -1869,5 +1869,5 @@
 	}
 
-	virtual void visit( const InlineValueDecl * old ) override final {
+	virtual void visit( const InlineMemberDecl * old ) override final {
 		if ( inCache( old ) ) {
 			return;
@@ -1876,5 +1876,5 @@
 		auto&& attr = GET_ACCEPT_V(attributes, Attribute);
  
-		auto decl = new ast::InlineValueDecl(
+		auto decl = new ast::InlineMemberDecl(
 			old->location,
 			old->name,
Index: src/AST/Decl.hpp
===================================================================
--- src/AST/Decl.hpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Decl.hpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -411,9 +411,9 @@
 };
 
-class InlineValueDecl final : public DeclWithType {
+class InlineMemberDecl final : public DeclWithType {
 public:
 	ptr<Type> type;
 
-	InlineValueDecl( const CodeLocation & loc, const std::string & name, const Type * type,
+	InlineMemberDecl( const CodeLocation & loc, const std::string & name, const Type * type,
 		Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::Cforall,
 		std::vector< ptr<Attribute> > && attrs = {}, Function::Specs fs = {} )
@@ -425,5 +425,5 @@
 	const DeclWithType * accept( Visitor& v ) const override { return v.visit( this ); }
 private:
-	InlineValueDecl * clone() const override { return new InlineValueDecl{ *this }; }
+	InlineMemberDecl * clone() const override { return new InlineMemberDecl{ *this }; }
 	MUTATE_FRIEND
 };
Index: src/AST/Fwd.hpp
===================================================================
--- src/AST/Fwd.hpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Fwd.hpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -37,5 +37,5 @@
 class DirectiveDecl;
 class StaticAssertDecl;
-class InlineValueDecl;
+class InlineMemberDecl;
 
 class Stmt;
Index: src/AST/Pass.hpp
===================================================================
--- src/AST/Pass.hpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Pass.hpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -141,5 +141,5 @@
 	const ast::DirectiveDecl *    visit( const ast::DirectiveDecl        * ) override final;
 	const ast::StaticAssertDecl * visit( const ast::StaticAssertDecl     * ) override final;
-	const ast::DeclWithType	*     visit( const ast::InlineValueDecl      * ) override final;
+	const ast::DeclWithType	*     visit( const ast::InlineMemberDecl      * ) override final;
 	const ast::CompoundStmt *     visit( const ast::CompoundStmt         * ) override final;
 	const ast::Stmt *             visit( const ast::ExprStmt             * ) override final;
Index: src/AST/Pass.impl.hpp
===================================================================
--- src/AST/Pass.impl.hpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Pass.impl.hpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -805,11 +805,11 @@
 // DeclWithType
 template< typename core_t >
-const ast::DeclWithType * ast::Pass< core_t >::visit( const ast::InlineValueDecl * node ) {
-	VISIT_START( node );
-
-	if ( __visit_children() ) {
-		{
-			guard_symtab guard { *this };
-			maybe_accept( node, &InlineValueDecl::type );
+const ast::DeclWithType * ast::Pass< core_t >::visit( const ast::InlineMemberDecl * node ) {
+	VISIT_START( node );
+
+	if ( __visit_children() ) {
+		{
+			guard_symtab guard { *this };
+			maybe_accept( node, &InlineMemberDecl::type );
 		}
 	}
Index: src/AST/Print.cpp
===================================================================
--- src/AST/Print.cpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Print.cpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -401,5 +401,5 @@
 	}
 
-	virtual const ast::DeclWithType * visit( const ast::InlineValueDecl * node ) override final {
+	virtual const ast::DeclWithType * visit( const ast::InlineMemberDecl * node ) override final {
 		os << "inline ";
 		if ( ! node->name.empty() ) os << node->name;
Index: src/AST/Visitor.hpp
===================================================================
--- src/AST/Visitor.hpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/AST/Visitor.hpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -33,5 +33,5 @@
     virtual const ast::DirectiveDecl *    visit( const ast::DirectiveDecl        * ) = 0;
     virtual const ast::StaticAssertDecl * visit( const ast::StaticAssertDecl     * ) = 0;
-    virtual const ast::DeclWithType *     visit( const ast::InlineValueDecl      * ) = 0;
+    virtual const ast::DeclWithType *     visit( const ast::InlineMemberDecl      * ) = 0;
     virtual const ast::CompoundStmt *     visit( const ast::CompoundStmt         * ) = 0;
     virtual const ast::Stmt *             visit( const ast::ExprStmt             * ) = 0;
Index: src/Common/CodeLocationTools.cpp
===================================================================
--- src/Common/CodeLocationTools.cpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/Common/CodeLocationTools.cpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -111,5 +111,5 @@
     macro(DirectiveDecl, DirectiveDecl) \
     macro(StaticAssertDecl, StaticAssertDecl) \
-    macro(InlineValueDecl, DeclWithType) \
+    macro(InlineMemberDecl, DeclWithType) \
     macro(CompoundStmt, CompoundStmt) \
     macro(ExprStmt, Stmt) \
Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/Common/PassVisitor.h	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -81,6 +81,6 @@
 	virtual void visit( StaticAssertDecl * assertDecl ) override final;
 	virtual void visit( const StaticAssertDecl * assertDecl ) override final;
-	virtual void visit( InlineValueDecl * valueDecl ) override final;
-	virtual void visit( const InlineValueDecl * valueDecl ) override final;
+	virtual void visit( InlineMemberDecl * valueDecl ) override final;
+	virtual void visit( const InlineMemberDecl * valueDecl ) override final;
 
 	virtual void visit( CompoundStmt * compoundStmt ) override final;
@@ -275,5 +275,5 @@
 	virtual DirectiveDecl * mutate( DirectiveDecl * directiveDecl ) override final;
 	virtual StaticAssertDecl * mutate( StaticAssertDecl * assertDecl ) override final;
-	virtual DeclarationWithType * mutate( InlineValueDecl * valueDecl ) override final;
+	virtual DeclarationWithType * mutate( InlineMemberDecl * valueDecl ) override final;
 
 	virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) override final;
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/Common/PassVisitor.impl.h	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -1047,7 +1047,7 @@
 
 //--------------------------------------------------------------------------
-// InlineValueDecl
-template< typename pass_type >
-void PassVisitor< pass_type >::visit( InlineValueDecl * node ) {
+// InlineMemberDecl
+template< typename pass_type >
+void PassVisitor< pass_type >::visit( InlineMemberDecl * node ) {
 	VISIT_START( node );
 
@@ -1058,5 +1058,5 @@
 
 template< typename pass_type >
-void PassVisitor< pass_type >::visit( const InlineValueDecl * node ) {
+void PassVisitor< pass_type >::visit( const InlineMemberDecl * node ) {
 	VISIT_START( node );
 
@@ -1067,5 +1067,5 @@
 
 template< typename pass_type >
-DeclarationWithType * PassVisitor< pass_type >::mutate( InlineValueDecl * node ) {
+DeclarationWithType * PassVisitor< pass_type >::mutate( InlineMemberDecl * node ) {
 	MUTATE_START( node );
 
Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/Parser/DeclarationNode.cc	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -27,5 +27,5 @@
 #include "SynTree/LinkageSpec.h"   // for Spec, linkageName, Cforall
 #include "SynTree/Attribute.h"     // for Attribute
-#include "SynTree/Declaration.h"   // for TypeDecl, ObjectDecl, InlineValueDecl, Declaration
+#include "SynTree/Declaration.h"   // for TypeDecl, ObjectDecl, InlineMemberDecl, Declaration
 #include "SynTree/Expression.h"    // for Expression, ConstantExpr
 #include "SynTree/Statement.h"     // for AsmStmt
@@ -1166,5 +1166,5 @@
 	} // if
 	if ( enumInLine ) {
-		return new InlineValueDecl( *name, storageClasses, linkage, nullptr );
+		return new InlineMemberDecl( *name, storageClasses, linkage, nullptr );
 	} // if
 	assertf( name, "ObjectDecl must a have name\n" );
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/SynTree/Declaration.h	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -450,20 +450,20 @@
 
 
-class InlineValueDecl : public DeclarationWithType {
+class InlineMemberDecl : public DeclarationWithType {
 	typedef DeclarationWithType Parent;
   public:
 	Type * type;
 
-	InlineValueDecl( const std::string & name, Type::StorageClasses scs, LinkageSpec::Spec linkage, Type * type,
+	InlineMemberDecl( const std::string & name, Type::StorageClasses scs, LinkageSpec::Spec linkage, Type * type,
 				const std::list< Attribute * > attributes = std::list< Attribute * >(), Type::FuncSpecifiers fs = Type::FuncSpecifiers() );
-	InlineValueDecl( const InlineValueDecl & other );
-	virtual ~InlineValueDecl();
+	InlineMemberDecl( const InlineMemberDecl & other );
+	virtual ~InlineMemberDecl();
 
 	virtual Type * get_type() const override { return type; }
 	virtual void set_type(Type * newType) override { type = newType; }
 
-	static InlineValueDecl * newInlineValueDecl( const std::string & name, Type * type );
-
-	virtual InlineValueDecl * clone() const override { return new InlineValueDecl( *this ); }
+	static InlineMemberDecl * newInlineMemberDecl( const std::string & name, Type * type );
+
+	virtual InlineMemberDecl * clone() const override { return new InlineMemberDecl( *this ); }
 	virtual void accept( Visitor & v ) override { v.visit( this ); }
 	virtual void accept( Visitor & v ) const override { v.visit( this ); }
Index: src/SynTree/InlineMemberDecl.cc
===================================================================
--- src/SynTree/InlineMemberDecl.cc	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
+++ src/SynTree/InlineMemberDecl.cc	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -0,0 +1,57 @@
+#include <list>                  // for list
+#include <ostream>               // for operator<<, ostream, basic_ostream
+#include <string>                // for operator<<, string, char_traits, ope...
+
+#include "Attribute.h"           // for Attribute
+#include "Declaration.h"
+#include "Common/utility.h"      // for maybeClone, printAll
+#include "LinkageSpec.h"         // for Spec, linkageName, Cforall
+#include "Type.h"                // for Type, Type::StorageClasses, Type::Fu...
+
+InlineMemberDecl::InlineMemberDecl( const std::string &name, Type::StorageClasses scs, LinkageSpec::Spec linkage,
+Type * type, const std::list< Attribute * >attributes, Type::FuncSpecifiers fs) 
+    : Parent( name, scs, linkage, attributes, fs ), type( type ) {}
+
+InlineMemberDecl::InlineMemberDecl( const InlineMemberDecl &other) 
+    : Parent( other), type( maybeClone( other.type ) ) {}
+
+InlineMemberDecl::~InlineMemberDecl() { delete type; }
+
+InlineMemberDecl * InlineMemberDecl::newInlineMemberDecl( const std::string &name, Type * type ) {
+    return new InlineMemberDecl( name, Type::StorageClasses(), LinkageSpec::C, type );
+}
+
+void InlineMemberDecl::print( std::ostream &os, Indenter indent ) const {
+    if ( name != "" ) os << name << ": ";
+
+	if ( linkage != LinkageSpec::Cforall ) {
+		os << LinkageSpec::name( linkage ) << " ";
+	} // if
+
+	get_storageClasses().print( os );
+
+	if ( type ) {
+		type->print( os, indent );
+	} else {
+		os << " untyped entity ";
+	} // if
+
+	if ( ! attributes.empty() ) {
+		os << std::endl << indent << "... with attributes:" << std::endl;
+		printAll( attributes, os, indent+1 );
+	} // if
+
+}
+
+void InlineMemberDecl::printShort( std::ostream &os, Indenter indent ) const {
+    if ( name != "" ) os << name << ": ";
+
+	get_storageClasses().print( os );
+
+	if ( type ) {
+		type->print( os, indent );
+	} else {
+		os << "untyped entity ";
+	} // if
+    
+}
Index: src/SynTree/InlineValueDecl.cc
===================================================================
--- src/SynTree/InlineValueDecl.cc	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ 	(revision )
@@ -1,57 +1,0 @@
-#include <list>                  // for list
-#include <ostream>               // for operator<<, ostream, basic_ostream
-#include <string>                // for operator<<, string, char_traits, ope...
-
-#include "Attribute.h"           // for Attribute
-#include "Declaration.h"
-#include "Common/utility.h"      // for maybeClone, printAll
-#include "LinkageSpec.h"         // for Spec, linkageName, Cforall
-#include "Type.h"                // for Type, Type::StorageClasses, Type::Fu...
-
-InlineValueDecl::InlineValueDecl( const std::string &name, Type::StorageClasses scs, LinkageSpec::Spec linkage,
-Type * type, const std::list< Attribute * >attributes, Type::FuncSpecifiers fs) 
-    : Parent( name, scs, linkage, attributes, fs ), type( type ) {}
-
-InlineValueDecl::InlineValueDecl( const InlineValueDecl &other) 
-    : Parent( other), type( maybeClone( other.type ) ) {}
-
-InlineValueDecl::~InlineValueDecl() { delete type; }
-
-InlineValueDecl * InlineValueDecl::newInlineValueDecl( const std::string &name, Type * type ) {
-    return new InlineValueDecl( name, Type::StorageClasses(), LinkageSpec::C, type );
-}
-
-void InlineValueDecl::print( std::ostream &os, Indenter indent ) const {
-    if ( name != "" ) os << name << ": ";
-
-	if ( linkage != LinkageSpec::Cforall ) {
-		os << LinkageSpec::name( linkage ) << " ";
-	} // if
-
-	get_storageClasses().print( os );
-
-	if ( type ) {
-		type->print( os, indent );
-	} else {
-		os << " untyped entity ";
-	} // if
-
-	if ( ! attributes.empty() ) {
-		os << std::endl << indent << "... with attributes:" << std::endl;
-		printAll( attributes, os, indent+1 );
-	} // if
-
-}
-
-void InlineValueDecl::printShort( std::ostream &os, Indenter indent ) const {
-    if ( name != "" ) os << name << ": ";
-
-	get_storageClasses().print( os );
-
-	if ( type ) {
-		type->print( os, indent );
-	} else {
-		os << "untyped entity ";
-	} // if
-    
-}
Index: src/SynTree/Mutator.h
===================================================================
--- src/SynTree/Mutator.h	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/SynTree/Mutator.h	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -36,5 +36,5 @@
 	virtual DirectiveDecl * mutate( DirectiveDecl * directiveDecl ) = 0;
 	virtual StaticAssertDecl * mutate( StaticAssertDecl * assertDecl ) = 0;
-	virtual DeclarationWithType * mutate( InlineValueDecl * inlineValueDecl ) = 0;
+	virtual DeclarationWithType * mutate( InlineMemberDecl * InlineMemberDecl ) = 0;
 
 	virtual CompoundStmt * mutate( CompoundStmt * compoundStmt ) = 0;
Index: src/SynTree/SynTree.h
===================================================================
--- src/SynTree/SynTree.h	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/SynTree/SynTree.h	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -38,5 +38,5 @@
 class DirectiveDecl;
 class StaticAssertDecl;
-class InlineValueDecl;
+class InlineMemberDecl;
 
 class Statement;
Index: src/SynTree/Visitor.h
===================================================================
--- src/SynTree/Visitor.h	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/SynTree/Visitor.h	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -49,6 +49,6 @@
 	virtual void visit( StaticAssertDecl * node ) { visit( const_cast<const StaticAssertDecl *>(node) ); }
 	virtual void visit( const StaticAssertDecl * assertDecl ) = 0;
-	virtual void visit( InlineValueDecl * node ) { visit( const_cast<const InlineValueDecl *>(node) ); }
-	virtual void visit( const InlineValueDecl * valueDecl ) = 0;
+	virtual void visit( InlineMemberDecl * node ) { visit( const_cast<const InlineMemberDecl *>(node) ); }
+	virtual void visit( const InlineMemberDecl * valueDecl ) = 0;
 
 	virtual void visit( CompoundStmt * node ) { visit( const_cast<const CompoundStmt *>(node) ); }
Index: src/SynTree/module.mk
===================================================================
--- src/SynTree/module.mk	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/SynTree/module.mk	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -42,5 +42,5 @@
       SynTree/Initializer.cc \
       SynTree/Initializer.h \
-      SynTree/InlineValueDecl.cc \
+      SynTree/InlineMemberDecl.cc \
       SynTree/Label.h \
       SynTree/LinkageSpec.cc \
Index: src/Validate/EnumAndPointerDecay.cpp
===================================================================
--- src/Validate/EnumAndPointerDecay.cpp	(revision 5ce0659eed1c7e50a124c06d47bf11f898fe01e4)
+++ src/Validate/EnumAndPointerDecay.cpp	(revision 71806e0f8878eff4daf459af6ea5ef2c730185da)
@@ -44,5 +44,5 @@
 		if ( ast::ObjectDecl const * object = (*it).as<ast::ObjectDecl>() ) {
 			buffer.push_back( ast::mutate_field( object, &ast::ObjectDecl::type, new ast::EnumInstType( decl, ast::CV::Const ) ) );
-		} else if ( ast::InlineValueDecl const * value = (*it).as<ast::InlineValueDecl>() ) {
+		} else if ( ast::InlineMemberDecl const * value = (*it).as<ast::InlineMemberDecl>() ) {
 			if ( auto targetEnum = symtab.lookupEnum( value->name ) ) {
 				for ( auto singleMember : targetEnum->members ) {
