17 Commits

Author SHA1 Message Date
narpfel
5d1d7cf77b Fix demangling for symbols with dots in jump instructions (#8028)
For example Rust on AArch64: https://godbolt.org/z/e3q9Wv7zj
2025-08-14 10:09:02 -05:00
Matt Godbolt
2ae38a0c3f Make argument parsers instances instead of static classes (#8017)
- 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>
2025-08-11 12:14:13 -05:00
Matt Godbolt
8734c3e492 Update biome (#7956)
- latest biome, and fix its configuration
- fixes "static" content to be globally configured too (instead of
per-line)
- fixes issues:
  - imports fixed up
  - `Date.now()` vs `+new Date()`
  - some unused things `_` prefixed
 
After discussion with the team, turned off the unused parameter warning.
2025-07-28 10:34:46 -05:00
Jeremy Rifkin
e0958c8613 Add support for demangling quoted labels (#7846)
This PR updates a dozen regular expressions related to labels and
demangling to allow quoted names which gcc trunk is now emitting:


![image](https://github.com/user-attachments/assets/efc727d1-a056-4544-8196-4276bb14fc02)


Resolves #7729
2025-06-20 17:33:49 -05:00
Partouf
6da157af72 fix windows test 2025-06-09 20:34:35 +02:00
narpfel
98c91227fa Fix go-to label with position-independent code (#7522)
Resolves #7521.

With this PR, `@...` suffixes are included in the clickable area for
go-to label.

This also affects PowerPC, where `@...` suffixes are a bit more common
(`@ha` and `@l` will also be marked as clickable).

---------

Co-authored-by: Matt Godbolt <matt@godbolt.org>
2025-04-17 12:25:28 -05:00
Matt Godbolt
9a8673f950 Update tests to use node fs (#7446)
Also don't re-export fs and path through utils
2025-02-25 13:39:26 -06:00
Mats Jun Larsen
5eea63328f Migrate to Biome for linting and formatting (#7033) 2025-02-02 17:54:31 +00:00
Mats Jun
661957ba7e Remove dangling references to mocha (#6992)
_No functional change intended_

We migrated to Vitest a while back, so the mocha field in the
package.json has no effect. A few comments describing mocha-specific
behavior have been updated with a TODO/been removed
2024-10-22 21:39:50 +09:00
Ofek
42c10cf9b3 Fix #6083: rewrite demangleLabels (#6701)
This code had some problems:

07d5c3312f/lib/demangler/base.ts (L200-L203)
There

`PrefixTree.replaceAll` replaces mangled to demangled names 'blindly',
with no notion of labels. Later `demangleLabels` runs separate logic to
update the column-range of each label in hope of mimicking the
`replaceAll` action. This fails in some cases:
(1) the `demangleLables` code handles only a single occurrence of each
label in a line,
(2) It also diverges from `replaceAll` in case that a string which is a
label-name appears in the line *not* as part of a label (this does
happen!).

This fix makes `replaceAll` return detailed account of its actions, and
then use these to properly adjust the label ranges.

This fix might not address all the root issues, but it does make some
`label` decisions consistent where they weren't.
2024-07-13 17:38:32 +03:00
narpfel
7974f78e08 Also demangle quoted identifiers in LLVM IR (#6560)
This fixes one of the two problems reported in #6558.
2024-06-07 20:49:45 -05:00
Patrick Quist
d2c7a5222e Local/Remote Execution environment (#6413) 2024-05-26 22:09:01 +02:00
Patrick Quist
43323b7b6c fix part of the windows tests (#6351) 2024-04-15 03:57:24 +02:00
Jeremy Rifkin
15271c9090 Fix missed demangles (#6350)
This PR fixes missed demangle cases pointed out in #6348, namely of the
form `mov eax, OFFSET FLAT:_Z...` and `jmp qword ptr [rip + _Z...]`.

Closes #6348.

---------

Co-authored-by: Patrick Quist <partouf@gmail.com>
2024-04-13 13:54:49 -05:00
Matt Godbolt
fd3dd917f5 Vitest (#6219)
Port to vitest. Port everything to typescript. Remove chai, mocha and
chai-as-promised. Adds some docs.
2024-03-08 22:25:09 -06:00
partouf
46b45a87b9 extra unwrap 2023-10-22 12:18:14 +02:00
Rounak Shrestha
bd164adf14 Test conversion ts (#5517) 2023-10-22 12:15:44 +02:00