- User Since
- Feb 15 2018, 9:11 AM (74 w, 3 d)
Thu, Jul 18
Wed, Jul 17
Mon, Jul 15
Does anyone have any thoughts on these additions?
Thu, Jun 27
Wed, Jun 26
Additional regexes to match more messages containing source:line information. Also added a test.
Tue, Jun 25
Tidied up the test and added some additional cases. Added an assert explaining the tested binding values.
Jun 14 2019
Jun 13 2019
Jun 6 2019
May 21 2019
May 20 2019
Apr 12 2019
Does anyone have any comments on this expanded alternative implementation of vs-diagnostics?
Mar 21 2019
I have expanded Rui's regex implementation to cover the existing tests for Visual Studio diagnostics compatibility patches,
Mar 12 2019
I'm working on extending this to pass the existing tests from D58300. Like @ikudrin , I am not fond of this regex method, but I think we will all be in a better place to make an evaluation once this implementation can pass the tests.
Feb 27 2019
Feb 22 2019
Used clang-format-diff against the patch is requested by @aganea.
Feb 15 2019
Jan 30 2019
I will provide a patch for this as I'm very keen to add support for Visual Studio diagnostics, but I'm not currently working on it.
With regards to
93 if( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.15 )
Sep 19 2018
Sep 7 2018
I have experimented with this implementation and I agree that separating the diagnostic location functions into a distinct library is a good structured approach. I think this would be a reasonable and more explicit support for Visual Studio Diagnostics than D47540 which really just shoehorned in support.
Sep 6 2018
Aug 30 2018
Aug 23 2018
This revision contradicts what was agreed in D34993 because we now emit __real_foo in the symbol table. Is this an intended change in behaviour?
Jul 26 2018
Jul 12 2018
I agree it would be nice to have an option for llvm-ar to start the archive anew.
I'm not sure about changing all the flag settings as you suggest though. I don't want to enforce a standard or accidentally change the way any of the tests work.
Perhaps standardisation of flags could be a different revision.
Jul 11 2018
Jul 10 2018
Followed suggestions to make the test simpler.
Jul 9 2018
Jul 6 2018
I think that if we are to add support for Visual Studio (VS) that any
implementation should be explicit and not rely on quietly attempting to
transform any messages to the desired format. As you suggest, the pattern
matching / transform solution is quite hacky. Also, it will implicitly rely on
the diagnostic message string passed having the properties that the
implementation matches on. If we use a pattern matching implementation, have you
considered how we would handle message strings that do not conform to the
Jul 4 2018
Added missing relocation test file in ELF/Inputs/
There are several modifications to the code and lit test additions based
on the suggestions given. The default origin or source used to prefix any
diagnostics with no source code file is now stored in Driver and passed to
ErrorHandler. There are methods to set and get the private member
'DiagnosticSourceDefault'. This is a StringRef initialised to "lld", resembling
the previous behaviour of ErrorHandler.LogName.
Jun 26 2018
- Corrected paranthesised/parenthesized usage in source comments
- Updated the lit test to remove usage of deprecated %T
Jun 22 2018
Jun 15 2018
Jun 14 2018
I think this presents a choice that could affect the implementation. If all the call sites are converted, then potentially we could make the Src parameter non-optional. However, for the cases where a diagnostic lacks file source information we would risk inconsistent output of the Origin component of the message due to the lack of the optional default. One idea in this case is providing some functionality in the errorHandler class that helps enforce consistency e.g.
error("unknown argument: " + Arg->getSpelling(), errorSrcDefault());
Alternatively, we can convert only some of the calls and retain the optional class for Src. I'm assuming that for simplicity we are only considering options that have a single interface each for error/warn/fatal.
Jun 12 2018
Updated the lit test to show more examples of the the new error function, in response to a request from Ruiu. Also, corrected the setting of errorHandler.LogName in driverutils as LogName was incorrectly being set even if the --vs-diagnostics flag was not set.
Jun 1 2018
Thanks for reviewing Rui, I've made the changes as described in my responses to your comments. Primarily:
- removed the extra set of LogName
- made clearer the extraction of the linker executable name from Args
- Made a correction to print() in ErrorHandler
- Removed unnecessary else in inputfiles.cpp