annotate ir/irsymbol.h @ 1309:0c03ba6f7c24

Fixed deal breaker bug for more-at-once compilation when any module contained aggregates. Fixes ticket #272 .
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Thu, 07 May 2009 02:10:29 +0200
parents 2a687353c84d
children 46f6365a50d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1150
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
1 #ifndef __LDC_IR_IRSYMBOL_H__
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
2 #define __LDC_IR_IRSYMBOL_H__
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
3
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
4 #include "ir/ir.h"
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
5
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
6 /// Base class for all symbols.
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
7 struct IrSymbol
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
8 {
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
9 ///
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
10 IrSymbol(Ir* ir) : ir(ir) {}
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
11
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
12 /// Migrate symbols to current module if necessary.
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
13 virtual void migrate() = 0;
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
14
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
15 protected:
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
16 ///
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
17 Ir* ir;
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
18 };
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
19
2a687353c84d Added missing new files.
Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
parents:
diff changeset
20 #endif