xref: /reactos/sdk/include/ndk/section_attribs.h (revision c8d07514)
1 /*++ NDK Version: 0099
2 
3 Copyright (c) Alex Ionescu.  All rights reserved.
4 
5 Header Name:
6 
7     section_attribs.h
8 
9 Abstract:
10 
11     Preprocessor definitions to put code and data into specific sections.
12 
13 Author:
14 
15     Timo Kreuzer (timo.kreuzer@reactos.org)
16 
17 --*/
18 
19 #pragma once
20 
21 #if defined(__GNUC__) || defined(__clang__)
22 
23 #define DATA_SEG(segment) __attribute__((section(segment)))
24 #define CODE_SEG(segment) __attribute__((section(segment)))
25 
26 #elif defined(_MSC_VER)
27 
28 #define DATA_SEG(segment) __declspec(allocate(segment))
29 #define CODE_SEG(segment) __declspec(code_seg(segment))
30 
31 #else
32 
33 #error Invalid compiler!
34 
35 #endif
36