forked from farisawan-2000/cfront-3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoverload.h
50 lines (39 loc) · 1.67 KB
/
overload.h
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*ident "@(#)cls4:src/overload.h 1.4" */
/*******************************************************************************
C++ source for the C++ Language System, Release 3.0. This product
is a new release of the original cfront developed in the computer
science research center of AT&T Bell Laboratories.
Copyright (c) 1993 UNIX System Laboratories, Inc.
Copyright (c) 1991, 1992 AT&T and UNIX System Laboratories, Inc.
Copyright (c) 1984, 1989, 1990 AT&T. All Rights Reserved.
THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of AT&T and UNIX System
Laboratories, Inc. The copyright notice above does not evidence
any actual or intended publication of such source code.
*******************************************************************************/
/************************************************************/
/* header file for functions and variables shared by */
/* function matching and operator overloading */
/************************************************************/
#include "cfront.h"
#include "Block.h"
#include "Bits.h"
static const int NONE = 0;
static const int ELLIP = 1;
static const int UDC = 2;
static const int STD = 3;
static const int PROM = 4;
static const int EXACT = 5;
extern int ambig;
extern int no_const;
extern int non_const;
inline int min(int i, int j) {
return i < j ? i : j;
}
Blockdeclare(Pname);
typedef Block(Pname) BlockPname;
Blockdeclare(BlockPname) Blockdeclare(int)
extern Pname hier_dominates(Pname, Pname);
extern Pname bestOfPair(Pname, Pname, Ptype);
extern int matchable(Pname, Pexpr, int);
extern Bits best_conv(const Block(Pname) &, int &, bit);
extern void fmError(int, const Block(Pname) &, Pexpr, bit = 0);