Link with C++ linker
[oweals/cde.git] / cde / programs / nsgmls / instmac.m4
1 /* $XConsortium: instmac.m4 /main/3 1996/08/13 10:09:17 mgreess $ */
2
3 #ifdef SP_NAMESPACE
4 namespace SP_NAMESPACE {
5 #endif
6
7 dnl Copyright (c) 1994 James Clark
8 dnl See the file COPYING for copying permission.
9 dnl M4 macros for template instantiation.
10 define(`__undefine', defn(`undefine'))dnl
11 define(`__define', defn(`define'))dnl
12 define(`__changequote', defn(`changequote'))dnl
13 define(`__include', defn(`include'))dnl
14 define(`__ifdef', defn(`ifdef'))dnl
15 define(`__divert', defn(`divert'))dnl
16 define(`__dnl', defn(`dnl'))dnl
17 define(`__incr', defn(`incr'))dnl
18 define(`__index', 0)dnl
19 define(`__concat', $1$2)dnl
20 define(`__instantiate',`#if defined(__DECCXX)
21   #pragma define_template $1
22 #elif defined(AIXV3)
23   #pragma define($1)
24 #elif defined(USL)
25   #pragma instantiate $1
26 #elif defined(SP_ANSI_CLASS_INST)
27   template class $1;
28 #else
29   typedef $1 __concat(Dummy_,__index);
30 #endif
31 __define(`__index',__incr(__index))__dnl')dnl
32 define(`__func_index', 0)dnl
33 define(`__instantiate_func3',
34 `#ifdef __GNUG__
35 template void $1($2, $3, $4);
36 #else
37 static
38 void  __concat(func_,__func_index) ($2 arg1, $3 arg2, $4 arg3) {
39 (void)$1(arg1, arg2, arg3);
40 }
41 #endif
42 __define(`__func_index',__incr(__func_index))__dnl')dnl
43 dnl we want __p to be expanded even inside comments
44 changecom()__dnl
45 __undefine(`changecom')__dnl
46 __undefine(`changequote')__dnl
47 __undefine(`decr')__dnl
48 __undefine(`define')__dnl
49 __undefine(`defn')__dnl
50 __undefine(`divert')__dnl
51 __undefine(`divnum')__dnl
52 __undefine(`dnl')__dnl
53 __undefine(`dumpdef')__dnl
54 __undefine(`errprint')__dnl
55 __undefine(`eval')__dnl
56 __undefine(`ifdef')__dnl
57 __undefine(`ifelse')__dnl
58 __undefine(`include')__dnl
59 __undefine(`incr')__dnl
60 __undefine(`index')__dnl
61 __undefine(`len')__dnl
62 __undefine(`m4exit')__dnl
63 __undefine(`m4wrap')__dnl
64 __undefine(`maketemp')__dnl
65 __undefine(`popdef')__dnl
66 __undefine(`pushdef')__dnl
67 __undefine(`shift')__dnl
68 __undefine(`sinclude')__dnl
69 __undefine(`substr')__dnl
70 __undefine(`syscmd')__dnl
71 __undefine(`sysval')__dnl
72 __undefine(`traceoff')__dnl
73 __undefine(`traceon')__dnl
74 __undefine(`translit')__dnl
75 __undefine(`undefine')__dnl
76 __undefine(`undivert')__dnl
77 __undefine(`unix')__dnl
78 __dnl __changequote(,)__dnl disable quoting
79
80 #ifdef SP_NAMESPACE
81 }
82 #endif