0

I'm taking a look at an existing php extension and am trying to re-target it from 7.2 toward 7.3. What 7.3 api changes do I need to make to fix these build errors?

I have reviewed the internals upgrading guidance and it remains unclear to me what exactly is going on\has changed with the GC_FLAGS macro.

https://github.com/php/php-src/blob/php-7.3.0/UPGRADING.INTERNALS

Faulting line example:

GC_FLAGS(common_strings.__construct) |= IS_STR_INTERNED;

(and many more) https://github.com/tpunt/pht/blob/master/pht.c#L53-L98

Returned error example:

ext\pht\pht.c(53): error C2106: '|=': left operand must be l-value

(and many more) https://ci.appveyor.com/project/NxSys/pht/builds/26576298/job/40hva8w8akd3qguw#L231

Build Env: MSVC15 on Win10 (Visual Studio 2017)

Any thoughts\direction would be appreciated. Thanks!

1
  • My only thoughts are that GC_FLAGS() used to be returning a reference that could be modified, but no longer. I can't find any documentation to support that, though. Commented Aug 11, 2019 at 20:10

1 Answer 1

1

You could try using this instead (untested):

GC_ADD_FLAGS(common_strings.__construct, IS_STR_INTERNED);

And of course GC_DEL_FLAGS() to remove it.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.