Skip to content

Instantly share code, notes, and snippets.

@Eh2406
Last active August 21, 2022 12:58
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Eh2406/b92f034f8adc193894482e19c79d80f1 to your computer and use it in GitHub Desktop.
Save Eh2406/b92f034f8adc193894482e19c79d80f1 to your computer and use it in GitHub Desktop.
closed rust issue this FIXME referring to them

This is the output of a half baked and first draft script to fined fixmes on closed issues in rust.

// FIXME: Temporary fix for https://github.com/rust-lang/cargo/issues/3005
# FIXME(#49246): Remove the `sed` below.
// FIXME(RFC 1109): AtomicUsize is not Copy.
# FIXME: In fact, sanitizers should support both /MT and /MD, see PR20214.
// FIXME: Infinite loop in AArch64 (PR24389).
# FIXME: enable ThinLTO tests after fixing http://llvm.org/pr32741
// FIXME: Re-enable once PR33590 is fixed.
// FIXME: Re-enable once PR33590 is fixed.
// FIXME: Re-enable once PR33590 is fixed.
// FIXME: Some of this can be removed if RFC Issue #1424 is resolved
// FIXME(nagisa): due to https://bugs.llvm.org/show_bug.cgi?id=33303 we canonicalize by
// FIXME(nagisa): due to https://bugs.llvm.org/show_bug.cgi?id=33303 we canonicalize by
// FIXME(nagisa): due to https://bugs.llvm.org/show_bug.cgi?id=33303 we canonicalize by
// FIXME(nagisa): due to https://bugs.llvm.org/show_bug.cgi?id=33303 we canonicalize by
// FIXME(30524): impl Op<T> for Wrapping<T>, impl OpAssign<T> for Wrapping<T>
exit 0 # FIXME(rust-lang/cargo#4750)
// FIXME(#53451) public to work around `Cannot create local mono-item` ICE.
// FIXME(#53451) public to work around `Cannot create local mono-item` ICE,
// FIXME(#53451) public to work around `Cannot create local mono-item` ICE,
// FIXME(#19596) this is a workaround, but there should be a better way
/// FIXME(#48536) -- once we have universes, we can remove this and just use
// FIXME: perf problem described in #55921.
// FIXME(#13998) RePlaceholder should probably print like
// FIXME (22171): terms "super/subregion" are suboptimal
*Ideas for improving the situation:* (FIXME #3696) The correctness
// FIXME(#19596) This is a workaround, but there should be a better way to do this
// FIXME(#32286) logic seems false if no upvars
// FIXME(eddyb) #11161 is the original Expr required?
// FIXME(#32286) refactor this so that closure type
// FIXME(#32730) -- do we need to take obligations
// FIXME(#33684) -- We need to use
// FIXME (#6298): Shouldn't this go with CFG?
// FIXME (#16118): These functions are intended to allow the borrow checker to
// FIXME(#19596) This is a workaround, but there should be better way to do this
**FIXME [RFC 1751](https://github.com/rust-lang/rfcs/issues/1751)
// FIXME(#34960)
// FIXME: https://bugs.llvm.org/show_bug.cgi?id=36734
// FIXME (#2397): At some point we want to rpath our guesses as to
// FIXME (#9639): This needs to handle non-utf8 paths
// FIXME (#9639): This needs to handle non-utf8 paths
// FIXME (#1877: If in the future shifting by negative
// FIXME (#26403, #27023): We should be adding padding
// FIXME(#44234) - almost all of these queries have no sub-queries and
// FIXME (#2166): This is not nearly enough to support correct versioning
// FIXME(#27840) these probably want their own
// FIXME(#54571): This constant comes from user
// FIXME (#26403, #27023): We should be adding padding
// FIXME(#34708): handle partially-dropped array/slice elements.
/// FIXME #4948: Reuse ribs to avoid allocation.
// FIXME(#6890): Even though you can't treat a method like a
// FIXME: may also be stabilized for Rust 2015 (Issues #45477, #44660)
// FIXME 16351: add a sane default search path?
// FIXME(#13846) this should be enabled for windows
// FIXME(#8559) currently requires the unbound to be built-in.
// (..) FIXME(#3238) should use visit_pat, not visit_arm/visit_local,
// FIXME(#6268) to support nested method calls, should be callee_id
// FIXME(#6268) remove to support nested method calls
// FIXME(#25759) return types should not be implied bounds
// FIXME(#44940): if doctests ever support path remapping, then this filename
// FIXME(#20299) return type comes from a projection now
// FIXME: #15036
// FIXME (#19470): cannot provide PartialOrd<OsStr> for str until we
// FIXME(#24570): implement this for other Unix platforms
// FIXME(#24570): implement this for other Unix platforms
// FIXME(#43348): Make libc adapt #[doc(cfg(...))] so we don't need these fake definitions here?
// FIXME(#43348): This structure is used for backtrace only, and a fake
// FIXME(#24570): add more info here (e.g., mode)
// FIXME: #14406 these are processed in codegen, which happens after the
// FIXME (#28244): enforce that active features have issue numbers
// FIXME #2252: bounds checking float literals is deferred until trans
// FIXME: perform NFKC normalization here. (Issue #2253)
// FIXME (#13400): this is only a tiny fraction of the Windows console api
// FIXME (#9639): This needs to handle non-utf8 paths
// FIXME: Copied from libsyntax until linkage errors are resolved. Issue #47566
// FIXME #11059 handle NaN, inf and overflow
// FIXME:         ::= L <type> <real-part float> _ <imag-part float> E   # complex floating point literal (C 2000)
// FIXME: Add lifetime/invariant intrinsics (See: PR30807).
// FIXME: workaround for PR5130, this will be obsolete when a nobuiltin
// FIXME(PR23527): Don't blindly transfer the inbounds flag from the GEP
// FIXME: remove this once PR18663 has been properly fixed. For now,
// FIXME: It may be possible to remove the isKill() restriction once PR18663
// FIXME: It may be possible to remove the isKill() restriction once PR18663
//  FIXME: Re-enable assert once PR20057 is resolved.
// FIXME: PR36018: Volatile loads in some cases are incorrectly selected by
// FIXME: 1024 if function.
cl::init(false)); // FIXME: set to true by default once PR32780 is fixed
case AVR::LDDWRdYQ: //:FIXME: remove this once PR13375 gets fixed
case AVR::LDDWRdYQ: { //:FIXME: remove this once PR13375 gets fixed
//:FIXME: remove this once PR13375 gets fixed
// FIXME: ssnop should not be defined for R6. Per MD000582 microMIPS32 6.03:
// FIXME: This is a bit pessimistic. P5600CTISTD is only used during cycle 2
// FIXME: remove that when PR19268 is fixed.
// FIXME: remove once the bug 11395 is fixed.
// FIXME: This may not be needed once PR27866 is fixed.
; FIXME: prefer "mov x0, #-16639; lsl x0, x0, #24"
; FIXME: prefer "mov w0, #-13690; orr x0, x0, #0x1111111111111111"
; FIXME the load should be folded with the MOVDDUP with AVX1. PR39454
; FIXME the load should be folded with the MOVDDUP with AVX1. PR39454
; FIXME the load should be folded with the MOVDDUP with AVX1. PR39454
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39436.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39439.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39440.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39452.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39439.
; FIXME: Dummy PHI to set the property NoPHIs to false. PR38439.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39451.
; FIXME: fixing PR34394 should fix the i32x2 memory cases resulting in a simple vbroadcasti32x2 instruction.
; FIXME: The non immediate <16 x float> test cases should be fixed by PR34382
; FIXME: All cases here should be fixed by PR34380
; FIXME: 128-bit shuffles of 256-bit vectors cases should be fixed by PR34359
; FIXME: Clang emits wrong debug info here because of PR17747. We should
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39452.
# FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39481.
; FIXME: most of these tests use values (i.e. 0x0815) that are out of bounds.
# FIXME: decode as beq 0, .+1024
# FIXME: decode as beqa 0, 1024
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips1    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips2    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS2 %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips3    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS3,32BITMODE %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips4    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS4,32BITMODE %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips5    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS5,32BITMODE %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux                  -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS32R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux                -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux                -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r2 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R2 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r3 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R3 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r5 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R5 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r2 -target-abi=o32 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R2 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r3 -target-abi=o32 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R3 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r5 -target-abi=o32 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R5 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r6 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R6 %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux                    -target-abi=n32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,N32,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux                  -target-abi=n32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,N32,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux     -mcpu=mips3    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS3    %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux     -mcpu=mips4    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS4    %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux     -mcpu=mips5    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS5    %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux                    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux                  -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r2 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R2 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r3 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R3 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r5 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R5 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r2 -target-abi=n64 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R2 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r3 -target-abi=n64 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R3 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r5 -target-abi=n64 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R5 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r6 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R6 %s
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39436.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39436.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39436.
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39436.
;; FIXME: DA misses this case after D35430
;; FIXME: DA misses this case after D35430
;; FIXME: PR 8643 We should be able to eliminate the last memcpy here.
// FIXME: Until PR27449 (https://llvm.org/bugs/show_bug.cgi?id=27449) is
// FIXME: Until PR27449 (https://llvm.org/bugs/show_bug.cgi?id=27449) is
// FIXME: Workaround PR30396 which means that a symbol can appear
// FIXME: PR4112
# FIXME: Since 10/Feb/2017 the googletest trunk has had a bug where
# FIXME: Actually, this is probably an instance of PR6753.
// FIXME: Add lifetime/invariant intrinsics (See: PR30807).
// FIXME: workaround for PR5130, this will be obsolete when a nobuiltin
// FIXME(PR23527): Don't blindly transfer the inbounds flag from the GEP
// FIXME: remove this once PR18663 has been properly fixed. For now,
// FIXME: It may be possible to remove the isKill() restriction once PR18663
// FIXME: It may be possible to remove the isKill() restriction once PR18663
//  FIXME: Re-enable assert once PR20057 is resolved.
// FIXME: PR36018: Volatile loads in some cases are incorrectly selected by
// FIXME: 1024 if function.
cl::init(false)); // FIXME: set to true by default once PR32780 is fixed
case AVR::LDDWRdYQ: //:FIXME: remove this once PR13375 gets fixed
case AVR::LDDWRdYQ: { //:FIXME: remove this once PR13375 gets fixed
//:FIXME: remove this once PR13375 gets fixed
// FIXME: ssnop should not be defined for R6. Per MD000582 microMIPS32 6.03:
// FIXME: This is a bit pessimistic. P5600CTISTD is only used during cycle 2
// FIXME: remove that when PR19268 is fixed.
// FIXME: remove once the bug 11395 is fixed.
// FIXME: This may not be needed once PR27866 is fixed.
; FIXME: fixing PR34394 should fix the i32x2 memory cases resulting in a simple vbroadcasti32x2 instruction.
; FIXME: The non immediate <16 x float> test cases should be fixed by PR34382
; FIXME: All cases here should be fixed by PR34380
; FIXME: 128-bit shuffles of 256-bit vectors cases should be fixed by PR34359
; FIXME: most of these tests use values (i.e. 0x0815) that are out of bounds.
# FIXME: decode as beq 0, .+1024
# FIXME: decode as beqa 0, 1024
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips1    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips2    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS2 %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips3    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS3,32BITMODE %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips4    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS4,32BITMODE %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux   -mcpu=mips5    -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS5,32BITMODE %s
# FIXME: llvm-mc -filetype=obj -triple mips64-unknown-linux                  -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,O32,NAN1985,MIPS32R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux                -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux                -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r2 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R2 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r3 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R3 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r5 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN1985,MIPS32R5 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r2 -target-abi=o32 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R2 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r3 -target-abi=o32 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R3 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r5 -target-abi=o32 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R5 %s
# FIXME: llvm-mc -filetype=obj -triple mips64el-unknown-linux -mcpu=mips32r6 -target-abi=o32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,O32,NAN2008,MIPS32R6 %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux                    -target-abi=n32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,BE,N32,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux                  -target-abi=n32                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF32,LE,N32,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux     -mcpu=mips3    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS3    %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux     -mcpu=mips4    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS4    %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux     -mcpu=mips5    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS5    %s
# FIXME: llvm-mc -filetype=obj -triple mips-unknown-linux                    -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,BE,N64,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux                  -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R1 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r2 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R2 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r3 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R3 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r5 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN1985,MIPS64R5 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r2 -target-abi=n64 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R2 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r3 -target-abi=n64 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R3 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r5 -target-abi=n64 -mattr=+nan2008 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R5 %s
# FIXME: llvm-mc -filetype=obj -triple mipsel-unknown-linux   -mcpu=mips64r6 -target-abi=n64                 %s -o - | llvm-readobj -h | FileCheck --check-prefixes=ALL,ELF64,LE,N64,NAN2008,MIPS64R6 %s
;; FIXME: PR 8643 We should be able to eliminate the last memcpy here.
// FIXME: Until PR27449 (https://llvm.org/bugs/show_bug.cgi?id=27449) is
// FIXME: Until PR27449 (https://llvm.org/bugs/show_bug.cgi?id=27449) is
// FIXME: Workaround PR30396 which means that a symbol can appear
// FIXME: PR4112
# FIXME: Actually, this is probably an instance of PR6753.
# FIXME https://github.com/rust-lang/libc/issues/1170
// FIXME #25759 This should also have `nocapture`
// FIXME #25759 This should also have `nocapture`
// FIXME #25759 This should also have `nocapture`
// FIXME #25759 This should also have `nocapture`
// FIXME #25759 This should also have `nocapture`
// FIXME #25759 This should also have `nocapture`
// FIXME #25759 This should also have `nocapture`
// ignore-windows failing on 64-bit bots FIXME #17638
# FIXME(#27979)
// FIXME(30524): uncomment this test when it's implemented
// FIXME(30524): Uncomment this test
// ignore-test FIXME(#20574)
// FIXME(#21232)
// FIXME(#46983): error message should be better
LL |     // FIXME(#46983): error message should be better
// FIXME(libgit2/libgit2#2514): apparently add_all will add all submodules
# FIXME: Expose iteration from CIndex, PR6125.
// FIXME: workaround for MSVC 2013; remove when no longer needed
// FIXME: constexpr initialization isn't supported by MSVC2013.
// FIXME: Under P0840, this is no longer true: the tail padding of a vbase
// FIXME: MSVC 2013 seems to require this-> to find member CurDir.
// FIXME: MSVC 2013 seems to require this-> to find member CurDir.
// FIXME: MSVC 2013 seems to require this-> to find member CGF.
// FIXME: MSVC 2013 seems to require this-> to find the member method.
// FIXME: MSVC 2013 seems to require this-> to find member CurDir.
// FIXME: These cases can result in overlap as a result of P0840R0's
// FIXME(bug 36976): ObjC return types shouldn't use TT_CastRParen.
// FIXME(bug 36976): ObjC return types shouldn't use TT_CastRParen.
// FIXME(bug 36976): ObjC return types shouldn't use TT_CastRParen.
// FIXME(bug 36976): ObjC return types shouldn't use TT_CastRParen.
// FIXME: Use "StringRef Path;" when MSVC 2013 is dropped.
// FIXME: Revisit this once core issue 1488 is resolved.
// FIXME: Per CWG1464, we are required to check the value prior to
// FIXME: PR 17877 showed that getCurLambda() can return a valid pointer
// FIXME: Per core issue 1407, we should not allow this, but that breaks
// FIXME: This attempts to implement C++ [temp.deduct.type]p17. Per DR1770,
// FIXME: Per core-2016/10/1019 (no corresponding core issue yet), permit
// FIXME: P0091R3 (erroneously) does not permit class template argument
// FIXME: P0091R3 does not permit class template argument deduction here,
// FIXME(ibiryukov): We should get rid of CHECK-DAGs here when completion output is made deterministic (see PR35244).
// FIXME: dllimport is dropped in the AST; this should be reflected in codegen (PR02803).
// FIXME: dllimport is dropped in the AST; this should be reflected in codegen (PR20803).
; FIXME: Fix machine verifier issues and remove -verify-machineinstrs=0. PR39436.
// The FIXMEs below are for PR19551.
// FIXME: cl emits warning C4407 on this code because of the representation
// FIXME PR16204: The following code leads to an assertion in Sema.
// FIXME: Once CWG 2070 is resolved, check whether this case should be
// FIXME: Once DR1640 is resolved, remove the check on forming an abstract
// FIXME: DR1407 will make this ill-formed
// FIXME: DR1407 will make this ill-formed
// FIXME: Remove the triple when PR27098 is fixed.
// FIXME: Superseded by dr1975
// FIXME: Per DR1113 and DR4, this is ill-formed due to ambiguity: the second
// FIXME: Under dr1315, this is perhaps valid, but that is not clear: this
// FIXME: As a resolution to an open DR against P0136R0, we disallow
// FIXME: As a resolution to an open DR against P0136R0, we disallow
// FIXME: As a resolution to an open DR against P0136R1, we treat derived
// FIXME: dr1477 says this is ok, dr165 says it's ill-formed
// FIXME: dr165 says this is ill-formed, but the argument in dr1477 says it's ok
namespace dr314 { // FIXME 314: dup 1710
// FIXME: dup 1710
// FIXME: dr1017 reverses the wording of dr515, but the current draft has
// FIXME: Per core issue 1407, this is not correct.
// FIXME: This is illegal, but probably only because CWG1044 missed this paragraph.
// FIXME: Adding '::PR12297::' is not needed as removing 'A::' is sufficient
// FIXME: PR20299 - getCanonicalName() is not implemented on Windows.
// FIXME: This is PR7655
// FIXME: This is valid now, but may be made ill-formed by DR1607.
// FIXME: undefs don't work well with pchs yet, see PR31311
// FIXME: We can recover better in almost all of these cases. (PR13335)
// FIXME: Not clear what our behavior should be here; \u0024 is "$".
// FIXME: The "incompatible result type" error is due to pr10112 and should be
template<typename T> static decltype(auto) g0(T x) { return x.n; } // FIXME (PR38883): expected-error {{private}}
// FIXME (PR38883): This friend declaration doesn't actually work, because
// FIXME (PR38882): 'A' names the class template not the injected-class-name here!
// FIXME (PR38882): ::T hides the template parameter if both are named T here!
// FIXME: This should not be an error when targeting MSVC. (PR21406)
// FIXME: This should not be an error when targeting MSVC. (PR21406)
// FIXME: This should not be an error when targeting MSVC. (PR21406)
// FIXME: This should not be an error when targeting MSVC. (PR21406)
// FIXME: should suggest 'PR19681::TypoB::private_memfn' instead of '::PR19681::TypoB::private_memfn'
// FIXME: This doesn't work. PR4996.
//FIXME: Bug 32066 - Error should be emitted irrespective of C++ dialect
//FIXME: Bug 32066 - Error should be emitted irrespective of C++ dialect
//FIXME: Bug 32066 - Error should be emitted irrespective of C++ dialect
//FIXME: Bug 32066 - Error should be emitted irrespective of C++ dialect
// FIXME(flip1995): messy, improve if there is a better option
over(&left.args, &right.args, |l, r| self.eq_generic_arg(l, r)) // FIXME(flip1995): may not work
FIXME: uncomment once https://github.com/rust-lang/rust/issues/31910 is fixed
// FIXME(#33000) -- it'd be better to use a dedicated
// FIXME(#33000) -- it'd be better to use a dedicated UI harness
// FIXME(#33435) Avoid spurious failures in codegen-units/partitioning tests.
// FIXME(#41968): Move this check to tidy?
// FIXME (#9639): This needs to handle non-utf8 paths
// FIXME: This is glibc PR20543, we should remove this hack once that has been
// FIXME: (char16_t &) RC16_24 = {{.*}} (&::RC16_24 = U+0014)
// FIXME: (const char16_t &) CRC16_24 = {{.*}} (&::CRC16_24 = U+0014)
# FIXME: this test is disabled due to lldb bug llvm.org/pr24271.
//FIXME: Once that bug is fixed, increase the size to 16*1024 and enable on all platforms.
// FIXME(#1195): This led to spurious failures on macOS; possibly
// FIXME(#2531) - we should unify the comparison code here with the formatting
check_pass("FIXME(#1222)\n");
check_pass("FIXME(@maintainer, #1222, hello)\n");
// FIXME(#2055): rustfmt fails to format when there are comments between trait bounds.
// FIXME(#1539): implement for non-sugared macros.
// FIXME(#2455): Reorder trait items.
// FIXME(#2183) these tests cannot be run in parallel because they use env vars
FIXME (#3300): Should allow items to be anonymous. Right now
* FIXME (#3300): Should allow items to be anonymous. Right now
// FIXME (#3300): Should allow items to be anonymous. Right now
// FIXME (#3300): Should allow items to be anonymous. Right now

code -> issue

# This is a half baked script to fined fixmes on closed issues in rust
# It requers python 2.7, github3, and a chekout of rust.
# This is used in the metabug https://github.com/rust-lang/rust/issues/44366
# If you make or want to make this bigger-better please be in tuch. I'd love to help! Or, see what you accomplish!
import os
from os.path import join
import re
import subprocess
from github3 import login
from time import sleep
gh = login(token="...")
sha = subprocess.check_output(
["git", "rev-parse", "--verify", "HEAD"], cwd='rust/src').strip()
from functools import wraps
def memoize(function):
memo = {}
@wraps(function)
def wrapper(*args):
try:
return memo[args]
except KeyError:
rv = function(*args)
memo[args] = rv
return rv
return wrapper
@memoize
def is_closed(id):
response = gh.issue("rust-lang", "rust", id)
try:
ratelimit_remaining = response.ratelimit_remaining
if ratelimit_remaining <= 1000:
sleep_time = (60 * 60.0) / response.ratelimit_remaining
else:
sleep_time = 0
except:
sleep_time = 0
print response.ratelimit_remaining, sleep_time
sleep(sleep_time)
return response.is_closed()
with open("fixme.md", 'wb') as f:
f.write("This is the output of a half baked and first draft script to fined fixmes on closed issues in rust.\n")
for root, dirs, files in os.walk('rust/src'):
for file_name in [join(root, name) for name in files]:
for num, line in enumerate(open(file_name, 'r')):
match = re.search("FIXME.*?(\d{4,6})", line, re.IGNORECASE)
if match:
if is_closed(match.group(1)):
code_url = "https://github.com/rust-lang/rust/blob/" + sha + \
"/" + \
file_name.replace(
"\\", "/")[5:] + '#L' + str(num + 1)
issue_url = 'https://github.com/rust-lang/rust/issues/' + \
match.group(1)
f.write("--------------\n```\n" +
line.strip() + "\n```\n\n")
f.write("[code](" + code_url +
') -> [issue](' + issue_url + ")\n")
print "up lode to gist"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment