Martin Kinkelin
a053480010
Misc. merge fixes (C++)
2023-11-06 00:33:57 +01:00
Martin Kinkelin
9c265436fe
Adopt DMD's -wo command-line option to enable warnings about obsolete features
...
Fixes dmd-testsuite's fail_compilation/body.d.
2023-08-26 23:16:43 +02:00
Martin Kinkelin
9ce57807c0
Drop support for LLVM 9 and LLVM 10
2023-07-29 01:12:43 +02:00
Martin Kinkelin
da050e5d9e
Drop -Xcpp, adopt DMD's -P instead
2023-06-07 20:31:32 +02:00
Martin Kinkelin
1bf7e28c59
Add -Xcpp CLI option for C preprocessor flags (-P with ldmd2)
2023-06-07 12:06:25 +02:00
Martin Kinkelin
9539044b39
ldmd: Remove unused variable
2023-05-07 13:06:21 +02:00
Martin Kinkelin
28ac391a87
Adopt new CLI option -verror-supplements=<num>
2023-03-12 22:21:54 +01:00
Martin Kinkelin
fa9897fb18
Sync with dmd/mars.d
2022-02-18 22:04:07 +01:00
Max H Haughton
3e60688f3a
Make it do a binary as well
2022-01-10 16:30:36 +00:00
Max H Haughton
b39dc77cea
Update ldmd2 to support -vasm
2022-01-07 23:01:38 +00:00
Martin Kinkelin
019e9c8e30
Add support for LLVM 13
2021-10-11 19:20:15 +02:00
Nicholas Wilson
1568d0cdca
Fix compilation with LLVM 14 ( #3822 )
2021-09-17 16:41:49 +02:00
Martin Kinkelin
c3df7bb6ef
ldmd2: Translate -target to -mtriple
2021-09-07 19:13:46 +02:00
Martin Kinkelin
f64eb90b77
ldmd2: Add support for -check=on|off
...
Fixes runnable/test_dip1006c.d.
2021-05-31 21:03:31 +02:00
Martin Kinkelin
18607e6239
ldmd2: Add support for new -gdwarf=<version>
2021-04-10 16:50:33 +02:00
Martin Kinkelin
67696b1484
CMake: Get rid of some obsolete checks
2021-02-10 03:26:25 +01:00
Martin Kinkelin
2172c605b4
Add support for -makedeps[=<filename>]
...
And streamline implicit -singleobj with DMD, also enforcing it when
compiling a *single* module *and* specifying the -of name.
[-makedeps currently depends on -singleobj.]
2021-01-07 15:55:00 +01:00
Martin Kinkelin
6f5730049b
Merge remote-tracking branch 'origin/master' into merge-2.094
...
Conflicts:
gen/tocall.cpp
runtime/phobos
2020-09-30 19:46:43 +02:00
Martin Kinkelin
96b9cde428
Add support for LLVM 11
...
One major change is the removal of llvm::CallSite, which I've replaced
by llvm::CallBase*.
2020-09-26 01:04:50 +02:00
Martin Kinkelin
4be4501227
Re-add support for -HC without value
2020-09-23 21:32:46 +02:00
Martin Kinkelin
4431f6744f
Add support for -vtemplates=list-instances
2020-09-23 21:02:59 +02:00
Martin Kinkelin
47b25ca6ab
Add support for -cov=ctfe
...
Incl. making sure `-cov=N ... -cov[=ctfe]` doesn't reset the required
percentage to 0.
Use a dummy *bool* option for a better help output (displaying `--cov`,
not `--cov=<value>`).
2020-09-23 20:57:06 +02:00
Martin Kinkelin
1f063d4ae9
Refactor response file stuff shared by ldmd and ldc
...
By hiding the common functionality behind args::executeAndWait().
Also make sure to properly escape quoted args in response files.
2020-08-09 01:11:46 +02:00
Martin Kinkelin
5194181b66
Windows hosts: Fix linker cmdline length limitation via response files
...
Fixes #3535 and an issue for ldmd2 wrt. unquoted args containing spaces
in response files for ldc2 (uncovered during manual tests). Also create
the temporary response files in the temp directory, not in the current
working dir.
2020-08-08 01:47:52 +02:00
Martin Kinkelin
834f666ce5
Raise min LLVM version to 6.0 ( #3493 )
2020-07-13 20:42:50 +02:00
Martin Kinkelin
e3a1096e44
Merge upstream stable ( dlang/dmd@bafab33f27 )
2020-07-03 22:20:29 +02:00
Martin Kinkelin
9725dcd5de
Add CLI option -vtemplates
2020-06-21 05:31:40 +02:00
Martin Kinkelin
26678a1631
Support new CLI switches -verror-style and -HC, -HCd, -HCf
2020-02-27 01:54:28 +01:00
Martin Kinkelin
40c62f0715
Resync LDMD2 help output
2019-10-20 00:45:12 +02:00
Martin Kinkelin
5ad507d176
dmd-testsuite: Adapt runnable/testpic.d to unsupported -fPIE
2019-08-27 01:52:22 +02:00
Martin Kinkelin
42619762e9
Windows: Read environment variables as UTF-8
...
And use the wide API for pure is-env-variable-set checks too, as the
first call to a narrow env API function would lead to the C runtime
preparing and maintaining both narrow and wide environments.
2019-08-08 22:38:38 +02:00
Martin Kinkelin
9626213a5e
Windows: Switch console code page to UTF-8, for LDC and LDMD
...
For proper in/output of narrow UTF-8 strings.
2019-08-08 22:38:38 +02:00
Martin Kinkelin
c7766b9357
Windows: Switch to wmain entry point & convert to UTF-8 (ldc2 & ldmd
...
only)
This makes _d_wrun_main (cherry-picked from dlang/druntime#2701 ) use the
provided args directly instead of the process's real arguments (on
Windows) - if the host D compiler supports it.
E.g., this is required when passing --DRT-* options from a response file
to _d_wrun_main.
As a major change, the encoding of the Windows cmdline arguments is
switched from the current codepage to UTF-8.
Note that the MinGW-based libs currently only provide narrow CRT entry
points.
2019-08-08 22:38:37 +02:00
Martin Kinkelin
ae6c181d05
Sync LDMD usage help with DMD's
2019-03-01 18:19:00 +01:00
Martin Kinkelin
5093732972
LDMD: Support -mcpu=h and -mcpu=help too
2019-03-01 18:19:00 +01:00
Martin Kinkelin
0530f08e9a
Hide legacy cmdline options -dip<N>
2019-03-01 18:19:00 +01:00
Martin Kinkelin
6765e51799
Change behavior when invoking LDC/LDMD without source files
...
Only display the appropriate usage help (and then fail) if invoked
without any explicit cmdline options. Otherwise emit an error about
missing source files and fail immediately, without displaying the usage
help.
Besides making LDC and LDMD behave identically in this regard, it makes
just more sense IMO (when forgetting to specify a file, LDC previously
just printed the cmdline help without any error message).
It also makes `ldmd2 -transition=?` and `ldmd2 -preview=help` etc. print
the expected help without LDMD special cases.
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
73d0c71acd
LDMD: Tiny refactoring - make use of startsWith()
2018-12-21 22:49:31 +01:00
Martin Kinkelin
793cdc4937
LDMD: Support new -color=auto
2018-12-21 22:43:30 +01:00
Martin Kinkelin
2d539fa63d
Add new cmdline option -checkaction=<D|C|halt>
2018-12-21 21:36:42 +01:00
Martin Kinkelin
d4e680bcdb
LDMD: Add -check cmdline option
2018-12-21 21:05:30 +01:00
Martin Kinkelin
389977d084
Add new cmdline option -mixin=<filename>
2018-12-21 20:17:50 +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
e36b77adaf
Fix LDMD for LLVM 7
2018-08-22 00:46:19 +02:00