cannot compile __bic_SR_register_on_exit( ) from mspgcc v.3.2.3

View: New views
1 Messages — Rating Filter:   Alert me  

cannot compile __bic_SR_register_on_exit( ) from mspgcc v.3.2.3

by Piotr Romaniuk :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

 

I cannot compile __bic_SR_register_on_exit() using mspgcc version 3.2.3:

My source file:

 

#include <iomacros.h>

 

 

#define USCI_A0_VECTOR              114

#define OSCOFF (1<<5)

 

extern "C" interrupt( USCI_A0_VECTOR) isr_func(void)

{

               __bic_SR_register_on_exit( OSCOFF );

}

 

 

It is probably caused by not allowed trial of merging __FUNCTION__ with
other string

in macro that defines __bic_SR_register (in iomacros.h):

 

#define __bic_SR_register_on_exit(x) \

    __asm__ __volatile__ ( \

        "bic %0, .L__FrameOffset_" __FUNCTION__ "(r1)" \

        : : "ir" ((uint16_t) x) \

    )

 

 

Is it __FUNCTION__ a literal or "const char *" ?

 

Other information:

1.      host operating system: Windows XP

2.      prebuild installer: mspgcc-20081230.exe

3.      mcu = msp430f5438

4.      source compiled by following line:

msp430-gcc -c -v  -mmcu=msp430x5438 -g -O3 -Wall -Wcast-align -Wcast-qual
-Wimplicit -Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wredundant-decls -Wreturn-type -Wshad

ow -Wstrict-prototypes -Wswitch -Wunused -I. -Ie:/mspgcc/msp430/include
-fno-exceptions -fno-rtti -Wa,-adhlns=bic_bug.c  bic_bug.c -o bic_bug.o

Reading specs from e:\mspgcc\bin\..\lib\gcc-lib\msp430\3.2.3\specs

Configured with: ./configure --target=msp430
--prefix=c:/work/mspgcc/sf/packaging/build/installed --disable-multilib
--disable-libc --disable-libssp --disable-intl --disable-libiberty
--with-gcc --wit

h-gnu-ld --with-gnu-as --with-stabs --disable-shared --disable-threads
--disable-win32-registry --disable-nls --enable-languages=c,c++

Thread model: single

gcc version 3.2.3

 e:\mspgcc\bin\..\lib\gcc-lib\msp430\3.2.3\cc1.exe -lang-c -v -I.
-Ie:/mspgcc/msp430/include -iprefix
e:\mspgcc\bin\..\lib/gcc-lib/msp430\3.2.3\ -D__GNUC__=3 -D__GNUC_MINOR__=2
-D__GNUC_PATCHLEVEL__=3

 -D__GXX_ABI_VERSION=102 -DMSP430 -D__MSP430__ -D__MSP430 -D__OPTIMIZE__
-D__STDC_HOSTED__=1 -DMSP430_HAS_HW_MUL -D__MSP430_5438__ -D__MSP430X2__
-DMSP430_HAS_HWMUL -D__SIZE_TYPE__=unsigned int -D__PT

RDIFF_TYPE__=int -D__INT_MAX__=32767 bic_bug.c -quiet -dumpbase bic_bug.c
-mmcu=msp430x5438 -g -O3 -Wall -Wcast-align -Wcast-qual -Wimplicit
-Wmissing-declarations -Wmissing-prototypes -Wnested-extern

s -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow
-Wstrict-prototypes -Wswitch -Wunused -version -fno-exceptions -fno-rtti -o
C:\DOCUME~1\internet\LOCALS~1\Temp/ccRCHztf.s

GNU CPP version 3.2.3 (cpplib) (GNU assembler syntax)

GNU C version 3.2.3 (msp430)

        compiled by GNU C version 3.4.5 (mingw-vista special r3).

ignoring nonexistent directory "e:/mspgcc/msp430/sys-include"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/include"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/lib/gcc-lib/msp430/3.2.3/includ
e"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/lib/gcc-lib/msp430/3.2.3/../../
../../msp430/sys-include"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/lib/gcc-lib/msp430/3.2.3/../../
../../msp430/include"

#include "..." search starts here:

#include <...> search starts here:

 .

 e:/mspgcc/msp430/include

 e:/mspgcc/lib/gcc-lib/msp430/3.2.3/include

 e:/mspgcc/msp430/include

End of search list.

bic_bug.c:7: syntax error before string constant

make: *** [bic_bug.o] Error 1

 

5.      running preprocessor:

 

msp430-gcc -E -v  -mmcu=msp430x5438 -g -O3 -Wall -Wcast-align -Wcast-qual
-Wimplicit -Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wpointer-arith -Wredundant-decls -Wreturn-type -Wshad

ow -Wstrict-prototypes -Wswitch -Wunused -I. -Ie:/mspgcc/msp430/include
-fno-exceptions -fno-rtti -Wa,-adhlns=bic_bug.c  bic_bug.c -o bic_bug.i

Reading specs from e:\mspgcc\bin\..\lib\gcc-lib\msp430\3.2.3\specs

Configured with: ./configure --target=msp430
--prefix=c:/work/mspgcc/sf/packaging/build/installed --disable-multilib
--disable-libc --disable-libssp --disable-intl --disable-libiberty
--with-gcc --wit

h-gnu-ld --with-gnu-as --with-stabs --disable-shared --disable-threads
--disable-win32-registry --disable-nls --enable-languages=c,c++

Thread model: single

gcc version 3.2.3

 e:\mspgcc\bin\..\lib\gcc-lib\msp430\3.2.3\cpp0.exe -lang-c -v -I.
-Ie:/mspgcc/msp430/include -iprefix
e:\mspgcc\bin\..\lib/gcc-lib/msp430\3.2.3\ -D__GNUC__=3 -D__GNUC_MINOR__=2
-D__GNUC_PATCHLEVEL__=

3 -D__GXX_ABI_VERSION=102 -DMSP430 -D__MSP430__ -D__MSP430 -D__OPTIMIZE__
-D__STDC_HOSTED__=1 -DMSP430_HAS_HW_MUL -D__MSP430_5438__ -D__MSP430X2__
-DMSP430_HAS_HWMUL -D__SIZE_TYPE__=unsigned int -D__P

TRDIFF_TYPE__=int -D__INT_MAX__=32767 bic_bug.c -o bic_bug.i -Wall
-Wcast-align -Wcast-qual -Wimplicit -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -W

return-type -Wshadow -Wstrict-prototypes -Wswitch -Wunused

GNU CPP version 3.2.3 (cpplib) (GNU assembler syntax)

ignoring nonexistent directory "e:/mspgcc/msp430/sys-include"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/include"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/lib/gcc-lib/msp430/3.2.3/includ
e"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/lib/gcc-lib/msp430/3.2.3/../../
../../msp430/sys-include"

ignoring nonexistent directory
"c:/work/mspgcc/sf/packaging/build/installed/lib/gcc-lib/msp430/3.2.3/../../
../../msp430/include"

#include "..." search starts here:

#include <...> search starts here:

 .

 e:/mspgcc/msp430/include

 e:/mspgcc/lib/gcc-lib/msp430/3.2.3/include

 e:/mspgcc/msp430/include

End of search list.

 

6.      Preprocesor output:

 

# 1 "bic_bug.c"

# 1 "<built-in>"

# 1 "<command line>"

# 1 "bic_bug.c"

# 1 "e:/mspgcc/msp430/include/iomacros.h" 1

# 34 "e:/mspgcc/msp430/include/iomacros.h"

# 1 "e:/mspgcc/msp430/include/sys/inttypes.h" 1

# 38 "e:/mspgcc/msp430/include/sys/inttypes.h"

typedef signed char int8_t;

typedef unsigned char uint8_t;

 

typedef int int16_t;

typedef unsigned int uint16_t;

 

typedef long int32_t;

typedef unsigned long uint32_t;

 

typedef long long int64_t;

typedef unsigned long long uint64_t;

 

 

 

 

typedef int16_t intptr_t;

typedef uint16_t uintptr_t;

# 35 "e:/mspgcc/msp430/include/iomacros.h" 2

# 2 "bic_bug.c" 2

 

 

 

 

 

extern "C" interrupt( 114) isr_func(void)

{

        __asm__ __volatile__ ( "bic %0, .L__FrameOffset_" __FUNCTION__
"(r1)" : : "ir" ((uint16_t) (1<<5)) );

}

 


#include <iomacros.h>


#define USCI_A0_VECTOR 114
#define OSCOFF (1<<5)

extern "C" interrupt( USCI_A0_VECTOR) isr_func(void)
{
        __bic_SR_register_on_exit( OSCOFF );
}

# 1 "bic_bug.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "bic_bug.c"
# 1 "e:/mspgcc/msp430/include/iomacros.h" 1
# 34 "e:/mspgcc/msp430/include/iomacros.h"
# 1 "e:/mspgcc/msp430/include/sys/inttypes.h" 1
# 38 "e:/mspgcc/msp430/include/sys/inttypes.h"
typedef signed char int8_t;
typedef unsigned char uint8_t;

typedef int int16_t;
typedef unsigned int uint16_t;

typedef long int32_t;
typedef unsigned long uint32_t;

typedef long long int64_t;
typedef unsigned long long uint64_t;




typedef int16_t intptr_t;
typedef uint16_t uintptr_t;
# 35 "e:/mspgcc/msp430/include/iomacros.h" 2
# 2 "bic_bug.c" 2





extern "C" interrupt( 114) isr_func(void)
{
        __asm__ __volatile__ ( "bic %0, .L__FrameOffset_" __FUNCTION__ "(r1)" : : "ir" ((uint16_t) (1<<5)) );
}

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users