Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wweevv-johndpope opened this issue Aug 31, 2022 · 1 comment

Comments

@wweevv-johndpope
Copy link

wweevv-johndpope commented Aug 31, 2022

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

@wweevv-johndpope
Copy link
Author

found some a path to upgrae mtdisposable sbdisposable - TelegramMessenger/Telegram-iOS#829

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant