Skip to content

Commit 5836033

Browse files
committed
define extensions
llvm-svn: 38983
1 parent 0284697 commit 5836033

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

clang/NOTES.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
//===---------------------------------------------------------------------===//
2+
// Random Notes
3+
//===---------------------------------------------------------------------===//
4+
5+
6+
//===---------------------------------------------------------------------===//
7+
Extensions:
8+
9+
* "#define_target X Y"
10+
This preprocessor directive works exactly the same was as #define, but it
11+
notes that 'X' is a target-specific preprocessor directive. When used, a
12+
diagnostic is emitted indicating that the translation unit is non-portable.
13+
14+
If a target-define is #undef'd before use, no diagnostic is emitted. If 'X'
15+
were previously a normal #define macro, the macro is tainted. If 'X' is
16+
subsequently #defined as a non-target-specific define, the taint bit is
17+
cleared.
18+
19+
* "#define_other_target X"
20+
The preprocessor directive takes a single identifier argument. It notes
21+
that this identifier is a target-specific #define for some target other than
22+
the current one. Use of this identifier will result in a diagnostic.
23+
24+
If 'X' is later #undef'd or #define'd, the taint bit is cleared. If 'X' is
25+
already defined, X is marked as a target-specific define.
126

227
//===---------------------------------------------------------------------===//
328

0 commit comments

Comments
 (0)