Commit b190c7c7 authored by Jonathan McDowell's avatar Jonathan McDowell

New upstream version 0.35+git20181129+dfsg

parent 88adfd51

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

# Contributing to GHDL
GHDL is a free and open source software brought to you with :heart: by [@tgingold](https://github.com/tgingold) and [contributors](https://github.com/ghdl/ghdl/graphs/contributors). So, first off, thanks for taking the time to contribute. We need all the help we can get :thumbsup:
- Found a bug? See how to [report a bug](http://ghdl.readthedocs.io/en/latest/contribute.html#reporting-bugs) and open a [Bug report](https://github.com/ghdl/ghdl/issues/new?template=bug_report.md).
- Got a feature idea? See how to [request enhancements](http://ghdl.readthedocs.io/en/latest/contribute.html#requesting-enhancements) and open a [Feature request](https://github.com/ghdl/ghdl/issues/new?template=feature_request.md).
- Want to contribute modifications to the codebase? See how to [contribute modifications](http://ghdl.readthedocs.io/en/latest/contribute.html#fork-modify-and-pull-request) and open a [Pull Request (PR)](https://github.com/ghdl/ghdl/compare/).
- Spread the word. Talk to your friends and colleagues about how awesome GHDL is!
- If you want to have any specific talk, e.g. add VHDL design examples, come to [gitter.im/ghdl1/Lobby](https://gitter.im/ghdl1/Lobby).
---
name: Bug report
about: Create a report to help us improve
---
**Description**
A clear and concise description of what the issue is about.
**Expected behaviour**
What you expected to happen, and what is happening instead.
**Context**
Please paste the `GHDL Bug occurred` log block here. Also, provide the following information:
- OS:
- Origin:
- [ ] Package manager. Repo:
- [ ] Released binaries. Tarball:
- [ ] Built from sources. Commit SHA:
**Additional context**
Add any other context about the problem here. If applicable, add screenshots to help explain your problem.
**How to reproduce?**
Tell us how to reproduce this issue. Please provide a Minimal Working Example (MWE), that is compatible with [issue-runner](https://github.com/1138-4EB/issue-runner). With sample code it's easier to reproduce the bug and it's much faster to fix it. For example:
```
#>> ent.vhd
entity ent is
end entity;
architecture a of ent is
begin
process begin
report "Hello world" severity note;
wait;
end process;
end;
#>> sim.sh
ghdl -a ent.vhd
ghdl --elab-run ent
#>> run.sh
docker run --rm -tv /$(pwd):/src:z -w //src ghdl/ghdl:buster-mcode sh -c ./sim.sh
#>> end
```
Note that `run.sh` is used to execute `sim.sh` inside a docker container. Please, put your commands in `sim.sh` and just copy `run.sh` from the example. Using `ghdl/ghdl:*` docker images to run the MWEs ensures that the latest available GHDL is used.
**Files**
A list of relevant files for this issue. Large files can be uploaded one-by-one or in a tarball/zipfile. See [1138-4EB/issue-runner#parser](https://github.com/1138-4EB/issue-runner#parser).
**Checklist**
Before submitting your issue, please review the following checklist:
- [ ] Add `GHDL Bug occurred` log block
- [ ] Add a MWE
- [ ] Try the latest version
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
Add a clear and concise description of what the problem is. E.g. *I'm always frustrated when [...]*
**Describe the solution you'd like**
Add a clear and concise description of what you want to happen.
**Describe alternatives you've considered**
Add a clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
**Description** Please explain the changes you made here.
If the feature changes current behaviour, explain why your solution is better.
:rotating_light: Before submitting your PR, please read [contribute](http://ghdl.readthedocs.io/en/latest/contribute.html#fork-modify-and-pull-request) in the [Docs](http://ghdl.readthedocs.io/en/latest/index.html), and review the following checklist:
- [ ] DO indicate which issues are either fixed or closed by this PR. See [GitHub Help: Closing issues using keywords](https://help.github.com/articles/closing-issues-via-commit-messages/).
**When contributing to the GHDL codebase...**
- [ ] DO make sure you are requesting to **pull a topic/feature/bugfix branch** (right side). Don't request your master!
- [ ] DO make sure you are making a pull request against the **master branch** (left side). Also you should start *your branch* off *our master*.
- [ ] DO make sure that GHDL can be successfully built. See [Building GHDL](https://github.com/ghdl/ghdl#building-ghdl).
- [ ] CONSIDER adding a unit test if your PR resolves an issue.
- [ ] CONSIDER modifying the docs, at least in the TODO, if your contribution is relevant to any of the content.
- [ ] AVOID breaking the continuous integration build.
- [ ] AVOID breaking the testsuite.
**When contributing to the docs...**
- [ ] DO make sure that the build is successful. See [ghdl/ghdl#572 (issuecomment-390466024)](https://github.com/ghdl/ghdl/issues/572#issuecomment-390466024).
**Further comments**
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did, what alternatives you considered, etc.
:heart: Thank you!
......@@ -8,33 +8,13 @@ sudo: required
services: docker
language: minimal
install: skip
script: "./dist/linux/travis-ci.sh"
script: "./dist/travis/travis-ci.sh"
addons:
apt:
packages:
- docker-ce
deploy:
- &deploy-docker
provider: script
skip_cleanup: true
script: ./dist/linux/deploy2dockerhub.sh "$IMAGE" "$TRAVIS_COMMIT_MESSAGE"
on:
repo: 1138-4EB/ghdl
branch: master
- &deploy-releases
provider: releases
skip_cleanup: true
api_key:
secure: ji6LXOmD5V2N+ELHZr4oJsmxPhedk+8W6jfCqQdEbewQ42N+fKOq3lgqJni7ZdfpZaulB9OHPTApv3bwOjXjtN9rfBGmq//U9CwvzHmUeomdQv6WQOVevaWSXl3DNL9fk3yKynyFrsv4pvr45L8GIjaHLggKcYhNFPJ2rrnJlDoFT9MqQNpmP7Bg/LnwVQiv+ZDPkLlMWQzrXzLamdQILARPQka+kCdXl/sHH6OKvLgRvu9yvyXYSSfbyAHP+THISS5gDciizSBeWGlU75kgj/N+mkV+8NvtTTfEIgG8y49WJz6aBooTmRzk/jZW1dKMbDR6c5bpTmRvMZSzeSBuAR6WLhr6HevgCPi/1fX1y3pkVSrgBUF5KcxPgWCZp0I05QjaJOdvQDl1hH4TlVwpT18lM2+cWrui9fS7spnk/AuNKX882C5QWWRy28lIPasCVnwfeKX8a9KAwY9OqVOenoLC1yx7NJOGfH1bjuSYYxyR4XgLiGTHKALAuknCyD9QL0o378IwqxHMcsN0Gsd+GndMu0/b8GvSqfzDpV1XknqabQFwkZLs+Yydw0snfBUzXw9TfOk78IiPYEgXAxsQKBAkK7qvO36HIxLlSQXglXU1D4IDtQYDUel6vKll4pgu0WMxStQCbj51yDVJKvRhzwiBNC6Pwgzt2JTrpwM/T/U=
file: "ghdl-*.tgz"
file_glob: true
on:
repo: ghdl/ghdl
all_branches: true
tags: true
# For each linux build, a different job/instance (with the constraints
# above) is executed in parallel in stage 'test'.
env:
......@@ -45,38 +25,35 @@ env:
# - IMAGE=buster+mcode+gpl
- IMAGE=ubuntu14+mcode
- IMAGE=ubuntu14+llvm-3.8
# - IMAGE=ubuntu16+mcode
# - IMAGE=ubuntu16+llvm-3.9
# - IMAGE=ubuntu18+mcode
# - IMAGE=ubuntu18+llvm-5.0
- IMAGE=fedora26+mcode
# - IMAGE=fedora26+llvm
global:
- secure: "MZHtYkWdYK+SeYzJvWD8I0tbkdHGjmWyNDn70a2RrNYFu363Zt51ZvksEtkjrS7kdje6l6VPfLjilX5UtywIM1Mg6nt/rsw4p62+bGhMyhfXiqS3eqEfH2sThjosy773X8iotm2sW0ax0oHX07ZLcuTbZ+TK2cMGarZ+LzNT8IiMaeaWu4W7aE5LRxSmVRwcACUOa3NiC7GY/qC7vU2C8QNdXSlU3fSp17K5eccrkkBuiEhRTsdr3ZIhjOjrYzqHKWC3a0uHn/fJsbepsVM6FGt+zAwo0VqdXXCE2ts8EOATvFgEaCGxUgfGd/yvNsAG7sjF3nweR9Z11dpMbBE+TjxlLCXQ31v1Oj7pH6vcgjCYV69cZiLbsDhxTJFQ08qbm3xK8dmTUXFy1scrMSd8D/Q3Uf0LjHkH5Q5dL8TOyqejs57fUTIBtBUpCTvvGOErdZQAOWJc93sC9RQB7BuCDR2yR7rPTJr4KUwspe1uScA/H9cQS2p42SeJ4+Yyjtwod3IQWjr6+/pdNPoImleOP0dXSDCXpAIsbv6TR9curS3geLJuTmu5UnLzbURDr7Whtop3lCPbiN0H9jThSuyIxWUI+6JDGDG89RXbCyZvGz97sIShYstWg0U0xLWmw9IDez2HtK5VKuTT/hE7gDicZ0erN6r1dlix3SpuCtH1MlA=" #U
- secure: "kIA09oCHzoHMK4LsfwcaVaMuoAFpd1M+M8tW3b9Rvki/hEB3y46edlb88lWVM7RgkNoCaIPwAZD7Wf3Xiq9Y7wWmqRsWQNRaorC0xke5SuyMwCSQSNo9S5jAu9SM5uxENCH9yucJl/vm2juYitJCHyYYMb4x17fy3sHKULNJ+JBqnrgOuTBYM1JOIkJVO1P5LqEXmqTtr6KgQgiTMtlvnM7hxjapgoyM3J1376f+Kfky0hUoDD7LFLXu8yQCn5Fnar8wR3czK6Qknafmckt5yWJxGOZobMDfKwOdA0fpU+XiArNQ/1NM80fGXq4YOGK5ycVQkO2ACxDqHYfQRYLlIfrUGp75BoXWwN6O1GoOrFcF7ZIoSaLoK3hZdvzRFT7dpUQFlosn00Y7VzqbosQM5QS5TBBqO+DExnkb399OpXI7o0lrlr232kjAeYqEb6N1n3M9BpiNW9Je4plJa/RDKwYsnC8Qak4G08PVTe6V711W1UtqMPd6efWFYTNvRW9tjO3v1lFGaGJ99ABP0AYLIDYWV3zfgvp0UzQOKFdWJj7dMQxdLMQ/bIETKn8P7NFjOWic4pgtp3zekZCL27blhc0fyHm62HUiVLT+VGFOI/nyclzBIZStSVuxPj2LvmAIiMnUNmWwds1ZqIZ21eiNykkn+k52ddTRHXIh2fhvWfg=" #P
- IMAGE=fedora28+mcode
- IMAGE=fedora28+llvm
stages:
- create ghdl/build and ghdl/run images
- test
deploy:
provider: releases
skip_cleanup: true
api_key:
secure: ji6LXOmD5V2N+ELHZr4oJsmxPhedk+8W6jfCqQdEbewQ42N+fKOq3lgqJni7ZdfpZaulB9OHPTApv3bwOjXjtN9rfBGmq//U9CwvzHmUeomdQv6WQOVevaWSXl3DNL9fk3yKynyFrsv4pvr45L8GIjaHLggKcYhNFPJ2rrnJlDoFT9MqQNpmP7Bg/LnwVQiv+ZDPkLlMWQzrXzLamdQILARPQka+kCdXl/sHH6OKvLgRvu9yvyXYSSfbyAHP+THISS5gDciizSBeWGlU75kgj/N+mkV+8NvtTTfEIgG8y49WJz6aBooTmRzk/jZW1dKMbDR6c5bpTmRvMZSzeSBuAR6WLhr6HevgCPi/1fX1y3pkVSrgBUF5KcxPgWCZp0I05QjaJOdvQDl1hH4TlVwpT18lM2+cWrui9fS7spnk/AuNKX882C5QWWRy28lIPasCVnwfeKX8a9KAwY9OqVOenoLC1yx7NJOGfH1bjuSYYxyR4XgLiGTHKALAuknCyD9QL0o378IwqxHMcsN0Gsd+GndMu0/b8GvSqfzDpV1XknqabQFwkZLs+Yydw0snfBUzXw9TfOk78IiPYEgXAxsQKBAkK7qvO36HIxLlSQXglXU1D4IDtQYDUel6vKll4pgu0WMxStQCbj51yDVJKvRhzwiBNC6Pwgzt2JTrpwM/T/U=
file: "ghdl-*.tgz"
file_glob: true
on:
repo: ghdl/ghdl
all_branches: true
tags: true
jobs:
include:
# A single job is described in its own stage, to create and push ghdl/build and ghdl/run images.
- stage: create ghdl/build and ghdl/run images
env: IMAGE=""
script: if echo "$TRAVIS_COMMIT_MESSAGE" | grep -F -q "[ci images]"; then ./dist/linux/create.sh; fi;
deploy:
- <<: *deploy-docker
# A single additional job is described in stage 'test' for the macos build.
# Additional jobs are described in stage 'test' for the macos build.
# The constraints above are used, except explicitly overriden.
- stage: test
- &osx
os: osx
language: c
osx_image: xcode7.3
osx_image: xcode9.3
install: true
cache:
directories:
- gnat
env: IMAGE=macosx+mcode
deploy:
- <<: *deploy-releases
# - <<: *osx
# osx_image: xcode8.3
First off, thanks for taking the time to contribute!
Either to [report a bug](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html#reporting-bugs), [request enhancements](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html#requesting-enhancements) or to [contribute modifications](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html#fork-modify-and-pull-request), please read [Contributing](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html) in the [Docs](http://ghdl.readthedocs.io/en/doc-gcc/index.html).
......@@ -79,7 +79,7 @@ ifeq "$(build_mode)" "coverage"
OPT_FLAGS+=-fprofile-arcs -ftest-coverage
endif
GNATFLAGS=-gnaty3befhkmr -gnatwa -gnatf -gnat05 $(OPT_FLAGS) $(ADA_FLAGS)
GNATFLAGS=-gnaty3befhkmr -gnatwa -gnatf $(OPT_FLAGS) $(ADA_FLAGS)
GRT_FLAGS=$(OPT_FLAGS)
WARN_CFLAGS=-Wall
......@@ -184,7 +184,7 @@ install.mcode: install.mcode.program install.vhdllib install.vpi
oread-mcode$(EXEEXT): force
$(MAKE) -f $(srcdir)/src/ortho/mcode/Makefile \
ortho_srcdir=$(srcdir)/src/ortho ortho_exec=$@ \
GNAT_FLAGS="-aI$(srcdir)/src/ortho/oread $(GNATFLAGS)" all
GNATFLAGS="-aI$(srcdir)/src/ortho/oread $(GNATFLAGS)" all
#################### For gcc backend ##############################
......@@ -217,8 +217,9 @@ copy-sources.gcc: version.ads
5.*) gcc_ortho_lang=ortho-lang-5.c ;; \
6 | 6.*) gcc_ortho_lang=ortho-lang-6.c ;; \
7.*) gcc_ortho_lang=ortho-lang-7.c ;; \
8.*) gcc_ortho_lang=ortho-lang-8.c ;; \
*) echo "Mismatch gcc version from $(gcc_src_dir)"; \
echo "Need gcc version 4.9.x, 5.x, 6.x or 7.x"; \
echo "Need gcc version 4.9.x, 5.x, 6.x, 7.x or 8.x"; \
exit 1 ;; \
esac; \
$(CP) -p $(srcdir)/src/ortho/gcc/$$gcc_ortho_lang \
......@@ -250,7 +251,7 @@ GHDL_GCC_INCFLAGS=$(GHDL_COMMON_INCFLAGS)
ghdl1-gcc$(EXEEXT): version.ads force
$(MAKE) -f $(srcdir)/src/ortho/gcc/Makefile \
ortho_srcdir=$(srcdir)/src/ortho ortho_exec=$@ \
GNAT_FLAGS="$(GHDL_GCC_INCFLAGS) $(GNATFLAGS)" all
GNATFLAGS="$(GHDL_GCC_INCFLAGS) $(GNATFLAGS)" all
ghdl_gcc$(EXEEXT): version.ads force
$(GNATMAKE) $(GHDL_GCC_INCFLAGS) -aI$(srcdir)/src/ghdldrv \
......@@ -262,13 +263,13 @@ libs.vhdl.local_gcc: ghdl_gcc$(EXEEXT) ghdl1-gcc$(EXEEXT)
ghdl1-debug$(EXEEXT): version.ads force
$(MAKE) -f $(srcdir)/src/ortho/debug/Makefile \
ortho_srcdir=$(srcdir)/src/ortho ortho_exec=$@ \
GNAT_FLAGS="$(GHDL_GCC_INCFLAGS) $(GNATFLAGS)" \
GNATFLAGS="$(GHDL_GCC_INCFLAGS) $(GNATFLAGS)" \
GNATMAKE="$(GNATMAKE)" all
oread-gcc$(EXEEXT): force
$(MAKE) -f $(srcdir)/src/ortho/gcc/Makefile \
ortho_srcdir=$(srcdir)/src/ortho ortho_exec=$@ \
GNAT_FLAGS="-aI$(srcdir)/src/ortho/oread $(GNATFLAGS)" all
GNATFLAGS="-aI$(srcdir)/src/ortho/oread $(GNATFLAGS)" all
#################### For llvm backend ##############################
......@@ -296,6 +297,9 @@ libs.vhdl.llvmjit: ghdl_llvm_jit$(EXEEXT)
libs.vhdl.llvm: ghdl_llvm$(EXEEXT) ghdl1-llvm$(EXEEXT)
$(MAKE) -f $(srcdir)/libraries/Makefile.inc $(LIBVHDL_FLAGS_TO_PASS) GHDL=$(PWD)/ghdl_llvm$(EXEEXT) GHDL_FLAGS="--GHDL1=$(PWD)/ghdl1-llvm$(EXEEXT) $(LIB_CFLAGS)" vhdl.libs.all libs.vhdl.standard
libs.vhdl.debug-llvm: ghdl_llvm$(EXEEXT) ghdl1-debug$(EXEEXT)
$(MAKE) -f $(srcdir)/libraries/Makefile.inc $(LIBVHDL_FLAGS_TO_PASS) GHDL=$(PWD)/ghdl_llvm$(EXEEXT) GHDL_FLAGS="--GHDL1=$(PWD)/ghdl1-debug$(EXEEXT) $(LIB_CFLAGS)" vhdl.libs.all libs.vhdl.standard
ghdl_llvm$(EXEEXT): version.ads force
$(GNATMAKE) $(GHDL_LLVM_INCFLAGS) -aI$(srcdir)/src/ghdldrv $(GNATFLAGS)\
ghdl_llvm $(GNAT_BARGS) -largs $(LDFLAGS) $(GNAT_LARGS)
......@@ -303,7 +307,7 @@ ghdl_llvm$(EXEEXT): version.ads force
ghdl1-llvm$(EXEEXT): version.ads force
$(MAKE) <