Quellcode durchsuchen

new test file that breaks where it should

master
Nathan R vor 3 Jahren
Ursprung
Commit
cdb09a7433
1 geänderte Dateien mit 10 neuen und 36 gelöschten Zeilen
  1. +10
    -36
      ccmeta-tree.txt

+ 10
- 36
ccmeta-tree.txt Datei anzeigen

@ -1,36 +1,10 @@
typedef signed t;
typedef int plain;
struct tag {
unsigned t:4; // t is the name of the field
const t:5; // t is the name of the type of the unnamed 5-bit field
plain r:5;
};
struct tag2 {
int xx:8;
int :8; // a field with no name
int :8; // a field with no name
int yy:8;
};
typedef int a, (*b)(a intarg);
// ^ ^----------------------------------------|-------|
// (1) where does it say in the std that this name becomes a type name
// even before the end of the typedef declarator list that is a part of?
// (2) where in the std does is say how the scope of typedef names is
// handled (global, function-level, block-level, etc.)?
// (3) what are the exact rules about typedef scopes, and the different
// contexts in which a typedef can occur that causes it to have non-local
// or non-global scope?
// (4) printTree to show the real AST in addition to outputNode which prints
// source code.
int c(int x) { return x; }
b e = c;
unsigned x;
unsigned long int y;
void fun() {
typedef int i;
{
typedef float f;
i j1;
f g1;
}
i j2;
f g2; // <---- ERROR
}

Laden…
Abbrechen
Speichern