src/SymTab/Validate.cc
static inline bool isReservedTysysIdOnlyName( const std::string & name ) {
		// name's prefix was __CFA_tysys_id_only, before it got wrapped in __..._generic
		int foundAt = name.find("__CFA_tysys_id_only");
		if (foundAt == 0) return true;
		if (foundAt == 2 && name[0] == '_' && name[1] == '_') return true;
		return false;
	}
// Test for special name on a generic parameter.  Special treatment for the
// special name is a bootstrapping hack.  In most cases, the worlds of T's
// and of N's don't overlap (normal treamtemt).  The foundations in
// array.hfa use tagging for both types and dimensions.  Tagging treats
// its subject parameter even more opaquely than T&, which assumes it is
// possible to have a pointer/reference to such an object.  Tagging only
// seeks to identify the type-system resident at compile time.  Both N's
// and T's can make tags.  The tag definition uses the special name, which
// is treated as "an N or a T."  This feature is not inteded to be used
// outside of the definition and immediate uses of a tag.
Test for special name on a generic parameter.  Special treatment for the
special name is a bootstrapping hack.  In most cases, the worlds of T's
and of N's don't overlap (normal treamtemt).  The foundations in
array.hfa use tagging for both types and dimensions.  Tagging treats
its subject parameter even more opaquely than T&, which assumes it is
possible to have a pointer/reference to such an object.  Tagging only
seeks to identify the type-system resident at compile time.  Both N's
and T's can make tags.  The tag definition uses the special name, which
is treated as "an N or a T."  This feature is not inteded to be used
outside of the definition and immediate uses of a tag.
Test for special name on a generic parameter . Special treatment for the special name is a bootstrapping hack . In most cases the worlds of T ' s and of N ' s don ' t overlap ( normal treamtemt ) . The foundations in array . hfa use tagging for both types and dimensions . Tagging treats its subject parameter even more opaquely than T& which assumes it is possible to have a pointer / reference to such an object . Tagging only seeks to identify the type - system resident at compile time . Both N ' s and T ' s can make tags . The tag definition uses the special name which is treated as " an N or a T . " This feature is not inteded to be used outside of the definition and immediate uses of a tag .
static inline bool isReservedTysysIdOnlyName( const std::string & name ) {
		int foundAt = name.find("__CFA_tysys_id_only");
		if (foundAt == 0) return true;
		if (foundAt == 2 && name[0] == '_' && name[1] == '_') return true;
		return false;
	}
static inline bool isReservedTysysIdOnlyName ( const std :: string & name ) { int foundAt = name . find ( " " ) ; if ( foundAt == 0 ) return true ; if ( foundAt == 2 && name [ 0 ] == ' ' && name [ 1 ] == ' ' ) return true ; return false ; }
Test for special name on a generic parameter.
Test for special name on a generic parameter .
// name's prefix was __CFA_tysys_id_only, before it got wrapped in __..._generic