Skip to content

Commit 1b09e23

Browse files
committed
Parse deprecated enumerators
1 parent 514acc2 commit 1b09e23

File tree

4 files changed

+18
-2
lines changed

4 files changed

+18
-2
lines changed

src/cppconv/dwriter.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -3479,7 +3479,7 @@ void parseTreeToDCode(T)(ref CodeWriter code, DWriterData data, T tree, immutabl
34793479
skipToken(code, data, tree.childs[0]);
34803480
code.write(name);
34813481

3482-
foreach (c; tree.childs[1 .. $])
3482+
foreach (c; tree.childs[2 .. $])
34833483
{
34843484
parseTreeToDCode(code, data, c, condition, currentScope);
34853485
}

src/cppconv/grammarcpp.ebnf

+1-1
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ EnumeratorList @array
763763
| EnumeratorList "," Enumerator
764764
;
765765
Enumerator
766-
= Identifier EnumeratorInitializer?
766+
= Identifier AttributeSpecifierSeq EnumeratorInitializer?
767767
;
768768
EnumeratorInitializer
769769
= "=" ConstantExpression

tests/single/test372.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
enum E
2+
{
3+
a __attribute__ ((__deprecated__("text"))) = 1,
4+
b = 3
5+
};

tests/single/test372.d

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module test372;
2+
3+
import config;
4+
import cppconvhelpers;
5+
6+
enum E
7+
{
8+
a /+ __attribute__ ((__deprecated__("text"))) +/ = 1,
9+
b = 3
10+
}
11+

0 commit comments

Comments
 (0)