70 lines · plain
1// UNSUPPORTED: target={{.*}}-aix{{.*}}2// RUN: rm -rf %t3// RUN: split-file %s %t4// RUN: %clang_cc1 -fsyntax-only -I%t/include %t/test.m \5// RUN: -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/modules.cache -fmodule-name=CheckOverride6 7// Test that if we have the same method in a different module, it's not an8// override as it is the same method and it has the same DeclContext but a9// different object in the memory.10 11 12//--- include/CheckOverride.h13@interface NSObject14@end15 16@interface CheckOverrideInterfaceOnly: NSObject17- (void)potentialOverrideInterfaceOnly;18@end19 20@interface CheckOverrideCategoryOnly: NSObject21@end22@interface CheckOverrideCategoryOnly(CategoryOnly)23- (void)potentialOverrideCategoryOnly;24@end25 26@interface CheckOverrideImplementationOfInterface: NSObject27- (void)potentialOverrideImplementationOfInterface;28@end29 30@interface CheckOverrideImplementationOfCategory: NSObject31@end32@interface CheckOverrideImplementationOfCategory(CategoryImpl)33- (void)potentialOverrideImplementationOfCategory;34@end35 36//--- include/Redirect.h37// Ensure CheckOverride is imported as the module despite all `-fmodule-name` flags.38#import <CheckOverride.h>39 40//--- include/module.modulemap41module CheckOverride {42 header "CheckOverride.h"43}44module Redirect {45 header "Redirect.h"46 export *47}48 49//--- test.m50#import <CheckOverride.h>51#import <Redirect.h>52 53@implementation CheckOverrideImplementationOfInterface54- (void)potentialOverrideImplementationOfInterface {}55@end56 57@implementation CheckOverrideImplementationOfCategory58- (void)potentialOverrideImplementationOfCategory {}59@end60 61void triggerOverrideCheck(CheckOverrideInterfaceOnly *intfOnly,62 CheckOverrideCategoryOnly *catOnly,63 CheckOverrideImplementationOfInterface *intfImpl,64 CheckOverrideImplementationOfCategory *catImpl) {65 [intfOnly potentialOverrideInterfaceOnly];66 [catOnly potentialOverrideCategoryOnly];67 [intfImpl potentialOverrideImplementationOfInterface];68 [catImpl potentialOverrideImplementationOfCategory];69}70