Commit Graph

55 Commits

Author SHA1 Message Date
Guillaume Gomez
afb14f75e1 Unpin compiler-builtins
Co-authored-by: Antoni Boucher <bouanto@zoho.com>
2024-08-12 16:28:27 +02:00
Nicholas Nethercote
1cbbac3911 Reformat use declarations.
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-08-12 15:17:57 +02:00
Michael Goulet
007fa3b94e Fix spans 2024-08-12 15:15:14 +02:00
Michael Goulet
3eb28444b5 Give Instance::expect_resolve a span 2024-08-12 15:15:14 +02:00
Antoni Boucher
05a41b88a9 Merge branch 'master' into sync_from_rust_2024_07_02 2024-07-02 12:40:16 -04:00
Antoni Boucher
9ca7658817 Fix tests 2024-07-02 12:27:18 -04:00
Guillaume Gomez
30ee7ba862 Add shl and shr missing casts 2024-07-02 12:23:55 -04:00
Guillaume Gomez
580e5ba456 Format code 2024-07-02 12:20:34 -04:00
Antoni Boucher
16e1ad7327 Fix clippy warnings 2024-06-25 08:10:29 -04:00
Robert Zakrzewski
dabf5faff0 Add support for Float64 2024-06-21 22:10:52 +02:00
bjorn3
8a1e58169a Remove check_overflow method from MiscMethods
It can be retrieved from the Session too.
2024-06-21 19:30:26 +00:00
Antoni Boucher
c4e7c04de9 Fix location of check for sized floating-point types 2024-06-21 16:12:05 +02:00
Ben Kimock
2d082aedf7 Stabilize the size of incr comp object file names 2024-04-22 10:50:07 -04:00
antoyo
9941c3590d
Merge pull request #499 from rust-lang/fix/unreachable-in-get_fn
Fix panic when calling get_fn for a variable
2024-04-19 21:26:48 -04:00
Antoni Boucher
9b628f8e82 Fix panic when calling get_fn for a variable 2024-04-19 20:57:40 -04:00
Antoni Boucher
7cd561efd6 Fix check for main function already declared 2024-04-19 20:55:59 -04:00
bors
0f17e5ae23 Auto merge of #117919 - daxpedda:wasm-c-abi, r=wesleywiser
Introduce perma-unstable `wasm-c-abi` flag

Now that `wasm-bindgen` v0.2.88 supports the spec-compliant C ABI, the idea is to switch to that in a future version of Rust. In the meantime it would be good to let people test and play around with it.

This PR introduces a new perma-unstable `-Zwasm-c-abi` compiler flag, which switches to the new spec-compliant C ABI when targeting `wasm32-unknown-unknown`.

Alternatively, we could also stabilize this and then deprecate it when we switch. I will leave this to the Rust maintainers to decide.

This is a companion PR to #117918, but they could be merged independently.
MCP: https://github.com/rust-lang/compiler-team/issues/703
Tracking issue: https://github.com/rust-lang/rust/issues/122532
2024-04-19 03:35:10 +00:00
Arthur Carcano
a64942a3e9 Mark codegen_gcc fields used only on feature master as such
The dead_code lint was previously eroneously missing those.
Since this lint bug has been fixed, the unused fields need
to be feature gated.
2024-03-12 10:59:41 +01:00
tempdragon
6f76488b2f fix(fmt/style): Remove unncessary clones, into's and deref's 2024-03-11 10:24:22 +08:00
Ralf Jung
dd9407dcbe use Instance::expect_resolve() instead of unwraping Instance::resolve() 2024-03-10 11:49:33 +01:00
daxpedda
d0dc94334b Introduce perma-unstable wasm-c-abi flag 2024-03-10 09:00:01 +01:00
Guillaume Gomez
faebf73983 Merge commit 'b385428e3ddf330805241e7758e773f933357c4b' into subtree-update_cg_gcc_2024-03-05 2024-03-05 19:58:36 +01:00
Antoni Boucher
c2c68e3f4d Format the code 2024-02-28 17:49:16 -05:00
tempdragon
51cd5f1c78
fix(code fmt): Apply style suggestions from code review
Co-authored-by: antoyo <antoyo@users.noreply.github.com>
2024-02-29 01:10:51 +08:00
tempdragon
c638defad7 feat(debuginfo): Init Commit for debuginfo Support
TODO:
1. Add int.rs locations
2. Add demangling support
3. Add debug scope support
4. Add vtable support
5. Clean up builder.rs locations
2024-02-24 20:12:08 +08:00
Nicholas Thompson
b2a7afd898 Further Implement is_val_statically_known 2024-01-23 12:02:31 -05:00
Nicholas Nethercote
02ed790631 Remove Session methods that duplicate DiagCtxt methods.
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
r0cky
92de9d4210 Remove dead codes 2023-12-11 23:24:32 +08:00
quininer
2baa073fb1 Add emulated TLS support
Currently LLVM uses emutls by default
for some targets (such as android, openbsd),
but rust does not use it, because `has_thread_local` is false.

This commit has some changes to allow users to enable emutls:

1. add `-Zhas-thread-local` flag to specify
    that std uses `#[thread_local]` instead of pthread key.
2. when using emutls, decorate symbol names
    to find thread local symbol correctly.
3. change `-Zforce-emulated-tls` to `-Ztls-model=emulated`
    to explicitly specify whether to generate emutls.
2023-12-07 00:21:32 +08:00
Antoni Boucher
9f4f90b19a Merge commit 'e4fe941b11a55c5005630696e9b6d81c65f7bd04' into subtree-update_cg_gcc_2023-10-25 2023-10-26 17:42:02 -04:00
Katherine Philip
642fae9409 Don't ICE on layout computation failure 2023-08-28 12:40:39 -07:00
yukang
46062cd68d Fix ICE failed to get layout for ReferencesError 2023-08-05 01:38:14 +08:00
Deadbeef
f16ca93ded Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
Antoni Boucher
d725cfb6ab Merge commit '08a6d6e16b5efe217123e780398969946266268f' into sync-cg_gcc-2023-03-04 2023-03-05 12:03:19 -05:00
Nicholas Nethercote
ea83d6f4d8 Use List::empty() instead of mk_substs(&[]). 2023-02-24 07:33:02 +11:00
Nicholas Nethercote
5b0dbc47d7 Rename many interner functions.
(This is a large commit. The changes to
`compiler/rustc_middle/src/ty/context.rs` are the most important ones.)

The current naming scheme is a mess, with a mix of `_intern_`, `intern_`
and `mk_` prefixes, with little consistency. In particular, in many
cases it's easy to use an iterator interner when a (preferable) slice
interner is available.

The guiding principles of the new naming system:
- No `_intern_` prefixes.
- The `intern_` prefix is for internal operations.
- The `mk_` prefix is for external operations.
- For cases where there is a slice interner and an iterator interner,
  the former is `mk_foo` and the latter is `mk_foo_from_iter`.

Also, `slice_interners!` and `direct_interners!` can now be `pub` or
non-`pub`, which helps enforce the internal/external operations
division.

It's not perfect, but I think it's a clear improvement.

The following lists show everything that was renamed.

slice_interners
- const_list
  - mk_const_list -> mk_const_list_from_iter
  - intern_const_list -> mk_const_list
- substs
  - mk_substs -> mk_substs_from_iter
  - intern_substs -> mk_substs
  - check_substs -> check_and_mk_substs (this is a weird one)
- canonical_var_infos
  - intern_canonical_var_infos -> mk_canonical_var_infos
- poly_existential_predicates
  - mk_poly_existential_predicates -> mk_poly_existential_predicates_from_iter
  - intern_poly_existential_predicates -> mk_poly_existential_predicates
  - _intern_poly_existential_predicates -> intern_poly_existential_predicates
- predicates
  - mk_predicates -> mk_predicates_from_iter
  - intern_predicates -> mk_predicates
  - _intern_predicates -> intern_predicates
- projs
  - intern_projs -> mk_projs
- place_elems
  - mk_place_elems -> mk_place_elems_from_iter
  - intern_place_elems -> mk_place_elems
- bound_variable_kinds
  - mk_bound_variable_kinds -> mk_bound_variable_kinds_from_iter
  - intern_bound_variable_kinds -> mk_bound_variable_kinds

direct_interners
- region
  - intern_region (unchanged)
- const
  - mk_const_internal -> intern_const
- const_allocation
  - intern_const_alloc -> mk_const_alloc
- layout
  - intern_layout -> mk_layout
- adt_def
  - intern_adt_def -> mk_adt_def_from_data (unusual case, hard to avoid)
  - alloc_adt_def(!) -> mk_adt_def
- external_constraints
  - intern_external_constraints -> mk_external_constraints

Other
- type_list
  - mk_type_list -> mk_type_list_from_iter
  - intern_type_list -> mk_type_list
- tup
  - mk_tup -> mk_tup_from_iter
  - intern_tup -> mk_tup
2023-02-24 07:32:24 +11:00
Michael Goulet
26c010c941 Simplify some iterator combinators 2023-01-04 00:48:07 +00:00
Maybe Waffle
38dfdee36a Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
Ayush Singh
695c76c45a Use custom entry name in gcc
This is a continuation of 9f0a8620bd for
gcc.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-15 22:15:55 +05:30
bjorn3
29edc888bd Remove several unused methods from MiscMethods 2022-10-01 16:45:07 +00:00
Ellis Hoag
0ae1e27b17 fix lifetime error 2022-09-24 11:36:16 -07:00
Ellis Hoag
5c839d995b impl SessionDiagnostic for LayoutError and Spanned<T> 2022-09-24 10:25:19 -07:00
Ellis Hoag
534ce39aac Add LayoutSizeOverflow 2022-09-24 10:24:48 -07:00
bjorn3
c0ec18bd0d Avoid unnecessary string interning for const_str 2022-06-28 18:38:36 +00:00
Antoni Boucher
fac57d9a06 Merge commit 'e8dca3e87d164d2806098c462c6ce41301341f68' into sync_from_cg_gcc 2022-06-06 22:04:37 -04:00
Yuri Astrakhan
74edcb8bd1 Spellchecking some comments
This PR attempts to clean up some minor spelling mistakes in comments
2022-03-30 01:39:38 -04:00
bjorn3
3888aafe3a Merge commit '39683d8eb7a32a74bea96ecbf1e87675d3338506' into sync_cg_gcc-2022-03-26 2022-03-26 18:29:37 +01:00
Erik Desjardins
a19138f1f9 cleanup: remove unused ability to have LLVM null-terminate const strings 2022-03-06 12:28:46 -05:00
bjorn3
54d2ec1a82 Merge commit '1411a98352ba6bee8ba3b0131c9243e5db1e6a2e' into sync_cg_clif-2021-12-31 2021-12-31 16:26:32 +01:00
antoyo
9809f5d219
Update to nightly-2021-09-28 (#97) 2021-09-28 09:18:27 -04:00