|
Name of a __builtin_*()
function. [examples]
|
| [C++ / GNU C]
|
other |
All code occurrences. |
|
Individual enum symbol. [examples]
|
|
|
definition |
...the definition of the symbol. |
|
|
occurrence |
...any other occurrence of the symbol in source code. |
|
Field name f in an aggregate.
[examples]
|
| |
definition |
...when defined. |
| |
invocation |
...when invoked (for function pointer fields). |
| |
read |
...when its value is read. |
| |
sizeof |
...in the argument to sizeof() . |
| |
take address |
...as the operand of an addressing expression &f. |
| |
write |
...when written to. |
| |
write through |
...when it is dereferenced and its target written to (for
pointer fields) |
| [C++]
|
constructor initialization |
...when initialized in an initialization list |
| [C++]
|
method invocation |
...when one of its methods is invoked on it (for aggregate
fields). |
| |
other |
...otherwise. |
|
File name fname.fext
(including extension). [examples]
|
| |
definition |
...when the source file called fname.fext is present in the analysis. |
| |
include |
...in an include directive #include
"fname.fext" |
|
Name fn of a function or
method. There are four kinds
| function |
non-static function |
[examples] |
| static function |
static function |
[examples] |
| method |
[C++] non-static method |
[examples] |
| static method |
[C++] static method |
[examples] |
|
|
|
call |
...when the function is called / method is invoked. |
|
|
declaration |
...when declared. |
|
|
definition |
...when defined. |
|
|
sizeof |
...in the argument to sizeof() . |
|
|
take address |
...as the operand of an addressing expression &fn. |
| [C++]
|
friend |
...declared as a friend. |
| [C++]
|
template argument |
...as a value argument for template instantiation. |
|
|
other |
|
|
Variable name v. There are
five kinds, corresponding to different variable scopes and
linkages.
|
|
|
declaration |
...when declared. [not available for local static
variables] |
|
|
definition |
...when defined. |
|
|
invocation |
...when invoked (for function pointer variables). |
|
|
read |
...when its value is read. |
|
|
sizeof |
...as the argument to sizeof(). |
|
|
take address |
...as the operand of an addressing expression &v. |
|
|
write |
...when written to. |
|
|
write through |
...when it is dereferenced and its target written to (for
pointer variables). |
| [C++]
|
method invocation |
...when one of its methods is invoked (for aggregate
variables). |
| [C++]
|
template argument |
...as a value argument for template instantiation [not
available for parameters]. |
|
|
other |
...otherwise. |
|
Identifier L used as a label.
[examples]
|
|
|
definition |
...when defined (used to label a statement). |
|
|
goto |
...as the operand in a goto
expression. |
| [GNU]
|
take address |
...as the operand of an addressing expression &&L . |
|
Macro name M. [examples]
|
|
|
definition |
...when first defined with #define (includes redefining after
#undef M). |
|
|
invocation |
...when invoked. |
|
|
redefinition |
...when #define'd twice
or more with no intervening #undef. |
|
|
undefinition |
...when undefined with #undef. |
|
Namespace name ns. [examples]
|
| [C++]
|
definition |
...at the initial definition of the namespace. |
| [C++]
|
extension |
...at any subsequent extension of the namespace. |
| [C++]
|
qualifier |
...in the first operand of a name qualifier expression
ns::x. |
| [C++]
|
using |
...as the operand in a using
namespace expression. |
|
A string literal. [examples]
|
| |
definition |
...any occurrence of a string literal in source code (after
preprocessing). |
|
Name of a type parameter TT
for a template. [examples]
|
| [C++]
|
cast |
...as the target type of a cast operation. |
| [C++]
|
catch parameter |
...as the parameter type in a catch() expression |
| [C++]
|
constant |
... as a function parameter qualified as const. |
| [C++]
|
constructor initialization |
... as the type of a base class constructor in an
initialization list |
| [C++]
|
definition |
...when defined (in the template
definition/declaration). |
| [C++]
|
formal |
...as the type of a formal parameter in a function definition
or declaration. |
| [C++]
|
friend |
...declared as a friend. |
| [C++]
|
global |
...as the type of a global variable. |
| [C++]
|
local |
...as the type of a local variable. |
| [C++]
|
local static |
...as the type of a local static variable. |
| [C++]
|
member |
...as the type of a data member in an aggregate
structure. |
| [C++]
|
new |
...in the type of a new expression |
| [C++]
|
qualifier |
...in the first operand of a name qualifier expression
TT::x. |
| [C++]
|
return type |
...as the return type in a function definition or
declaration. |
| [C++]
|
sizeof |
...as the argument to sizeof(). |
| [C++]
|
subclass |
...as the superclass in a subclass declaration. |
| [C++]
|
template argument |
...as a type argument for template instantiation. |
| [C++]
|
template parameter |
...as the type of a template value parameter. |
| [C++]
|
throw exception specifier |
..as the parameter type in a throw() expression |
| [C++]
|
typedef |
...in the first operand of a typedef statement. |
| [C++]
|
other |
...otherwise. |
|
Name of a value parameter Tv
for a template. [examples]
|
| [C++]
|
definition |
...when defined (in the template
definition/declaration). |
| [C++]
|
invocation |
...when invoked (for function pointers) |
| [C++]
|
method invocation |
...when one of its methods is invoked (for aggregates). |
| [C++]
|
read |
...when its value is read. |
| [C++]
|
sizeof |
...as the argument to sizeof(). |
| [C++]
|
take address |
...as the operand of an addressing expression &Tv. |
| [C++]
|
template argument |
...as a value argument for template instantiation. |
| [C++]
|
write |
...when it is written to. |
| [C++]
|
write through |
...when it is dereferenced and its target written to (for
pointers) |
| [C++]
|
other |
...otherwise. |
Type tag t. [examples]
C only: type tags in code compiled as C++ have kind type.
|
| [C]
|
cast |
...as the target type of a cast operation. |
| [C]
|
declaration |
...when declared. |
| [C]
|
definition |
...when defined. |
| [C]
|
file static |
...as the type of a file static variable. |
| [C]
|
formal |
...as the type of a formal parameter in a function definition
or declaration. |
| [C]
|
global |
...as the type of a global variable. |
| [C]
|
local |
...as the type of a local variable. |
| [C]
|
local static |
...as the type of a local static variable. |
| [C]
|
member |
...as the type of a member of an aggregate. |
| [C]
|
return type |
...as the return type in a function definition or
declaration. |
| [C]
|
sizeof |
...as the argument to sizeof(). |
| [C]
|
typedef |
...in the first operand of a typedef statement. |
|
Type name T. [examples]
|
|
|
cast |
...as the target type of a cast operation. |
|
|
definition |
...when defined. |
|
|
file static |
...as the type of a file static variable. |
|
|
formal |
...as the type of a formal parameter in a function definition
or declaration. |
|
|
global |
...as the type of a global variable. |
|
|
local |
...as the type of a local variable. |
|
|
local static |
...as the type of a local static variable. |
|
|
member |
...as the type of a member of an aggregate. |
|
|
return type |
...as the return type in a function definition or
declaration. |
|
|
sizeof |
...as the argument to sizeof(). |
|
|
tag |
...in the second operand of a typedef statement where the
first operand is an enum, struct, or union whose tag is exactly
the same as the type name. |
|
|
typedef |
...in the first operand of a typedef statement. |
| [C++]
|
catch parameter |
...as the parameter type in a catch() expression. |
| [C++]
|
constant |
...as the type of a variable declared as const. |
| [C++]
|
constructor initialization |
...as the type of a base class constructor in an
initialization list. |
| [C++]
|
declaration |
...when declared. |
| [C++]
|
friend |
...declared as a friend. |
| [C++]
|
new |
...in the type of a new
expression. |
| [C++]
|
qualifier |
...in the first operand of a name qualifier expression
T::x. |
| [C++]
|
subclass |
...as the superclass in a subclass declaration. |
| [C++]
|
template argument |
...as a type argument for template instantiation. |
| [C++]
|
template parameter |
...as the type of a template value parameter. |
| [C++]
|
throw exception specifier |
...as the parameter type in a throw() expression. |
|
|
other |
...otherwise. |
Code examples illustrating the available kind-usage pairs are
provided below.
|
|
|
|
cast
|
*
|
i =
(INT) (2*sizeof(INT2));
|
|
|
definition
|
*
|
typedef int INT;
|
|
|
file
static
|
*
|
static INT fsI;
|
|
|
formal
|
*
|
INT2 use_type_c(INT x)
|
|
|
global
|
*
|
INT globalI;
|
|
|
local
|
*
|
INT i;
|
|
|
local static
|
*
|
static INT lsI;
|
|
|
member
|
*
|
typedef struct
mystruct{INT i;}
mystruct;
|
|
|
return type
|
*
|
INT2 use_type_c(INT x)
|
|
|
sizeof
|
*
|
sizeof(INT2)
|
|
|
tag
|
*
|
typedef struct mystruct{INT
i;} mystruct;
|
|
|
typedef
|
*
|
typedef INT INT2;
|
| [C++]
|
catch parameter |
*
|
catch (INTB b)
|
| [C++]
|
constant |
*
|
const INTA a=5;
|
| [C++]
|
constructor initialization |
*
|
Zderived(): X()
|
| [C++]
|
declaration
|
*
|
template <typename T, INTA
size> struct Vector
{};
|
| [C++]
|
friend
|
*
|
friend struct
Vector<INTB,10>;
|
| [C++]
|
new |
*
|
myx = new X();
|
| [C++]
|
qualifier |
*
|
int Zderived::*pm;
|
| [C++]
|
subclass |
*
|
struct Zderived: X
|
| [C++]
|
template argument
|
*
|
Vector<INTB, 10>
|
| [C++]
|
template parameter
|
*
|
template <typename T,
INTA size>
|
| [C++]
|
throw exception specifier |
*
|
void
use_type_cpp(void) throw (INTA)
|
|
|
other
|
|
- |
|
typedef int INTA;
typedef int INTB;
template <typename T, INTA size> struct Vector {};
struct X { friend struct Vector<INTB, 10>;};
struct Zderived : X {
Zderived() : X(){}
int x;
};
int Zderived::*pm;
const INTA a = 5;
void use_type_cpp(void) throw (INTA){
try {
X *myx;
myx = new X();
}
catch (INTB b) {}
}
|
|
|
|
|
declaration
|
*
|
extern int global_var;
|
|
|
definition
|
*
|
int global_var = 7;
|
|
|
invocation |
*
|
fptr(sizeof(global_var));
|
|
|
read |
*
|
*ptri = global_var;
|
|
|
sizeof |
*
|
fptr(sizeof(global_var));
|
|
|
take address |
*
|
ptri = &global_var;
|
|
|
write |
*
|
ptri = &global_var;
|
|
|
write through |
*
|
*ptri = global_var;
|
| [C++]
|
method invocation |
*
|
p.f();
|
| [C++]
|
template argument |
*
|
PI<&b> p;
|
|
|
other |
|
- |
|
template <int *i> struct PI{void f(void);};
int b;
PI<&b> p;
void use_var_global_cpp(void){ p.f();}
|
|
|
|
|
declaration
|
*
|
void
use_var_local_c(x)
|
|
|
definition
|
*
|
int *ptri; {
|
|
|
invocation |
*
|
fptr(sizeof(y));
|
|
|
read |
*
|
*ptri = y;
|
|
|
sizeof |
*
|
fptr(sizeof(y));
|
|
|
take address |
*
|
ptri = &y;
|
|
|
write |
*
|
ptri = &y;
|
|
|
write through |
*
|
*ptri = y;
|
| [C++]
|
method invocation |
*
|
p.f();
|
| [C++]
|
template argument |
*
|
TI<b> p;
|
|
|
other |
|
- |
|
typedef void (*FTYPE)(int);
void use_var_local_c(x)
int x; {
int *ptri;
int y=x;
void f(int i){};
FTYPE fptr = &f;
ptri = &y;
*ptri = y;
fptr(sizeof(y));
}
template <int i> struct TI{void f(void);};
void use_var_local_cpp(void){
const int b=5;
TI<b> p;
p.f();
}
|
|
|
|
|
definition
|
*
|
static int x = 5;
|
|
|
invocation |
*
|
fptr(sizeof(x));
|
|
|
read |
*
|
*ptri = x;
|
|
|
sizeof |
*
|
fptr(sizeof(x));
|
|
|
take address |
*
|
ptri = &x;
|
|
|
write |
*
|
ptri = &x;
|
|
|
write through |
*
|
*ptri = x;
|
| [C++]
|
method invocation |
*
|
p.f();
|
| [C++]
|
template argument |
*
|
TI<b> p;
|
|
|
other |
|
- |
|
typedef void (*FTYPE)(int);
void f(int i){};
void use_var_local_static_c(void){
static int x = 5;
static int *ptri;
static FTYPE fptr = &f;
ptri = &x;
*ptri = x;
fptr(sizeof(x));
}
template <int i> struct TI{void f(void);};
void use_var_local_static_cpp(void){
static const int b=5;
static TI<b> p;
p.f();
}
|
|
|
|
|
declaration
|
*
|
extern int x;
|
|
|
definition
|
*
|
static int x;
|
|
|
invocation |
*
|
fptr(sizeof(x));
|
|
|
read |
*
|
*ptri = x;
|
|
|
sizeof |
*
|
fptr(sizeof(x));
|
|
|
take address |
*
|
ptri = &x;
|
|
|
write |
*
|
ptri = &x;
|
|
|
write through |
*
|
*ptri = x;
|
| [C++]
|
method invocation |
*
|
p.f();
|
| [C++]
|
template argument |
*
|
PI<&b> p;
|
|
|
other |
|
- |
|
typedef void (*FTYPE)(int);
void f(int i){};
static int x;
extern int x;
static int *ptri;
static FTYPE fptr = &f;
void use_var_static_c(void){
ptri = &x;
*ptri = x;
fptr(sizeof(x));
}
template <int *i> struct PI{void f(void);};
static int b;
static PI<&b> p;
void use_var_static_cpp(void){ p.f();}
|
|
|
|
|
declaration
|
*
|
void use_var_local_c( int
*x, int y, FTYPE fptr);
|
|
|
definition
|
*
|
void use_var_local_c( int
*x, int y, FTYPE fptr){
|
|
|
invocation |
*
|
fptr(sizeof(y));
|
|
|
read |
*
|
*x = y;
|
|
|
sizeof |
*
|
fptr(sizeof(y));
|
|
|
take address |
*
|
x = &y;
|
|
|
write |
*
|
x
= &y;
|
|
|
write through |
*
|
*x
= y;
|
| [C++]
|
method invocation |
*
|
p.f();
|
|
|
other |
|
- |
|
typedef void (*FTYPE)(int);
void use_var_parameter_c( int *x, int y, FTYPE fptr);
void use_var_parameter_c( int *x, int y, FTYPE fptr) {
x = &y;
*x = y;
fptr(sizeof(y));
}
|
|
|
|
|
definition |
*
|
#define MYDEF 5
|
|
|
invocation |
*
|
int k = MYDEF;
|
|
|
redefinition |
*
|
#define BADREDEF 6
|
|
|
undefinition |
*
|
#undef MYDEF
|
|
|
|
|
|
|
call |
*
|
int i = ifunc();
|
|
|
declaration |
*
|
int ifunc(void);
|
|
|
definition |
*
|
int ifunc(void){return 5;};
|
|
|
sizeof |
*
|
size_t s =
sizeof(ifunc());
|
|
|
take address |
*
|
int(*fptr)(void) =
&ifunc;
|
| [C++]
|
friend |
*
|
friend int myfunc (int);
|
| [C++]
|
template argument |
*
|
PF<&myfunc> p;
|
|
|
other |
|
- |
|
int ifunc (void);
int ifunc (void){return 5;}
int(*fptr)(void) = &ifunc;
void use_function_c(void){
int i = ifunc();
size_t s = sizeof(ifunc());
}
int myfunc(int);
template <int (*f)(int)> struct PF{};
struct X {friend int myfunc(int);};
PF<&myfunc> p;
|
|
|
|
|
call |
*
|
int i = ifunc();
|
|
|
declaration |
*
|
static int ifunc(void);
|
|
|
definition |
*
|
static int ifunc(void){return 5;};
|
|
|
sizeof |
*
|
size_t s =
sizeof(ifunc());
|
|
|
take address |
*
|
int(*fptr)(void) =
&ifunc;
|
| [C++]
|
friend |
*
|
friend int myfunc (int);
|
| [C++]
|
template argument |
*
|
PF<&myfunc> p;
|
|
|
other |
|
- |
|
static int ifunc (void);
static int ifunc (void){return 5;}
int(*fptr)(void) = &ifunc;
void use_func_static_c(void){
int i = ifunc();
size_t s = sizeof(ifunc());
}
static int myfunc(int);
typedef int (*FTYPE)(int);
template <FTYPE f> struct PF{};
struct X {friend int myfunc(int);};
PF<&myfunc> p;
|
|
|
| [C++]
|
call |
*
|
int i = C.methA();
|
| [C++]
|
declaration |
*
|
int methA(void);
|
| [C++]
|
definition |
*
|
int MyClass::methA(void){return 5;};
|
| [C++]
|
friend |
*
|
friend int
MyClass::methA(void);
|
| [C++]
|
sizeof |
*
|
size_t s =
sizeof(C.methA());
|
| [C++]
|
take address |
*
|
MyClass(){ fptr =
&MyClass::methA;}
|
| [C++]
|
template argument |
*
|
PF<&MyClass::methA> p;
|
| [C++]
|
other |
|
- |
|
class MyClass;
typedef int (MyClass::*FTYPE)(void);
template <FTYPE f> struct PF{};
class MyClass{
public:
int methA (void);
FTYPE fptr;
PF<&MyClass::methA> p;
MyClass(){fptr = &MyClass::methA;}
};
class FriendlyClass{
friend int MyClass::methA(void);
};
int MyClass::methA(void){return 5;}
void use_method_cpp(void){
MyClass C;
int i = C.methA();
size_t s = sizeof(C.methA());
}
|
|
|
| [C++]
|
call |
*
|
int i = C.methA();
|
| [C++]
|
declaration |
*
|
static int methA(void);
|
| [C++]
|
definition |
*
|
int MyClass::methA(void){return 5;};
|
| [C++]
|
friend |
*
|
friend int
MyClass::methA(void);
|
| [C++]
|
sizeof |
*
|
size_t s =
sizeof(C.methA());
|
| [C++]
|
take address |
*
|
MyClass(){ fptr =
&methA;}
|
| [C++]
|
template argument |
*
|
PF<&methA> p;
|
| [C++]
|
other |
|
- |
|
typedef int (*FTYPE)(void);
template <FTYPE f> struct PF{};
class MyClass{
public:
static int methA(void);
FTYPE fptr;
PF<&methA> p;
MyClass(){fptr = &methA;}
};
class FriendlyClass{
friend int MyClass::methA(void);
};
int MyClass::methA(void){return 5;}
void use_method_static_cpp(void){
MyClass C;
int i = C.methA();
size_t s = sizeof(C.methA());
}
|
|
|
|
|
enum {red, blue, green} colors;
int c = red;
|
|
|
|
|
|
|
|
| [C++]
|
cast |
*
|
lf = (F)se;
|
| [C++]
|
catch parameter |
*
|
catch (E e);
|
| [C++]
|
constant |
*
|
void trytemp (const
E e) throw(F)
|
| [C++]
|
constructor initialization |
*
|
CS() : C(){};
|
| [C++]
|
definition
|
*
|
template <typename
T>
|
| [C++]
|
formal |
*
|
void set(T t)
|
| [C++]
|
friend |
*
|
friend C;
|
| [C++]
|
global |
*
|
extern E * globalE;
|
| [C++]
|
local |
*
|
T
rv = value;
|
| [C++]
|
local static |
*
|
static E se = e;
|
| [C++]
|
member |
*
|
T
value;
|
| [C++]
|
new |
*
|
le = new E;
|
| [C++]
|
qualifier |
*
|
int C::*pm;
|
| [C++]
|
return type |
*
|
T& get()
|
| [C++]
|
sizeof |
*
|
int i = sizeof(E);
|
| [C++]
|
subclass |
*
|
class CS: public C
|
| [C++]
|
template argument |
*
|
Item<T> s;
|
| [C++]
|
template parameter |
*
|
template <typename T,
T prim>
|
| [C++]
|
throw exception specifier |
*
|
void trytemp (const E e)
throw(F)
|
| [C++]
|
typedef |
*
|
typedef T myT;
|
| [C++]
|
other |
|
- |
|
template <typename T> struct Item {
T value;
T get(){
T rv = value; return rv;};
void set(T t){value=t;};
};
template <typename T,
T prim>
struct St{
typedef T myT;
Item<T> s; };
template <class C> class PM {
public:
int C::*pm;};
friend C;
class CS: public C {
public:
CS() : C(){};
};
CS x;
};
class D{};
PM<D> foo;
template <typename E,typename F>
void trytemp (const E e) throw(F){
try {
static E se = e;
E *le;
extern E * globalE;
int i = sizeof(E);
F lf;
le = new E;
lf = (F)se;
}
catch (E e){}
}
void use_tt (void) {
St<int,5> st;
Item<int> i;
int a = i.get();
trytemp<int,int> (a);
}
template<typename T> static T fs_var;
|
|
|
| [C++]
|
definition
|
*
|
template <char *
s> struct StrCont {};
|
| [C++]
|
invocation |
*
|
t.method();
|
| [C++]
|
method invocation |
*
|
x.method();
|
| [C++]
|
read |
*
|
c = p[0];
|
| [C++]
|
sizeof |
*
|
sz = sizeof(x);
|
| [C++]
|
take address |
*
|
&p[0];
|
| [C++]
|
template argument |
*
|
StrCont<p> sc;
|
| [C++]
|
write |
*
|
t.sz = 0;
|
| [C++]
|
write through |
*
|
*p
= 123;
|
| [C++]
|
other |
|
- |
|
struct T { void method() const {}};
template <char * s> struct StrCont {};
template <char * p, T const & x>
struct S
{
int sz;
char c;
StrCont<p> sc;
S(){
sz = sizeof(x);
c = p[0];
*p = 123;
&p[0];
x.method();
}
};
template <typename Ty>
void invokeme(Ty t){ t.method(); }
template <typename Ty>
void zerome(Ty t){ t.sz=0; }
char buf[12];
T t;
void use_tv()
{
S<buf, t> s;
invokeme(t);
zerome(s);
}
|
|
|
| |
definition
|
|
c_file.c, by file c_file.c |
| |
include |
*
|
#include "c_file.h"
|
|
|
|
|
| |
definition |
*
|
int i;
|
| |
invocation |
*
|
A.fp();
|
| |
read |
*
|
x = A.i + sizeof(A.fp);
|
| |
sizeof |
*
|
x = A.i +
sizeof(A.fp);
|
| |
take address |
*
|
b = &A.i;
|
| |
write |
*
|
A.i = 5;
|
| |
write through |
*
|
*(A.intptr) = 6;
|
| [C++]
|
constructor initialization |
*
|
T():i(5)
|
| [C++]
|
method invocation |
*
|
t.s.mf();
|
| |
other |
|
- |
|
typedef struct mystruct {
int i;
int *intptr;
void(*fp)(void);
} S;
void use_field_c(void){
S A;
int *b;
int x;
A.i = 5;
x = A.i + sizeof(A.fp);
b = &A.i;
*(A.intptr) = 6;
A.fp();
}
struct S { void mf(void){}; };
struct T {
T():i(5){};
S s; int i;
};
void use_field_cpp(){
T t;
t.s.mf();
}
|
|
|
| [C++]
|
definition |
*
|
namespace myns { int x; }
|
| [C++]
|
ext |
*
|
namespace myns { int y; }
|
| [C++]
|
qualifier |
*
|
using myns::x;
|
| [C++]
|
using |
*
|
using namespace otherns;
|
|
namespace myns { int x; }
namespace myns { int y; }
namespace otherns { int z; }
void use_ns(void){
using namespace otherns;
using myns::x;
int y = z + x;
}
|
|
|
| [C]
|
cast |
*
|
e1 = (enum enumtag) 1;
|
| [C]
|
declaration |
*
|
struct mystruct;
|
| [C]
|
definition |
*
|
struct mystruct{enum enumtag i;};
|
| [C]
|
file-static |
*
|
static struct mystruct staticS;
|
| [C]
|
formal |
*
|
struct mystruct f(struct
mystruct mparam){
|
| [C]
|
global |
*
|
struct mystruct S;
|
| [C]
|
local |
*
|
enum enumtag e1;
|
| [C]
|
local static |
*
|
static enum enumtag e2;
|
| [C]
|
member |
*
|
struct mystruct{enum
enumtag i;};
|
| [C]
|
return type |
*
|
struct mystruct f(struct mystruct mparam){
|
| [C]
|
sizeof |
*
|
mparam.i = sizeof(struct
mystruct);
|
| [C]
|
typedef |
*
|
typedef struct mystruct T;
|
| [C]
|
other |
|
- |
|
(Not used for code compiled as C++.)
|
|
|
|
|
definition |
*
|
labelA: ptr = &&labelB;
|
|
|
goto |
*
|
labelB: goto labelA;
|
|
|
take address |
*
|
labelA: ptr =
&&labelB;
|
|
|
|
|
| [C++/GNU C] |
other |
*
|
__builtin_offsetof( struct S, i );
|
|
|