Commit Graph

680 Commits

Author SHA1 Message Date
xgopilot
034b05c53c cl: remove Underlying() call to reject string type aliases in rewrites
Type aliases like `type T string` are no longer supported for
-ldflags -X rewrites. Only direct *string types are now allowed.

- Removed Underlying() call from isStringPtrType
- Added TestRewriteIgnoresStringAlias test case

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: cpunion <8459+cpunion@users.noreply.github.com>
2025-11-14 14:49:30 +00:00
xgopilot
1ba7d1e561 fix: change to isStringPtrType for global string var
- Replace isStringType with isStringPtrType to properly validate that only *string type variables can be rewritten with -ldflags -X
- Remove maxStringTypeDepth constant as it's no longer needed
- Update tests to reflect the new function name and add test case for valid *string type
- Fix compileGlobal to use gbl.Type() for accurate type checking

This addresses the review feedback that Go only allows -X rewrites for the basic string type, not derived types like "type T string".

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: cpunion <8459+cpunion@users.noreply.github.com>
2025-11-14 14:38:46 +00:00
xgopilot
d17ff2592a build: improve error handling and code quality
- Fix missing error handling in exportObject function
- Add explicit warning for non-string variable rewrites
- Improve documentation for maxRewriteValueLength constant

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: cpunion <8459+cpunion@users.noreply.github.com>
2025-11-14 11:37:09 +00:00
Li Jie
4b26cccc90 cl: cover rewrite guards 2025-11-14 18:29:00 +08:00
Li Jie
3a1d8693e9 rewrite: address review feedback 2025-11-14 17:57:05 +08:00
Li Jie
2a52d422c5 cl: broaden rewrite coverage 2025-11-14 17:48:16 +08:00
Li Jie
b0f5d34b39 cl: add rewrite coverage test 2025-11-14 17:32:52 +08:00
Li Jie
22a43622a0 cl: fix global var rewrite in alt pkg 2025-11-14 16:58:30 +08:00
Li Jie
9b76be9e9e support ldflags rewrites for initialized globals 2025-11-14 11:59:13 +08:00
Li Jie
21fef123d2 di: clean unreachable code 2025-11-13 15:48:50 +08:00
Li Jie
cb173f91d0 ssa: rely on runtime thread defer TLS 2025-11-13 15:48:49 +08:00
Li Jie
16709411a0 defer: enable loop lowering 2025-11-13 15:48:46 +08:00
xushiwei
0dbe528e6d Merge pull request #1304 from MeteorsLiu/impl-stacksave
feat: implement `llgo.stackSave`
2025-11-13 07:48:01 +08:00
luoliwoshang
4e374a99ff test:refression test for https://github.com/goplus/llgo/issues/1370
Co-authored-by: xgopilot <noreply@goplus.org>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-06 21:02:36 +08:00
Haolan
2ec5653f5e feat: implement llgo.stackSave 2025-09-28 09:20:50 +08: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