lib/iec_std_lib_generated.h
author Mario de Sousa <msousa@fe.up.pt>
Fri, 29 Jul 2011 16:03:28 +0100
changeset 350 2c3c4dc34979
parent 279 c0453b7f99df
permissions -rwxr-xr-x
Support for semantic verification of calls to standard functions.
This commit makes a fundamental change in the way standard functions are handled by the compiler.
49
c96d1a4c23f8 Changing file headers
lbessard
parents: 40
diff changeset
     1
/*
279
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
     2
 * Copyright (C) 2007-2011: Edouard TISSERANT and Laurent BESSARD
49
c96d1a4c23f8 Changing file headers
lbessard
parents: 40
diff changeset
     3
 *
279
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
     4
 * See COPYING and COPYING.LESSER files for copyright details.
49
c96d1a4c23f8 Changing file headers
lbessard
parents: 40
diff changeset
     5
 *
279
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
     6
 * This library is free software; you can redistribute it and/or
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
     7
 * modify it under the terms of the GNU Lesser General Public
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
     8
 * License as published by the Free Software Foundation; either
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
     9
 * version 3 of the License, or (at your option) any later version.
49
c96d1a4c23f8 Changing file headers
lbessard
parents: 40
diff changeset
    10
 *
279
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    11
 * This library is distributed in the hope that it will be useful,
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    14
 * Lesser General Public License for more details.
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    15
 * 
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    16
 * You should have received a copy of the GNU Lesser General Public License 
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    17
 * along with this library. If not, see <http://www.gnu.org/licenses/>.
c0453b7f99df Re-generated std lib related code, with updated headers, updated all forgotten headers
Edouard Tisserant
parents: 149
diff changeset
    18
 *
49
c96d1a4c23f8 Changing file headers
lbessard
parents: 40
diff changeset
    19
 */
40
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    20
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    21
/****
149
05ca171a3d57 Adding support for EN/ENO in standard functions
lbessard
parents: 107
diff changeset
    22
 * IEC 61131-3 standard function library
40
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    23
 * generated code, do not edit by hand
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    24
 */
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    25
149
05ca171a3d57 Adding support for EN/ENO in standard functions
lbessard
parents: 107
diff changeset
    26
 
05ca171a3d57 Adding support for EN/ENO in standard functions
lbessard
parents: 107
diff changeset
    27
40
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    28
/* Macro that expand to subtypes */
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    29
#define ANY(DO) ANY_DERIVED(DO) ANY_ELEMENTARY(DO)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    30
#define ANY_DERIVED(DO)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    31
#define ANY_ELEMENTARY(DO) ANY_MAGNITUDE(DO) ANY_BIT(DO) ANY_STRING(DO) ANY_DATE(DO)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    32
#define ANY_MAGNITUDE(DO) ANY_NUM(DO) DO(TIME)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    33
#define ANY_BIT(DO) ANY_NBIT(DO) DO(BOOL)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    34
#define ANY_NBIT(DO) DO(BYTE) DO(WORD) DO(DWORD) DO(LWORD)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    35
#define ANY_STRING(DO) DO(STRING)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    36
#define ANY_DATE(DO) DO(DATE) DO(TOD) DO(DT)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    37
#define ANY_NUM(DO) ANY_REAL(DO) ANY_INT(DO)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    38
#define ANY_REAL(DO) DO(REAL) DO(LREAL)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    39
#define ANY_INT(DO) ANY_SINT(DO) ANY_UINT(DO)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    40
#define ANY_SINT(DO) DO(SINT) DO(INT) DO(DINT) DO(LINT)
873a5b60a7ea Fixed -I library include path behavior + removed old lib implementation + added generated lib func names to stage 1_2 + added Makefile.Linux
etisserant
parents:
diff changeset
    41
#define ANY_UINT(DO) DO(USINT) DO(UINT) DO(UDINT) DO(ULINT)