This change addresses the issue where Ex-WINE compilers (19.14.26423,
19.10.25017, 19.00.24210) were appearing in lexicographical order
instead of proper semantic version order.
Added \`isSemVer=true\` to 6 MSVC compiler groups across C and C++
configuration files
Enables proper semantic version sorting (newest first) for Ex-WINE
compilers
Resolves issue #8006
This fixes#8064 - hitting ctrl-enter worked _if compile on demand was
set_. Otherwise the compiler ignored the editor change.
We still need to emit the change (else the compiler window and tools may
not notice any changed text), but then if compile on demand is not on,
we manually trigger a request.
There are two clang reflection implementations:
* The one from Matúš that implements the Reflection TS
* The one from Dan that implements p2996
The latter is what will be in C++26, but that's hard to tell from the
labels since the former is labeled "reflection" while the latter is
labeled "experimental p2996". This changes the labels to "reflection -
TS" and "relfection - C++26", respectively, to make it clearer as to
which is which.
<!-- THIS COMMENT IS INVISIBLE IN THE FINAL PR, BUT FEEL FREE TO REMOVE
IT
Thanks for taking the time to improve CE. We really appreciate it.
Before opening the PR, please make sure that the tests & linter pass
their checks,
by running `make check`.
In the best case scenario, you are also adding tests to back up your
changes,
but don't sweat it if you don't. We can discuss them at a later date.
Feel free to append your name to the CONTRIBUTORS.md file
Thanks again, we really appreciate this!
-->
---------
Co-authored-by: Patrick Quist <partouf@gmail.com>
Trying to solve the root cause:
`Editor.maybeEmitChange` calls `this.eventHub.emit('editorChange')`, and
then `Compiler.onEditorChange` calls `this.compile()` .
So the idiom
```ts
this.maybeEmitChange();
this.requestCompilation();
```
repeated a few times in editor.ts, causes two rapid (and redundant)
invocations of `compile`, which in turn cause the race. This PR removes
all calls to `Editor.requestCompilation` and in fact removes the
function entirely.
I'm guessing `maybeEmitChange` is a late addition to solve some other
problems, and this race was an unintended side effect, but please
correct me if you have better understanding of the code and its history.
makes the root bindmount a "slave" which means it gets all host mount
point change notifications, needed for cefs automounting. Security
tradeoffs mentioned in compiler-explorer/nsjail#2
Some compilers emit symbol names with multiple dots, e. g. Clang for
static data (like string literals) or GCC for function clones (e. g. due
to interprocedural constant propagation).
Test cases: https://godbolt.org/z/dGbGncnh8,
https://godbolt.org/z/dhrGGqrjo
- Made parsers stateful instances instead of shared static state (for
mllvm options). Fixes#8011 as this is caused by multiple clang-based
compilers being run concurrently and stomping over each others' state.
- passes `Compiler` to the constructor, which removes some param passing
- Added some missing awaits
- Tried to get things less dependent on `examples`, only `go` needs it
- Spotted that `zig` c++ might have issues in discovery
- Fly-by fixed a broken go path in ppc64le_gl122
- removed a redundant override in coccinelle
- made the mojo parser actually use the parser it defined
- canonified tablegen's special method
-
I changed the zig parser too but as best I can tell it was broken before
(the `1` return value from the command it runs:)
```
ubuntu@ip-172-30-0-164:/infra/.deploy$ /opt/compiler-explorer/zig-0.14.1/zig c++ -mllvm --help-list-hidden /infra/.deploy/examples/c++/default.cpp -S -o /tmp/output.s
...
--x86-use-vzeroupper - Minimize AVX to SSE transition penalty
--xcore-max-threads=<number> - Maximum number of threads (for emulation thread-local storage)
/infra/.deploy/examples/c++/default.cpp:1:1: error: FileNotFound
```
return code 1 (means it's not cached)
---------
Co-authored-by: Partouf <partouf@gmail.com>
- Converts all "wine" compilers to be "ex wine" in Windows. uses
different IDs to avoid clashes BUT aliases in the old IDs.
- removes wine and firejail config