Skip to content

obsolete methods - classes / methods incompatible with ios 13 min target #11

@wweevv-johndpope

Description

@wweevv-johndpope

Background
TelegramMessenger/Telegram-iOS#829

MTAtomic
MTContext
MTMetaDisposable
MTMessageTransaction
MTSignalQueueState
MTSubscriber
MTRequestInternalId

Screen Shot 2022-09-01 at 9 07 29 am

Screen Shot 2022-09-01 at 9 10 21 am

also - switching this flag - "-std=gnu99", doesn't seem to make the Expected ';' at end of declaration list compiler error go away.

objc_library(
    name = "MtProtoKit",
    enable_modules = True,
    module_name = "MtProtoKit",
    srcs = glob([
        "Sources/**/*.m",
        "Sources/**/*.h",
    ]),
    copts = [
        "-Werror",
     "-std=gnu99",
    ],
    hdrs = glob([
        "PublicHeaders/**/*.h",
    ]),
    includes = [
        "PublicHeaders",
    ],
    deps = [
        "//submodules/EncryptionProvider:EncryptionProvider",
    ],
    sdk_frameworks = [
        "Foundation",
        "Security",
        "SystemConfiguration",
        "CFNetwork",
    ],
    sdk_dylibs = [
        "libz",
    ],
    visibility = [
        "//visibility:public",
    ],

)

UPDATE - actually just using

   copts = [
         "-std=gnu99",
    ],

made some errors go away.
UPDATE - new errors
#include <stdatomic.h>

Screen Shot 2022-09-01 at 9 41 12 am

UPDATE - the expected ';' at end of declaration list error is persisting even though I'm specifying -std=gnu99 in the MTProto copts bazel
https://gist.github.com/wweevv-johndpope/703cf760bcc68c9c8918269596d7fb7b

UPDATE -
I just use os_unfair_lock _lock; and it gets past error.


@interface MTDisposableSet ()
{
    os_unfair_lock _lock;
...
}

if (OSAtomicCompareAndSwapPtr(block, 0, &_block))

->

if (atomic_compare_exchange_strong_explicit(block, 0, &_block, memory_order_acq_rel, memory_order_acquire))

latest error
Screen Shot 2022-09-01 at 10 34 18 am

Errors spilling over from
Screen Shot 2022-09-01 at 10 36 59 am

UPDATE

@interface SSignalMulticastSubscribers : NSObject
{
volatile os_unfair_lock _lock;
...
}

changing
volatile os_unfair_lock _lock; -> os_unfair_lock _lock;
makes above some of the problems go away.

UPDATE
Finally compiling - but crashing due to problem below. how to rewrite

// if (atomic_compare_exchange_strong_explicit(block, 0, &_block))

wweevv-johndpope/Telegram-iOS@305829a

Screen Shot 2022-09-01 at 10 26 27 pm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions