luoliwoshang
dac3365c73
cl,build: support //export with different names on embedded targets
...
Add support for using different C symbol names in //export directives
when compiling for embedded targets (enabled via -target flag).
This is for TinyGo compatibility on embedded platforms where hardware
interrupt handlers often require specific naming conventions.
Implementation:
- Add EnableExportRename() to control export rename behavior
- Add isExport parameter to initLink callback for context awareness
- Update initLinknameByDoc() to handle export rename logic:
* When isExport && enableExportRename: allow different names
* Otherwise: require name match
- Clean error handling in initLink():
* export + enableExportRename: silent return (already processed)
* export + !enableExportRename: panic with clear error message
* other cases: warning for missing linkname
Example:
//export LPSPI2_IRQHandler
func interruptLPSPI2() { ... }
The Go function is named interruptLPSPI2 but exported as
LPSPI2_IRQHandler for the hardware vector table.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-10 18:52:36 +08:00
Li Jie
729e5772a0
process //export with initLink
2025-09-11 08:53:17 +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
visualfc
d7f2f4efdd
cl: patchType check func signature
2025-07-03 20:48:51 +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
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
c3407eac5e
cgo: supports //export functions only calls in C
2024-11-27 20:24:53 +08:00
Li Jie
90763de93c
cgo: supports c/go callback funcs
2024-11-27 18:41:56 +08:00
Li Jie
d6c527f662
cgo: support macros
2024-11-27 18:41:56 +08:00
Li Jie
43c4a3bfdc
test: enable debug testing
2024-11-26 15:43:34 +08:00
Li Jie
e732e5158e
cl: fix package patching
2024-11-25 11:36:26 +08:00
Li Jie
9f0b3963cb
cgo: support full cgo tags
2024-11-15 16:08:24 +08:00
Li Jie
a64f4219e9
cgo: full supports cgo preambles and auto compile c files
2024-11-14 23:44:25 +08:00
Li Jie
ec38943c53
cl: compile cgo
2024-11-13 20:32:08 +08:00
visualfc
38091b2021
ssa: func Instantiate
2024-10-30 21:39:30 +08:00
visualfc
ce87f293aa
ssa: fix map key has typeargs
2024-10-30 20:22:05 +08:00
Li Jie
88cb607975
debug: supports scope (if, for)
2024-09-30 10:15:47 +08:00
Li Jie
e392956e2a
debug: fix basic types
2024-09-27 21:36:12 +08:00
Li Jie
2e042f0c59
lldb: fix struct vars debugging
2024-09-27 21:36:08 +08:00
Li Jie
6c18dc63aa
build: enable ssa.GlobalDebug when LLGO_DEBUG=1 enabled, enable ssa.NaiveForm when LLGO_OPTIMIZED=0
2024-09-24 14:16:49 +08:00
Li Jie
dad22b1686
cl: switch debug symbols with LLGO_DEBUG
2024-09-22 11:52:23 +08:00
Li Jie
f71e34fd9f
ssa: fix function and global var debug info scope
2024-09-20 17:14:27 +08:00
Li Jie
d89b68a279
cl: don't declare var of ssa.Alloc and ssa.FieldAddr
2024-09-20 12:20:46 +08:00
Li Jie
f4089bc164
ssa: struct debug info creation supports resursive
2024-09-19 09:45:26 +08:00
Li Jie
b0f04d91bf
cl: fix dbg.declare (and local var)
2024-09-18 23:47:48 +08:00
Li Jie
87f6c8087f
ssa: debug info of global variable
2024-09-18 22:17:49 +08:00
Li Jie
90a83c8f11
ssa: debug info of function/closure
2024-09-18 21:14:04 +08:00
Li Jie
d85a080f9b
ssa: support string and pointer debug info, fix params debugging
2024-09-18 21:14:04 +08:00
Li Jie
53097ab183
fix debug info of struct parameter,
2024-09-18 21:14:04 +08:00
Li Jie
9978a370f1
x
2024-09-18 21:14:04 +08:00
Li Jie
7ddc8c6aeb
increase coverage rate
2024-09-18 21:14:04 +08:00
Li Jie
d8838503b2
generate llvm.dbg.value
2024-09-18 21:14:04 +08:00
Li Jie
78b7742354
fix argNo with 1-based index
2024-09-18 21:14:04 +08:00
Li Jie
db128dbc40
test: debug symbols generation
2024-09-18 21:14:04 +08:00
Li Jie
d6f87a8254
rename debug info class/funcs
2024-09-18 21:14:04 +08:00
Li Jie
4c5f37db0f
debug symbols switch
2024-09-18 21:14:04 +08:00
Li Jie
3e5338c902
ssa: add llvm debug info
2024-09-18 21:14:04 +08:00
visualfc
b7088510c5
cl: remove checkInstanceNamed
2024-09-09 11:36:39 +08:00
visualfc
3bdb921ee5
cl: processPkg check runtimeTypes for generic method
2024-09-09 11:22:03 +08:00
visualfc
2feb3e1d7a
ssa: prog.linkname; abi llvm.LinkOnceAnyLinkage always
2024-08-20 21:11:27 +08:00
visualfc
3435b6c4a4
cl: makeInterface check instance named
2024-08-13 21:59:19 +08:00
visualfc
302386d22c
ssa: SliceToArrayPointer
2024-08-09 09:02:57 +08:00
visualfc
108829ad9c
cl: build initAfter
2024-08-08 21:36:18 +08:00
Aofei Sheng
482f796bad
ssa: add llgo:link support to Builder.abiMthd
2024-08-04 11:00:31 +08:00
xushiwei
3881db0b4e
compileFuncDecl todo: change ssa.If to ssa.Jump for func init
2024-07-28 21:57:32 +08:00
visualfc
6c7db7ad23
build: patch io.pipe
2024-07-28 17:01:34 +08:00
visualfc
2986426251
cl: fix pkg init hasPatch
2024-07-28 16:52:03 +08:00