Author BTaskaya
Recipients BTaskaya, asvetlov, jack1142, lukasz.langa, miss-islington, pablogsal, serhiy.storchaka, vstinner, yselivanov
Date 2020-04-06.22:34:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1586212496.82.0.820454115248.issue39562@roundup.psfhosted.org>
In-reply-to
Content
#define IS_COMPILER_FLAG_ENABLED(c, flag) printf("%s: %d\n", #flag, c->c_flags->cf_flags & flag)

> If CO_FUTURE_DIVISION conflicts with PyCF_ALLOW_TOP_LEVEL_AWAIT, does not CO_ITERABLE_COROUTINE conflict with PyCF_SOURCE_IS_UTF8 and CO_ASYNC_GENERATOR with PyCF_DONT_IMPLY_DEDENT?

Yes, they do.

Compiling without anything
PyCF_SOURCE_IS_UTF8: 256
CO_ITERABLE_COROUTINE: 256
PyCF_DONT_IMPLY_DEDENT: 0
CO_ASYNC_GENERATOR: 0
Compiling with CO_ASYNC_GENERATOR
PyCF_SOURCE_IS_UTF8: 256
CO_ITERABLE_COROUTINE: 256
PyCF_DONT_IMPLY_DEDENT: 512
CO_ASYNC_GENERATOR: 512

This result is a side affect of merging future flags with compiler flags. Even if we access from cf_flags (or the other way around, ff_features) it doesnt change anything because we are merging both flags before we start the process. 

Two ways of escaping this is changing flags to not to conlict with each other or not merging. Not merging is out of this box because it will break user level compile function (it takes both flags in a single parameter, flags). The most reasonable solution I thought was making this flags not to conflict with each other.
History
Date User Action Args
2020-04-06 22:34:56BTaskayasetrecipients: + BTaskaya, vstinner, asvetlov, lukasz.langa, serhiy.storchaka, yselivanov, pablogsal, miss-islington, jack1142
2020-04-06 22:34:56BTaskayasetmessageid: <1586212496.82.0.820454115248.issue39562@roundup.psfhosted.org>
2020-04-06 22:34:56BTaskayalinkissue39562 messages
2020-04-06 22:34:56BTaskayacreate