File: main.cc

package info (click to toggle)
aspectc%2B%2B 1.0pre4~svn.20090918-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 117,308 kB
  • ctags: 410,601
  • sloc: cpp: 1,883,007; ansic: 17,279; sh: 2,190; makefile: 1,088
file content (35 lines) | stat: -rw-r--r-- 780 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>

class C {};

void f (int a1[],
        int a2[2],
        int *a3[3],
	int (*a4)[4],
	int a5[5][10],
	int (*(*a6)())[3],
	int (*a7[7])[14],
	double (C::*a8)(long *(a[32])[64]) = 0) {
}

aspect Nonsense {
  advice execution ("% f(...)") : before () {
    printf ("%s\n", tjp->signature ());
  }
};

int main () {
  int a1[] = { 1, 2 };
  int a2[2] = { 3, 4 };
  int *a3[3];
  int (*a4)[4] = 0;
  int a5[5][10];
  int (*(*a6)())[3] = 0;
  int (*a7[7])[14];
  printf ("ArrayMangling\n");
  printf ("=============================================================\n");
  printf ("this is a quite complicated signature with array types\n");
  f (a1, a2, a3, a4, a5, a6, a7);
  printf ("=============================================================\n");
  return 0;
}