Community
Participate
Working Groups
CBasicType now has a CBasicType( int type, int qualifiers ) constructors (like the CPPBasicType has). This means GCCBuiltinSymbolProvider doesn't need to create ICASTSimpleDeclSpecifier objects anymore, it can create the basic types directly.
The types in GCCBuiltinSymbolProvider should also be created only once. I had a patch for this but lost it somewhere in the madness when John was gone for a couple of days. I'll redo this as part of a fix for this PR.
Patch sent to cdt-patch@eclipse.org
Created attachment 21992 [details] patch for PR 92020 GCCBuiltinSymbolProvider now creates basic types directly, and only once. This means that GCCBuiltinSymbolProvider is much cleaner than it was before and as such is much easier to maintain.
Andrew can you look at/apply this patch?
patch applied with modifications: - changed type fields to static final and used a static initializer - changed types to refer to each other ie cpp_void_p = new CPPPointer( cpp_void ); - long is semantically the same as long int, removed the duplicate. - bits fields are combined with | not & (ie CBasicType.IS_LONG | CBasicType.IS_UNSIGNED)