Files
RedBear-OS/local/recipes/dev/libclc/source/clang/test/CodeGenObjC/property-complex.m
T
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00

64 lines
1.8 KiB
Objective-C

// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o %t %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o %t %s
int printf(const char *, ...);
@interface I0 {
@public
_Complex float iv0;
}
@property(assign) _Complex float p0;
-(_Complex float) im0;
-(void) setIm0: (_Complex float) a0;
@end
@implementation I0
@dynamic p0;
-(id) init {
self->iv0 = 5.0 + 2.0i;
return self;
}
-(_Complex float) im0 {
printf("im0: %.2f + %.2fi\n", __real iv0, __imag iv0);
return iv0 + (.1 + .2i);
}
-(void) setIm0: (_Complex float) a0 {
printf("setIm0: %.2f + %.2fi\n", __real a0, __imag a0);
iv0 = a0 + (.3 + .4i);
}
-(_Complex float) p0 {
printf("p0: %.2f + %.2fi\n", __real iv0, __imag iv0);
return iv0 + (.5 + .6i);
}
-(void) setP0: (_Complex float) a0 {
printf("setP0: %.2f + %.2fi\n", __real a0, __imag a0);
iv0 = a0 + (.7 + .8i);
}
@end
void f0(I0 *a0) {
float l0 = __real a0.im0;
float l1 = __imag a0->iv0;
_Complex float l2 = (a0.im0 = a0.im0);
_Complex float l3 = a0->iv0;
_Complex float l4 = (a0->iv0 = a0->iv0);
_Complex float l5 = a0->iv0;
_Complex float l6 = (a0.p0 = a0.p0);
_Complex float l7 = a0->iv0;
_Complex float l8 = [a0 im0];
printf("l0: %.2f + %.2fi\n", __real l0, __imag l0);
printf("l1: %.2f + %.2fi\n", __real l1, __imag l1);
printf("l2: %.2f + %.2fi\n", __real l2, __imag l2);
printf("l3: %.2f + %.2fi\n", __real l3, __imag l3);
printf("l4: %.2f + %.2fi\n", __real l4, __imag l4);
printf("l5: %.2f + %.2fi\n", __real l5, __imag l5);
printf("l6: %.2f + %.2fi\n", __real l6, __imag l6);
printf("l7: %.2f + %.2fi\n", __real l7, __imag l7);
printf("l8: %.2f + %.2fi\n", __real l8, __imag l8);
}