Index: src/GenPoly/Box.cc
===================================================================
--- src/GenPoly/Box.cc	(revision fac84bec61bfcae250ff4c206545b9a9c1261619)
+++ src/GenPoly/Box.cc	(revision 228851de508fab164b23aef5a8a1f57c024413d8)
@@ -499,5 +499,5 @@
 			
 			// place current size in the current offset index
-			addExpr( layoutDecl->get_statements(), makeOp( "?=?", makeOp( "?[?]", new VariableExpr( offsetParam ), new ConstantExpr( Constant::from( n_members ) ) ),
+			addExpr( layoutDecl->get_statements(), makeOp( "?=?", makeOp( "?[?]", new VariableExpr( offsetParam ), new ConstantExpr( Constant::from_ulong( n_members ) ) ),
 			                                                      derefVar( sizeParam ) ) );
 			++n_members;
@@ -2066,11 +2066,11 @@
 				if ( n_members == 0 ) {
 					// all empty structs have the same layout - size 1, align 1
-					makeVar( sizeofName( typeName ), layoutType, new SingleInit( new ConstantExpr( Constant::from( (unsigned long)1 ) ) ) );
-					makeVar( alignofName( typeName ), layoutType->clone(), new SingleInit( new ConstantExpr( Constant::from( (unsigned long)1 ) ) ) );
+					makeVar( sizeofName( typeName ), layoutType, new SingleInit( new ConstantExpr( Constant::from_ulong( 1 ) ) ) );
+					makeVar( alignofName( typeName ), layoutType->clone(), new SingleInit( new ConstantExpr( Constant::from_ulong( 1 ) ) ) );
 					// NOTE zero-length arrays are forbidden in C, so empty structs have no offsetof array
 				} else {
 					ObjectDecl *sizeVar = makeVar( sizeofName( typeName ), layoutType );
 					ObjectDecl *alignVar = makeVar( alignofName( typeName ), layoutType->clone() );
-					ObjectDecl *offsetVar = makeVar( offsetofName( typeName ), new ArrayType( Type::Qualifiers(), layoutType->clone(), new ConstantExpr( Constant::from( n_members ) ), false, false ) );
+					ObjectDecl *offsetVar = makeVar( offsetofName( typeName ), new ArrayType( Type::Qualifiers(), layoutType->clone(), new ConstantExpr( Constant::from_int( n_members ) ), false, false ) );
 
 					// generate call to layout function
@@ -2191,5 +2191,5 @@
 
 					// build the offset array and replace the pack with a reference to it
-					ObjectDecl *offsetArray = makeVar( offsetName, new ArrayType( Type::Qualifiers(), offsetType, new ConstantExpr( Constant::from( baseMembers.size() ) ), false, false ),
+					ObjectDecl *offsetArray = makeVar( offsetName, new ArrayType( Type::Qualifiers(), offsetType, new ConstantExpr( Constant::from_ulong( baseMembers.size() ) ), false, false ),
 							new ListInit( inits ) );
 					ret = new VariableExpr( offsetArray );
Index: src/SynTree/Constant.cc
===================================================================
--- src/SynTree/Constant.cc	(revision fac84bec61bfcae250ff4c206545b9a9c1261619)
+++ src/SynTree/Constant.cc	(revision 228851de508fab164b23aef5a8a1f57c024413d8)
@@ -30,13 +30,13 @@
 Constant::~Constant() { delete type; }
 
-Constant Constant::from( int i ) {
+Constant Constant::from_int( int i ) {
 	return Constant( new BasicType( Type::Qualifiers(), BasicType::SignedInt ), std::to_string( i ) );
 }
 
-Constant Constant::from( unsigned long i ) {
+Constant Constant::from_ulong( unsigned long i ) {
 	return Constant( new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), std::to_string( i ) );
 }
 
-Constant Constant::from( double d ) {
+Constant Constant::from_double( double d ) {
 	return Constant( new BasicType( Type::Qualifiers(), BasicType::Double ), std::to_string( d ) );
 }
Index: src/SynTree/Constant.h
===================================================================
--- src/SynTree/Constant.h	(revision fac84bec61bfcae250ff4c206545b9a9c1261619)
+++ src/SynTree/Constant.h	(revision 228851de508fab164b23aef5a8a1f57c024413d8)
@@ -33,9 +33,9 @@
 
 	/// generates an integer constant of the given int
-	static Constant from( int i );
+	static Constant from_int( int i );
 	/// generates an integer constant of the given unsigned long int
-	static Constant from( unsigned long i );
+	static Constant from_ulong( unsigned long i );
 	/// generates a floating point constant of the given double
-	static Constant from( double d );
+	static Constant from_double( double d );
 
 	virtual Constant *clone() const;
