Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
SUSE:SLE-12-SP1:GA
python-sip.2072
regenerate-files.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File regenerate-files.diff of Package python-sip.2072
Index: sip-4.15.4/sipgen/parser.c =================================================================== --- sip-4.15.4.orig/sipgen/parser.c +++ sip-4.15.4/sipgen/parser.c @@ -372,6 +372,7 @@ static sipSpec *currentSpec; /* The current spec being parsed. */ +static stringList *backstops; /* The list of backstops. */ static stringList *neededQualifiers; /* The list of required qualifiers. */ static stringList *excludedQualifiers; /* The list of excluded qualifiers. */ static moduleDef *currentModule; /* The current module being parsed. */ @@ -515,6 +516,7 @@ static void handleKeepReference(optFlags static void mappedTypeAnnos(mappedTypeDef *mtd, optFlags *optflgs); static void add_new_deref(argDef *new, argDef *orig, int isconst); static void add_derefs(argDef *dst, argDef *src); +static int isBackstop(qualDef *qd); /* Enabling traces. */ @@ -5691,9 +5693,9 @@ yyreduce: "Mixin", "NoDefaultCtors", "PyName", - "PyQt4Flags", - "PyQt4NoQMetaObject", + "PyQtFlags", "PyQtInterface", + "PyQtNoQMetaObject", "Supertype", "VirtualErrorHandler", NULL @@ -5786,9 +5788,9 @@ yyreduce: "Mixin", "NoDefaultCtors", "PyName", - "PyQt4Flags", - "PyQt4NoQMetaObject", + "PyQtFlags", "PyQtInterface", + "PyQtNoQMetaObject", "Supertype", "VirtualErrorHandler", NULL @@ -7240,6 +7242,7 @@ yyreduce: const char *annos[] = { "DocType", "Encoding", + "NoSetter", "PyInt", "PyName", NULL @@ -8116,7 +8119,7 @@ yyreturn: * Parse the specification. */ void parse(sipSpec *spec, FILE *fp, char *filename, stringList *tsl, - stringList *xfl, KwArgs kwArgs, int protHack) + stringList *bsl, stringList *xfl, KwArgs kwArgs, int protHack) { classTmplDef *tcd; @@ -8126,6 +8129,7 @@ void parse(sipSpec *spec, FILE *fp, char spec->genc = -1; currentSpec = spec; + backstops = bsl; neededQualifiers = tsl; excludedQualifiers = xfl; currentModule = NULL; @@ -8249,9 +8253,7 @@ static moduleDef *allocModule() newmod->encoding = no_type; newmod->qobjclass = -1; newmod->nrvirthandlers = -1; - - /* -1 is reserved for variable getters. */ - newmod->next_key = -2; + newmod->next_key = -1; /* * The consolidated module support needs these to be in order that they @@ -8645,11 +8647,11 @@ static void finishClass(sipSpec *pt, mod if (getOptFlag(of, "Mixin", bool_flag) != NULL) setMixin(cd); - if ((flg = getOptFlag(of, "PyQt4Flags", integer_flag)) != NULL) - cd->pyqt4_flags = flg->fvalue.ival; + if ((flg = getOptFlag(of, "PyQtFlags", integer_flag)) != NULL) + cd->pyqt_flags = flg->fvalue.ival; - if (getOptFlag(of, "PyQt4NoQMetaObject", bool_flag) != NULL) - setPyQt4NoQMetaObject(cd); + if (getOptFlag(of, "PyQtNoQMetaObject", bool_flag) != NULL) + setPyQtNoQMetaObject(cd); if ((flg = getOptFlag(of, "PyQtInterface", string_flag)) != NULL) cd->pyqt_interface = flg->fvalue.sval; @@ -10344,6 +10346,9 @@ static void newVar(sipSpec *pt, moduleDe if (isstatic || (escope != NULL && escope->iff->type == namespace_iface)) setIsStaticVar(var); + if (getOptFlag(of, "NoSetter", bool_flag) != NULL) + setNoSetter(var); + addVariable(pt, var); } @@ -11622,7 +11627,7 @@ static int notSkipping() */ static int timePeriod(const char *lname, const char *uname) { - int this, line; + int line; qualDef *qd, *lower, *upper; moduleDef *mod; @@ -11667,40 +11672,59 @@ static int timePeriod(const char *lname, /* Handle the SIP version number pseudo-timeline. */ if (line < 0) { - if (lower != NULL && lower->order > SIP_VERSION) + if (lower != NULL && SIP_VERSION < lower->order) return FALSE; - if (upper != NULL && upper->order <= SIP_VERSION) + if (upper != NULL && SIP_VERSION >= upper->order) return FALSE; return TRUE; } - this = FALSE; - for (qd = mod->qualifiers; qd != NULL; qd = qd->next) { if (qd->qtype != time_qualifier || qd->line != line) continue; - if (lower != NULL && qd->order < lower->order) - continue; - - if (upper != NULL && qd->order >= upper->order) - continue; - - /* - * This is within the required range so if it is also needed then the - * expression is true. - */ if (selectedQualifier(neededQualifiers, qd)) { - this = TRUE; - break; + if (lower != NULL && qd->order < lower->order) + return FALSE; + + if (upper != NULL && qd->order >= upper->order) + return FALSE; + + return TRUE; } } - return this; + /* + * If there is no upper bound then assume the expression is true unless + * the lower bound is a backstop. + */ + if (upper == NULL) + return !isBackstop(lower); + + /* + * If the upper limit corresponds to a backstop then assume the expression + * is true. + */ + return isBackstop(upper); +} + + +/* + * See if a qualifier is a backstop. + */ +static int isBackstop(qualDef *qd) +{ + stringList *sl; + + for (sl = backstops; sl != NULL; sl = sl->next) + if (strcmp(qd->name, sl->s) == 0) + return TRUE; + + return FALSE; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor