1. 13 1月, 2021 1 次提交
  2. 15 6月, 2020 4 次提交
  3. 26 12月, 2018 1 次提交
  4. 30 11月, 2018 1 次提交
    • N
      Enable -mergefunc-use-aliases · cbf74899
      Nikita Popov 提交于
      If the Rust LLVM fork is used, enable the -mergefunc-use-aliases
      flag, which will create aliases for merged functions, rather than
      inserting a call from one to the other.
      
      A number of codegen tests needed to be adjusted, because functions
      that previously fell below the thunk limit are now being merged.
      Merging is prevented either using -C no-prepopulate-passes, or by
      making the functions non-identical.
      
      I expect that this is going to break something, somewhere, because
      it isn't able to deal with aliases properly, but we won't find out
      until we try :)
      
      This fixes #52651.
      cbf74899
  5. 07 10月, 2018 1 次提交
    • A
      rustc: Allow `#[no_mangle]` anywhere in a crate · d7d70453
      Alex Crichton 提交于
      This commit updates the compiler to allow the `#[no_mangle]` (and
      `#[export_name]` attributes) to be located anywhere within a crate.
      These attributes are unconditionally processed, causing the compiler to
      always generate an exported symbol with the appropriate name.
      
      After some discussion on #54135 it was found that not a great reason
      this hasn't been allowed already, and it seems to match the behavior
      that many expect! Previously the compiler would only export a
      `#[no_mangle]` symbol if it were *publicly reachable*, meaning that it
      itself is `pub` and it's otherwise publicly reachable from the root of
      the crate. This new definition is that `#[no_mangle]` *is always
      reachable*, no matter where it is in a crate or whether it has `pub` or
      not.
      
      This should make it much easier to declare an exported symbol with a
      known and unique name, even when it's an internal implementation detail
      of the crate itself. Note that these symbols will persist beyond LTO as
      well, always making their way to the linker.
      
      Along the way this commit removes the `private_no_mangle_functions` lint
      (also for statics) as there's no longer any need to lint these
      situations. Furthermore a good number of tests were updated now that
      symbol visibility has been changed.
      
      Closes #54135
      d7d70453
  6. 22 7月, 2018 2 次提交
  7. 26 1月, 2018 1 次提交
    • V
      Add line numbers and columns to error messages spanning multiple files · 0ac46592
      varkor 提交于
      If an error message is emitted that spans several files, only the
      primary file currently has line and column data attached. This is
      useful information, even in files other than the one in which the error
      occurs. We can often work out which line and column the error
      corresponds to in other files — in this case it is helpful to add them
      (in the case of ambiguity, the first relevant line/column is picked,
      which is still helpful than none).
      0ac46592
  8. 18 1月, 2018 1 次提交
  9. 11 1月, 2018 1 次提交
  10. 08 1月, 2018 1 次提交
  11. 19 10月, 2016 1 次提交
  12. 06 1月, 2015 1 次提交
  13. 10 6月, 2014 1 次提交
  14. 16 5月, 2014 1 次提交
  15. 29 3月, 2014 1 次提交
  16. 15 2月, 2014 1 次提交
  17. 17 1月, 2014 1 次提交
  18. 06 10月, 2013 1 次提交
    • A
      Implement feature-gating for the compiler · dd98f708
      Alex Crichton 提交于
      A few features are now hidden behind various #[feature(...)] directives. These
      include struct-like enum variants, glob imports, and macro_rules! invocations.
      
      Closes #9304
      Closes #9305
      Closes #9306
      Closes #9331
      dd98f708
  19. 19 9月, 2013 1 次提交
  20. 28 3月, 2013 1 次提交
  21. 23 3月, 2013 1 次提交
  22. 08 3月, 2013 2 次提交
  23. 21 2月, 2013 1 次提交
  24. 20 2月, 2013 1 次提交
  25. 02 2月, 2013 1 次提交
  26. 12 1月, 2013 1 次提交
    • J
      Add more tests for enum constants. · 79f0d67d
      Jed Davis 提交于
      The tests have consts defined both before and after their uses in order
      to prevent bugs that depend on the order in which they are translated.
      79f0d67d
  27. 05 1月, 2013 1 次提交
  28. 11 12月, 2012 1 次提交
  29. 01 12月, 2012 1 次提交