1- import cpp
1+ import cpp
22
33/**
4- * Namespace for containing emergent language features in C11.
4+ * Namespace for containing emergent language features in C11.
55 */
66module C11 {
7- abstract class EmergentLanguageFeature extends Element { }
8-
9- class AlignAsAttribute extends EmergentLanguageFeature , Attribute {
10- AlignAsAttribute ( ) { getName ( ) = "_Alignas" }
11- }
12-
13- class AtomicVariableSpecifier extends EmergentLanguageFeature , Variable {
14- AtomicVariableSpecifier ( ) {
15- getType ( ) .( DerivedType ) .getBaseType * ( ) .getASpecifier ( ) .getName ( ) = "atomic"
16- }
17- }
18-
19- class AtomicDeclaration extends EmergentLanguageFeature , Declaration {
20- AtomicDeclaration ( ) { getASpecifier ( ) .getName ( ) = "atomic" }
21- }
22-
23- class ThreadLocalDeclaration extends EmergentLanguageFeature , Declaration {
24- ThreadLocalDeclaration ( ) { getASpecifier ( ) .getName ( ) = "is_thread_local" }
25- }
26-
27- class EmergentHeader extends EmergentLanguageFeature , Include {
28- EmergentHeader ( ) {
29- getIncludedFile ( ) .getBaseName ( ) = [ "stdalign.h" , "stdatomic.h" , "stdnoreturn.h" , "threads.h" ]
30- }
31- }
32-
33- class LibExt1Macro extends EmergentLanguageFeature , Macro {
34- LibExt1Macro ( ) {
35- getName ( ) = "__STDC_WANT_LIB_EXT1__" and
36- getBody ( ) = "1"
37- }
7+ abstract class EmergentLanguageFeature extends Element { }
8+
9+ class AlignAsAttribute extends EmergentLanguageFeature , Attribute {
10+ AlignAsAttribute ( ) { getName ( ) = "_Alignas" }
11+ }
12+
13+ class AtomicVariableSpecifier extends EmergentLanguageFeature , Variable {
14+ AtomicVariableSpecifier ( ) {
15+ getType ( ) .( DerivedType ) .getBaseType * ( ) .getASpecifier ( ) .getName ( ) = "atomic"
3816 }
39-
40- class GenericMacro extends EmergentLanguageFeature , Macro {
41- GenericMacro ( ) { getBody ( ) .indexOf ( "_Generic" ) = 0 }
17+ }
18+
19+ class AtomicDeclaration extends EmergentLanguageFeature , Declaration {
20+ AtomicDeclaration ( ) { getASpecifier ( ) .getName ( ) = "atomic" }
21+ }
22+
23+ class ThreadLocalDeclaration extends EmergentLanguageFeature , Declaration {
24+ ThreadLocalDeclaration ( ) { getASpecifier ( ) .getName ( ) = "is_thread_local" }
25+ }
26+
27+ class EmergentHeader extends EmergentLanguageFeature , Include {
28+ EmergentHeader ( ) {
29+ getIncludedFile ( ) .getBaseName ( ) = [ "stdalign.h" , "stdatomic.h" , "stdnoreturn.h" , "threads.h" ]
4230 }
43-
44- class NoReturnSpecificer extends EmergentLanguageFeature , Function {
45- NoReturnSpecificer ( ) { getASpecifier ( ) .getName ( ) = "noreturn" }
31+ }
32+
33+ class LibExt1Macro extends EmergentLanguageFeature , Macro {
34+ LibExt1Macro ( ) {
35+ getName ( ) = "__STDC_WANT_LIB_EXT1__" and
36+ getBody ( ) = "1"
4637 }
47-
48- class AlignOf extends EmergentLanguageFeature , AlignofTypeOperator { }
49- }
38+ }
39+
40+ class GenericMacro extends EmergentLanguageFeature , Macro {
41+ GenericMacro ( ) { getBody ( ) .indexOf ( "_Generic" ) = 0 }
42+ }
43+
44+ class NoReturnSpecificer extends EmergentLanguageFeature , Function {
45+ NoReturnSpecificer ( ) { getASpecifier ( ) .getName ( ) = "noreturn" }
46+ }
47+
48+ class AlignOf extends EmergentLanguageFeature , AlignofTypeOperator { }
49+ }
0 commit comments