What does the error "Parse issue: cannot combine with previous 'type-name' declaration specifier" really mean?
===

I'm dealing with a parsing issue in Xcode, one that triggers a failing issue, not a warning, and there is little or no information about this. It appears to be associated with LLVM, but since I am not a compiler person, what little technical documentation exists means nothing to me, and what non-technical answers exist does not help work around this. 

I have gone into Organizer and deleted the derived data for this project, I have made sure all of the files that can be set to the target application are set, cleaned the project, searched (futiley) for 'type-name', etc. Still this error appears immediately upon opening the project. This appears to have started when I checked out the project onto a new machine today, but I didn't notice it until I went for a test build. Any ideas?

Not only am I looking for an answer to get me on my day, I am also looking for an explanation of the error so that I avoid it in the future. [There is a "duplicate" question][1] but there is no useful answer to it, and nothing to explain what is really going on

Problem code is below, with the error flagged on the line `@interface OCSystemReportParser ()`. 

Here is the header in question...

    #import <Foundation/Foundation.h>
    
    @interface OCSystemReportParser : NSObject
    
    - (void) parseSystemReports:(NSArray *)systemReports;
    
    @end

...and the implementation in question...

    #import "OCSystemReportParser.h"
    
    /*
     System Report Keys
     */
    const NSString *OCKeyApplications = @"Applications";
    const NSString *OCKeyHardware = @"Hardware";
    const NSString *OCKeyMemory = @"Memory";
    const NSString *OCKeySoftware = @"Software";
    
    /*
     Parsed Data Keys
     */
    
    const NSString 
    
    @interface OCSystemReportParser () // ERROR IS FLAGGED HERE
    
    // keywords whose data we need
    @property (strong, readwrite, nonatomic) NSArray *actionableKeywords;
    // lines for the current report
    @property (strong, readwrite, nonatomic) NSArray *reportSource;
    // key-value pairs for the information in the system report
    @property (strong, readwrite, nonatomic) NSMutableDictionary *parsedData;
    // completed dictionaries of parsed reports
    @property (strong, readwrite, nonatomic) NSMutableArray *completedReports;
    
    @end
    
    @implementation OCSystemReportParser
    
    @synthesize actionableKeywords = _actionableKeywords;
    @synthesize reportSource = _reportSource;
    @synthesize parsedData = _parsedData;
    @synthesize completedReports = _completedReports;
    
    #pragma mark -
    #pragma mark Object Lifecycle Stack
    #pragma mark -
    
    #pragma mark -
    #pragma mark File Input Stack
    #pragma mark -
    
    /*
     Kicks off the process of data collection. This is the only public method.
     */
    - (void) parseSystemReports:(NSArray *)systemReports {
        //NSLog(@"OCSystemReportParser:parseSystemReports:%@", systemReports);
            
        for ( NSString *path in systemReports ) {
            
            // reset the dictionary
            self.parsedData = [NSMutableDictionary dictionary];
            
            // generate and parse the source data
            self.reportSource = [self createArrayWithReport:[self readReport:path]];
            //[self parseReport];
            
            // save the results
            [self.completedReports addObject:self.parsedData];
        }
        
        [self outputCompletedReports];
        
    }
    
    /* 
     returns a string of the content of the report file
     */
    - (NSString *) readReport:(NSString *)path {
        //NSLog(@"OCSystemReportParser:readReport:%@", path);
        return nil;
    }
    
    /*
     returns an array containing the report data clean of empty lines and whitespace
     */
    - (NSArray *) createArrayWithReport:(NSString *)reportData {
        //NSLog(@"OCSystemReportParser:createArrayWithReport:");
        return nil;
    }
    
    #pragma mark -
    #pragma mark Housekeeping Stack
    #pragma mark -
    
    /*
     Handles the initialization and population of helper data
     */
    
    - (void) initializeKeyValues {
        //NSLog(@"OCSystemReportParser:initializeKeyValues:");
        self.actionableKeywords = [NSArray arrayWithObjects:OCKeyApplications, OCKeyHardware, OCKeyMemory, OCKeySoftware, nil];
    }
    
    #pragma mark -
    #pragma mark Data Parsing Stack
    #pragma mark -
    
    /*
     Kicks off the parsing of the strings in the report array
     */
    - (void) parseReport {
        //NSLog(@"OCSystemReportParser:parseReport:");
        
    }
    
    /*
     Gets the computer type and user name from the header of the report
     */
    - (void) parseUserInformation {
        //NSLog(@"OCSystemReportParser:parseUserInformation:");
        // information is in line 1
        // ComputerModel Firstname Lastname
    }
    
    #pragma mark -
    #pragma mark File Output Stack
    #pragma mark -
    
    /*
     Kicks off the output process starting with the completed reports
     */
    - (void) outputCompletedReports {
        //NSLog(@"OCSystemReportParser:outputCompletedReports:");
        
    }

  [1]: http://stackoverflow.com/q/10419835/11976