Commit graph

148 commits

Author SHA1 Message Date
Martin Kinkelin
e52199469f Upgrade front-end & libs to v2.087.0-beta.1 2019-06-21 15:39:45 +02:00
Martin Kinkelin
b5fda2e59c Clean up front-end diff some more 2019-04-14 15:47:16 +02:00
Martin Kinkelin
9624834ccf Hide a few new LLVM 8 cmdline options 2019-03-02 19:54:36 +01:00
Martin Kinkelin
0530f08e9a Hide legacy cmdline options -dip<N> 2019-03-01 18:19:00 +01:00
Martin Kinkelin
b8dc871e81 Add cmdline options -preview and -revert
Reusing parsing and usage functionality from DMD, as the number of these
is likely to grow.
2019-03-01 18:19:00 +01:00
Martin Kinkelin
6c3d8b952e Add cmdline option -extern-std=c++{98,11,14,17} 2019-03-01 18:19:00 +01:00
Martin Kinkelin
40ca840560 Add cmdline option -verrors-context (-verrors=context for LDMD) 2019-03-01 18:19:00 +01:00
Martin Kinkelin
ef6bab0389 Add cmdline option -checkaction=context 2019-03-01 18:19:00 +01:00
Martin Kinkelin
8db8780a81 Re-sync LDMD cmdline usage help with upstream 2018-12-21 23:18:30 +01:00
Martin Kinkelin
d33b827f96 Don't let -d-debug (without arg) override previous asserts, contracts etc.
This is what DMD does AFAICT and fixes
https://github.com/ldc-developers/ldc/issues/599.
2018-12-21 22:30:00 +01:00
Martin Kinkelin
25dd4007e7 Don't let -release cmdline option override previous -{enable,disable}-{invariants,preconditions,postconditions,contracts}
This is a breaking change, conforming to new DMD semantics.
The previous semantics were inconsistent, as -{enable,disable}-asserts
and -boundscheck (as well as new -{enable,disable}-switch-errors)
weren't overridden.
2018-12-21 22:15:04 +01:00
Martin Kinkelin
2d539fa63d Add new cmdline option -checkaction=<D|C|halt> 2018-12-21 21:36:42 +01:00
Martin Kinkelin
40fcc3fd70 Add new cmdline option -{enable,disable}-switch-errors 2018-12-21 21:05:20 +01:00
Martin Kinkelin
389977d084 Add new cmdline option -mixin=<filename> 2018-12-21 20:17:50 +01:00
Martin Kinkelin
32ecbdd266 Upgrade front-end & libs to v2.084.0-beta.1 2018-12-18 02:31:57 +01:00
Andrey Penechko
7bcd6d34dd Add option '-fvisibility=<hidden|default>' able to hide symbols not marked as 'export' on non-Windows targets. Resolves #2431 (#2894) 2018-11-09 20:55:57 +01:00
Martin Kinkelin
4a23399236 Aim for consistent #includes (order + dir prefix)
I surely missed a few.
2018-10-20 16:19:46 +02:00
Martin Kinkelin
61a7e407ab Add new command-line option -transition=<dtorfields|14246> 2018-10-20 16:19:46 +02:00
Martin Kinkelin
5c24f60cf9
Raise min LLVM version to 3.9 (#2872) 2018-10-15 22:31:59 +02:00
Martin Kinkelin
3460eed679
Hide 3 new cmdline options introduced in LLVM 7 (#2871) 2018-10-06 21:20:23 +02:00
Martin Kinkelin
40cf784cbe Misc. merge fixes, minor adaptions 2018-08-17 21:31:53 +02:00
Martin
6812e0bcd4 Merge branch 'master' into merge-2.079
Conflicts:
	driver/cl_options.h
	driver/configfile.h
	ldc2.conf.in
	ldc2_phobos.conf.in
2018-04-22 14:31:31 +02:00
Martin
891234bbe4 Only set rpath when linking against shared default libs 2018-04-21 18:23:59 +02:00
Martin
fb7fd86d97 Merge branch 'master' into merge-2.079
Conflicts:
	runtime/druntime
	runtime/phobos
2018-04-21 16:01:26 +02:00
Martin
b64da9f056 Hide 4 new LLVM 6 cmdline options
-cost-kind, -import-all-index, -print-module-scope and
-stack-size-section.
2018-04-16 23:00:35 +02:00
Martin
3d0f5c28ac Implement (undocumented) cmdline option -Xi=<JSON field name> 2018-03-30 00:54:15 +02:00
Martin
49f4200946 Implement cmdline option -i[=<pattern>] (include imports) 2018-03-30 00:02:02 +02:00
Martin
197e65efde Merge branch 'master' into merge-2.078
Conflicts:
	driver/main.cpp
	gen/cl_helpers.h
	gen/declarations.cpp
	runtime/druntime
	tests/d2/dmd-testsuite
2018-01-20 11:20:17 +01:00
Martin Kinkelin
6b462b1018
Generalize defaultlibs cmdline help category to linking options (#2496) 2018-01-14 00:03:27 +01:00
Martin Kinkelin
4cdca83b19 Slightly extend list of LLVM options to be hidden (#2498) 2018-01-13 16:05:06 +00:00
Martin Kinkelin
1572c91fc0
Add -link-defaultlib-shared and rename -link-debuglib (#2443)
... to -link-defaultlib-debug (with alias for backwards compatibility).

-link-defaultlib-shared is to be used for switching between static and
shared default libs to be linked with.

It defaults to true when generating shared libraries (if shared
druntime/Phobos are supported for the target, i.e., not for Windows).
This is a benign breaking change!
2018-01-12 18:26:19 +01:00
Martin
614bf4100f Fix -boundscheck regression 2018-01-06 05:09:08 +01:00
Martin
d82b4a65e2 Add new switches -dip1008 and -transition=<intpromote|16997> 2018-01-06 03:20:36 +01:00
Martin
cfad799f48 Merge 2.078.0 front-end and stdlibs 2018-01-06 01:39:18 +01:00
Johan Engelen
7e7de7a69e
Move instrumentation options into their own .h/.cpp files. (#2472) 2017-12-28 11:44:51 +01:00
David Nadlinger
a10e957f8a driver: Update list of hidden options for LLVM 5.0 2017-12-15 22:51:03 +00:00
Nicholas Wilson
baf3654868
Fix compilation with most recent LLVM (#2428)
Fix LDC compilation with latest LLVM (Mostly renaming and moving headers).
2017-12-03 18:25:43 +08:00
Ivan
e53f7f4be1 Renaming 2017-11-09 21:44:25 +03:00
Ivan
33c6cbb807 Renaming 2017-11-09 21:29:32 +03:00
Ivan
8a6a549520 rename command line option 2017-11-09 21:12:42 +03:00
Ivan
3a34845395 Jit TLS workaround 2017-10-16 14:54:42 +03:00
Ivan
808f36b2d2 Merge remote-tracking branch 'origin/master' into runtime_compile_v5 2017-10-01 17:02:50 +03:00
kinke
ae9d43c167 Use LLVM headers for shared codegen command-line options (#2148)
I.e., llvm/CodeGen/CommandFlags.h which in turn includes
llvm/MC/MCTargetOptionsCommandFlags.h.

This gets rid of a few duplicates on our side and includes about 35
(depending on LLVM version) new command-line options. LLVM provides a
helper function to set up the TargetOptions according to (most of) these
options.
Newer LLVM versions may add new options and we'll automatically inherit
them, including setting up the TargetOptions accordingly.

I did my best (TM) to remove a few unused/undesirable options and hide all
remaining new ones except for `-fp-contract`. The lists will need to be
tweaked from time to time.
2017-09-20 01:04:43 +02:00
kinke
960d8c594e Fix build for LLVM without DCompute targets (#2320) 2017-09-10 14:01:16 +02:00
Nicholas Wilson
eedcb3d32d Fix #2307 (#2308) 2017-09-08 19:45:48 +08:00
Ivan
a9f6875494 Do not use exteranl storage for enableRuntimeCompile flag 2017-09-05 21:23:39 +03:00
Ivan
42f283c221 D dynamic compilation support 2017-08-27 17:42:55 +03:00
Nicholas Wilson
f27109c8e8 New spirv and 6.0 compilation fixes (#2276)
Update to a new SPIRV-LLVM and fix compilation issues for LLVM6.0
2017-08-18 15:23:56 +08:00
Martin
66241ab237 Merge branch 'master' into merge-2.074
Conflicts:
	runtime/druntime
	runtime/phobos
2017-07-28 00:13:20 +02:00
Nicholas Wilson
53ab7b2678 [dcompute] Hide more options (#2234) 2017-07-25 22:57:32 +02:00