summaryrefslogtreecommitdiff
path: root/src/arch/msp430fr5994lp-256k
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2020-03-25 12:15:49 +0100
committerDaniel Friesel <daniel.friesel@uos.de>2020-03-25 12:15:49 +0100
commit029cda0ee7311ee887adebccda82ec0da764a726 (patch)
tree9905f9c1066a97244630b54d530feff0caa881d9 /src/arch/msp430fr5994lp-256k
parentcdd2c91952da3655fa960ef69bb6993cf5738be6 (diff)
msp430fr5994lp-256k: aspectc support
AspectC++ is not aware of the type "__int20", so we need to map it to a type known to AspectC++ (only for ag++, not g++) and fix its autogenerated constructor signatures.
Diffstat (limited to 'src/arch/msp430fr5994lp-256k')
-rwxr-xr-xsrc/arch/msp430fr5994lp-256k/g++wrap11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/msp430fr5994lp-256k/g++wrap b/src/arch/msp430fr5994lp-256k/g++wrap
new file mode 100755
index 0000000..df8c7ab
--- /dev/null
+++ b/src/arch/msp430fr5994lp-256k/g++wrap
@@ -0,0 +1,11 @@
+#!/bin/zsh
+
+echo "> $@"
+
+for i in {1..$#}; do
+ if [[ $argv[$i] == *_agxx_* && -f $argv[$i] ]]; then
+ sed -i 's/inline void \* operator new (unsigned int,/inline void * operator new(__int20 unsigned,/' $argv[$i]
+ fi
+done
+
+exec /opt/msp430/ti/msp430-gcc-full-linux-5.1.2.0/bin/msp430-elf-g++ "$@"