xgopilot
060a2dea06
feat: support //export with different symbol names for embedded targets
...
Implements support for TinyGo-style //export directive that allows
exporting functions with symbol names different from the Go function name.
This is essential for embedded development where hardware specifications
require specific symbol names (e.g., ARM Cortex-M interrupt handlers like
LPSPI2_IRQHandler, SysTick_Handler).
Changes:
- Modified cl/import.go to support two export formats:
1. //export ExportName (TinyGo-style, export name can differ from function name)
2. //export FuncName ExportName (Go-style, explicit function and export names)
- Added test case in _demo/embedded/export_test/ with nm verification
Example usage:
//export LPSPI2_IRQHandler
func interruptLPSPI2() {
// exported as LPSPI2_IRQHandler
}
Fixes #1378
🤖 Generated with [codeagent](https://github.com/qbox/codeagent )
Co-authored-by: luoliwoshang <51194195+luoliwoshang@users.noreply.github.com >
2025-10-31 03:31:39 +00:00
visualfc
5592a8fc26
ssa: fix abiTupleOf
2025-09-25 20:16:44 +08:00
visualfc
7323187f90
ssa: impl builtin alignof offsetof
2025-09-18 21:16:06 +08:00
Li Jie
3605eeeef7
export c header file for build library
2025-09-11 14:07:58 +08:00
Li Jie
729e5772a0
process //export with initLink
2025-09-11 08:53:17 +08:00
visualfc
5dbf1a7561
cl/_testrt/vamethod: optimize code
2025-09-09 17:25:22 +08:00
visualfc
fd17a43ade
cl: interface support __llgo_va_list
2025-09-09 16:51:08 +08:00
visualfc
89af430329
cl: embed struct support __llgo_va_list
2025-09-09 16:14:25 +08:00
luoliwoshang
f3de14da4b
cl/instr:note for why asm not support pointer type:
2025-08-22 16:14:57 +08:00
luoliwoshang
49b9b92790
ci/instr:fix asmFull return type to match function signature when no output
2025-08-22 15:01:59 +08:00
luoliwoshang
d9dc4d5943
cl/instr:move to one asm
2025-08-21 23:44:46 +08:00
luoliwoshang
04f613dd15
cl/test:asmFull error
2025-08-21 23:44:46 +08:00
luoliwoshang
0faef117ca
cl/instr:refine register collect
2025-08-21 23:44:46 +08:00
luoliwoshang
f6bc5ac538
cl/instr:regexp compile one time
2025-08-21 23:44:46 +08:00
luoliwoshang
26fb156d6b
cl/instr:only permit interger at asmfull
2025-08-21 23:44:46 +08:00
luoliwoshang
9dfc6d1d52
ssa:refine asmFull interface
2025-08-21 23:44:46 +08:00
luoliwoshang
6beb50b367
cl/instr:asmFull test case with multiple input & output
2025-08-21 23:44:46 +08:00
luoliwoshang
9e0c50dafe
cl/instr:asmFull test case with input only
2025-08-21 23:44:46 +08:00
luoliwoshang
f5d4f93ed7
ssa:inlineAsmFull
2025-08-21 23:44:46 +08:00
luoliwoshang
ae36ef4a0e
cl/instr:replace register & build constraints
2025-08-21 23:44:46 +08:00
luoliwoshang
485dbe4021
cl/instr:asm with two situation
2025-08-21 23:44:46 +08:00
xushiwei
cbac24cf97
Merge pull request #1188 from visualfc/cabi
...
cabi transform
2025-08-19 14:56:10 +08:00
luoliwoshang
afee2beebe
cl/instr:rm llgoAsmBase
2025-08-17 18:41:38 +08:00
luoliwoshang
a148964878
feat:llgo.Asm
...
test:asm test with `nop`
2025-08-17 16:50:16 +08:00
visualfc
7b36cca86b
_demo/cabi: abi test demo
2025-08-12 09:46:03 +08:00
xushiwei
6940a5846b
Merge pull request #1210 from visualfc/ssa_typeassert
...
ssa: fix TypeAssert check null
2025-08-08 19:48:27 +08:00
visualfc
56f90dbcf9
ssa: fix TypeAssert check null
2025-08-08 12:11:17 +08:00
visualfc
54dfd3c701
ssa: PyVal support pointer to long
2025-08-07 20:39:35 +08:00
visualfc
36fa18b28c
ssa: PyVal support py bytes
2025-07-30 12:12:19 +08:00
visualfc
2538be9318
ssa: PyVal support pyfunc
2025-07-29 20:55:56 +08:00
visualfc
0a6588c348
ssa: PyVal support bool,int,uint,string,bytearray,complex
2025-07-29 16:08:09 +08:00
visualfc
d7f2f4efdd
cl: patchType check func signature
2025-07-03 20:48:51 +08:00
luoliwoshang
6e8f3d1d19
test(build):collect llgo test ./... output to test
2025-06-25 15:38:20 +08:00
xushiwei
4f6f1c4453
#1165 cpkgimp: import c package
2025-06-23 22:58:26 +08:00
xushiwei
915cdf2c23
#1165
2025-06-23 22:01:42 +08:00
xushiwei
b7b6e3bc93
testFrom: use test.Diff
2025-06-23 21:14:26 +08:00
xushiwei
e9c96390e6
Merge pull request #1151 from luoliwoshang/internal/build/testdir
...
internal/build:switch workdir from testpkg like go behavior
2025-06-22 15:26:07 +08:00
visualfc
2118849d27
cl/_testgo/reflectmkfn
2025-06-13 09:13:48 +08:00
luoliwoshang
48bd1d46af
internal/build:switch workdir from testpkg like go behavior
2025-06-12 16:49:40 +08:00
visualfc
cfc8687851
lib/reflect: fix closure pointer
2025-05-16 12:00:59 +08:00
visualfc
c4f0dd124d
cl: funcName check $bound
2025-05-15 21:12:18 +08:00
visualfc
e8a91696d6
go.mod go1.23
2025-05-05 10:19:23 +08:00
xushiwei
e2e2cb38be
fix #965
2025-04-26 22:23:36 +08:00
Li Jie
8512395985
AllocCStr allocates on heap
2025-04-11 16:28:48 +08:00
Li Jie
5f4b09bede
regenerate snapshot tests
2025-04-08 11:13:00 +08:00
Li Jie
c8d791f206
fix llgo test unit test
2025-04-03 16:32:46 +08:00
Li Jie
ed366568b4
move out c/cpp/py
2025-04-03 16:26:11 +08:00
Li Jie
1172e5bdce
build: separate compiler and libs
2025-01-08 14:59:01 +08:00
Li Jie
239ac496b2
test: map/slice clear
2025-01-08 14:59:00 +08:00
Li Jie
b3f4716616
runtime: patch internal/filepathlite
2025-01-08 14:58:59 +08:00