File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -3241,10 +3241,17 @@ static void initPredefined(yyscan_t yyscanner,const QCString &fileName)
3241
3241
) // predefined function macro definition
3242
3242
{
3243
3243
static const reg::Ex reId (R"( \a\w*)" );
3244
+ static const reg::Ex reVaArgs (R"( , *\.\.\. *$)" );
3244
3245
reg::Iterator end;
3245
3246
bool varArgs = false ;
3246
3247
int count = 0 ;
3247
3248
std::map<std::string,int > argMap;
3249
+ reg::Iterator it1 (ds.substr (i_obrace+1 ,i_cbrace-i_obrace-1 ),reVaArgs,0 );
3250
+ if (it1 != end)
3251
+ {
3252
+ i_cbrace -= it1->length ();
3253
+
3254
+ }
3248
3255
if (ds.substr (i_obrace+1 ,i_cbrace-i_obrace-1 )==" ..." )
3249
3256
{
3250
3257
varArgs = true ;
@@ -3274,6 +3281,12 @@ static void initPredefined(yyscan_t yyscanner,const QCString &fileName)
3274
3281
}
3275
3282
++it;
3276
3283
}
3284
+ if (it1!=end)
3285
+ {
3286
+ varArgs = true ;
3287
+ argMap.emplace (" __VA_ARGS__" ,count);
3288
+ count++;
3289
+ }
3277
3290
}
3278
3291
// strip definition part
3279
3292
std::string definition;
You can’t perform that action at this time.
0 commit comments