Comments (6)
to be clear: I understand these files are generated with gocc
, but:
- it would be easier to incorporate them in git (so the casual user wouldn't have to install
gocc
and regenerate them) - it would allow
llir/llvm/...
to be go-get-able
one could also create a go:generate
directive to automate all of this.
(I can send a PR for the above)
from llvm.
Hi Sebastien,
Glad to hear from you. Hope you had a great winter holidays : )
You are correctly pointing out that these files need to be generated at the current stage of the project.
The intention is to check them into git once the project matures, so that llir/llvm/...
becomes go get:able.
The reason the files have not been included yet is simply to limit noise and decrease the download size of the repository as the gocc generated Go source files change a lot each time the BNF grammar for LLVM IR is updated.
one could also create a go:generate directive to automate all of this.
The Makefile could indeed be replaced by go:generate
directives, and that works just fine for me. It would however not make the package go get:able, as go get
does not run go generate
automatically and this is by design. Using go:generate
directives may still make it easier for developers and simplify the installation instructions during the current development stage.
As mentioned above, once the library matures, the generated source files will definitely be checked into the git repository to make the llir/llvm
project go get:able.
If you do wish to send a PR for the go:generate
approach, feel free : ) I'd be happy to include it, as long as it doesn't do anything too magical : )
Cheers /u
from llvm.
Marked this issue with the v0.2
milestone, so that we may include the generated Go source files for each release of llir/llvm
.
from llvm.
Hi @sbinet!
Just wanted to let you know that llir/llvm is steadily moving closer to a v0.2 release, at which point the source files for the generated parser will be checked into the repo; thus making llir/llvm go:getable : )
More specifically, the v0.2 release will happen as soon as the remaining items on the todo list for read support have been implemented.
Cheers /u & i
from llvm.
@sbinet Just to let you know. We are preparing the v0.2 release of llir/llvm, and as such the project should be go-getable within the next few days :)
Cheers /u & i
from llvm.
Fixed in rev 6fcd246.
@sbinet The llir/llvm packages are now go-getable :)
from llvm.
Related Issues (20)
- ast parse error HOT 10
- `SRet` struct location HOT 3
- How to use Function Pointers? HOT 3
- Wrong function pointer type HOT 1
- indirect br only takes constant addr HOT 1
- Returning void as a value HOT 3
- update llir/llvm to support 14.0 HOT 2
- update llir/llvm to support LLVM 15.0 HOT 7
- How to have two structs referencing eachother HOT 4
- How to convert to exe? HOT 3
- `module.NewTypeDef` has unexpected side effects HOT 17
- Provide working Hello, World example HOT 1
- support llvm 16.0.0 HOT 2
- incorrect cmpxchg signature HOT 4
- How to generate ir for embedded struct? HOT 6
- Convert to string HOT 1
- Hello 10 instead of Hello world. Passing a IntPtr to printf (go - LLIR/LLVM) HOT 3
- malloc and strcpy in LLVM HOT 1
- unable to generate LLVM: structure, external , noundef and ptr HOT 1
- No way to find underlying type of pointer or array HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llvm.