Skip to content

Commit

Permalink
Remove rdar links; NFC
Browse files Browse the repository at this point in the history
This removes links to rdar, which is an internal bug tracker that the
community doesn't have visibility into.

See further discussion at:
https://discourse.llvm.org/t/code-review-reminder-about-links-in-code-commit-messages/71847
  • Loading branch information
AaronBallman committed Jul 7, 2023
1 parent d8dc1c2 commit d618f1c
Show file tree
Hide file tree
Showing 1,244 changed files with 7,680 additions and 9,800 deletions.
3 changes: 1 addition & 2 deletions clang/lib/Analysis/CFG.cpp
Expand Up @@ -2252,8 +2252,7 @@ CFGBlock *CFGBuilder::Visit(Stmt * S, AddStmtChoice asc,
// FIXME: The expression inside a CXXDefaultArgExpr is owned by the
// called function's declaration, not by the caller. If we simply add
// this expression to the CFG, we could end up with the same Expr
// appearing multiple times.
// PR13385 / <rdar://problem/12156507>
// appearing multiple times. PR13385
//
// It's likewise possible for multiple CXXDefaultInitExprs for the same
// expression to be used in the same function (through aggregate
Expand Down
18 changes: 3 additions & 15 deletions clang/lib/Analysis/RetainSummaryManager.cpp
Expand Up @@ -301,7 +301,6 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(

std::string RetTyName = RetTy.getAsString();
if (FName == "pthread_create" || FName == "pthread_setspecific") {
// Part of: <rdar://problem/7299394> and <rdar://problem/11282706>.
// This will be addressed better with IPA.
return getPersistentStopSummary();
} else if(FName == "NSMakeCollectable") {
Expand All @@ -311,7 +310,6 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(
: getPersistentStopSummary();
} else if (FName == "CMBufferQueueDequeueAndRetain" ||
FName == "CMBufferQueueDequeueIfDataReadyAndRetain") {
// Part of: <rdar://problem/39390714>.
return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF),
ScratchArgs,
ArgEffect(DoNothing),
Expand All @@ -324,13 +322,11 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(
FName == "IOServiceNameMatching" ||
FName == "IORegistryEntryIDMatching" ||
FName == "IOOpenFirmwarePathMatching"))) {
// Part of <rdar://problem/6961230>. (IOKit)
// This should be addressed using a API table.
return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF), ScratchArgs,
ArgEffect(DoNothing), ArgEffect(DoNothing));
} else if (FName == "IOServiceGetMatchingService" ||
FName == "IOServiceGetMatchingServices") {
// FIXES: <rdar://problem/6326900>
// This should be addressed using a API table. This strcmp is also
// a little gross, but there is no need to super optimize here.
ScratchArgs = AF.add(ScratchArgs, 1, ArgEffect(DecRef, ObjKind::CF));
Expand All @@ -339,14 +335,12 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(
ArgEffect(DoNothing), ArgEffect(DoNothing));
} else if (FName == "IOServiceAddNotification" ||
FName == "IOServiceAddMatchingNotification") {
// Part of <rdar://problem/6961230>. (IOKit)
// This should be addressed using a API table.
ScratchArgs = AF.add(ScratchArgs, 2, ArgEffect(DecRef, ObjKind::CF));
return getPersistentSummary(RetEffect::MakeNoRet(),
ScratchArgs,
ArgEffect(DoNothing), ArgEffect(DoNothing));
} else if (FName == "CVPixelBufferCreateWithBytes") {
// FIXES: <rdar://problem/7283567>
// Eventually this can be improved by recognizing that the pixel
// buffer passed to CVPixelBufferCreateWithBytes is released via
// a callback and doing full IPA to make sure this is done correctly.
Expand All @@ -357,15 +351,13 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(
ScratchArgs,
ArgEffect(DoNothing), ArgEffect(DoNothing));
} else if (FName == "CGBitmapContextCreateWithData") {
// FIXES: <rdar://problem/7358899>
// Eventually this can be improved by recognizing that 'releaseInfo'
// passed to CGBitmapContextCreateWithData is released via
// a callback and doing full IPA to make sure this is done correctly.
ScratchArgs = AF.add(ScratchArgs, 8, ArgEffect(ArgEffect(StopTracking)));
return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF), ScratchArgs,
ArgEffect(DoNothing), ArgEffect(DoNothing));
} else if (FName == "CVPixelBufferCreateWithPlanarBytes") {
// FIXES: <rdar://problem/7283567>
// Eventually this can be improved by recognizing that the pixel
// buffer passed to CVPixelBufferCreateWithPlanarBytes is released
// via a callback and doing full IPA to make sure this is done
Expand All @@ -386,10 +378,9 @@ const RetainSummary *RetainSummaryManager::getSummaryForObjCOrCFObject(
ArgEffect(DoNothing), ArgEffect(DoNothing));
} else if (FName == "dispatch_set_context" ||
FName == "xpc_connection_set_context") {
// <rdar://problem/11059275> - The analyzer currently doesn't have
// a good way to reason about the finalizer function for libdispatch.
// If we pass a context object that is memory managed, stop tracking it.
// <rdar://problem/13783514> - Same problem, but for XPC.
// The analyzer currently doesn't have a good way to reason about the
// finalizer function for libdispatch. If we pass a context object that is
// memory managed, stop tracking it.
// FIXME: this hack should possibly go away once we can handle
// libdispatch and XPC finalizers.
ScratchArgs = AF.add(ScratchArgs, 1, ArgEffect(StopTracking));
Expand Down Expand Up @@ -740,7 +731,6 @@ RetainSummaryManager::canEval(const CallExpr *CE, const FunctionDecl *FD,
// It's okay to be a little sloppy here.
if (FName == "CMBufferQueueDequeueAndRetain" ||
FName == "CMBufferQueueDequeueIfDataReadyAndRetain") {
// Part of: <rdar://problem/39390714>.
// These are not retain. They just return something and retain it.
return std::nullopt;
}
Expand Down Expand Up @@ -1243,7 +1233,6 @@ void RetainSummaryManager::InitializeMethodSummaries() {
// FIXME: For now we opt for false negatives with NSWindow, as these objects
// self-own themselves. However, they only do this once they are displayed.
// Thus, we need to track an NSWindow's display status.
// This is tracked in <rdar://problem/6062711>.
// See also http://llvm.org/bugs/show_bug.cgi?id=3714.
const RetainSummary *NoTrackYet =
getPersistentSummary(RetEffect::MakeNoRet(), ScratchArgs,
Expand All @@ -1259,7 +1248,6 @@ void RetainSummaryManager::InitializeMethodSummaries() {

// For NSNull, objects returned by +null are singletons that ignore
// retain/release semantics. Just don't track them.
// <rdar://problem/12858915>
addClassMethSummary("NSNull", "null", NoTrackYet);

// Don't track allocated autorelease pools, as it is okay to prematurely
Expand Down
7 changes: 3 additions & 4 deletions clang/lib/CodeGen/CGObjCMac.cpp
Expand Up @@ -3329,7 +3329,7 @@ CGObjCCommonMac::EmitProtocolMethodTypes(Twine Name,
struct _objc_method_list *instance_methods;
struct _objc_method_list *class_methods;
struct _objc_protocol_list *protocols;
uint32_t size; // <rdar://4585769>
uint32_t size;
struct _objc_property_list *instance_properties;
struct _objc_property_list *class_properties;
};
Expand Down Expand Up @@ -4492,8 +4492,7 @@ llvm::FunctionType *FragileHazards::GetAsmFnType() {
indeterminate value. For the purposes of LLVM IR, it may be
sufficient to make loads and stores within the @try (to variables
declared outside the @try) volatile. This is necessary for
optimized correctness, but is not currently being done; this is
being tracked as rdar://problem/8160285
optimized correctness, but is not currently being done.
The basic framework for a @try-catch-finally is as follows:
{
Expand Down Expand Up @@ -5092,7 +5091,7 @@ enum ImageInfoFlags {
eImageInfo_OptimizedByDyld = (1 << 3), // This flag is set by the dyld shared cache.

// A flag indicating that the module has no instances of a @synthesize of a
// superclass variable. <rdar://problem/6803242>
// superclass variable.
eImageInfo_CorrectedSynthesize = (1 << 4), // This flag is no longer set by clang.
eImageInfo_ImageIsSimulated = (1 << 5),
eImageInfo_ClassProperties = (1 << 6)
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/CodeGen/CodeGenModule.cpp
Expand Up @@ -5989,7 +5989,7 @@ CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
}

// Note: -fwritable-strings doesn't make the backing store strings of
// CFStrings writable. (See <rdar://problem/10657500>)
// CFStrings writable.
auto *GV =
new llvm::GlobalVariable(getModule(), C->getType(), /*isConstant=*/true,
llvm::GlobalValue::PrivateLinkage, C, ".str");
Expand Down
3 changes: 1 addition & 2 deletions clang/lib/Driver/ToolChains/Clang.cpp
Expand Up @@ -5531,8 +5531,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
}

// Enable -mconstructor-aliases except on darwin, where we have to work around
// a linker bug (see <rdar://problem/7651567>), and CUDA device code, where
// aliases aren't supported.
// a linker bug, and CUDA device code, where aliases aren't supported.
if (!RawTriple.isOSDarwin() && !RawTriple.isNVPTX())
CmdArgs.push_back("-mconstructor-aliases");

Expand Down
4 changes: 1 addition & 3 deletions clang/lib/Sema/SemaObjCProperty.cpp
Expand Up @@ -2795,9 +2795,7 @@ void Sema::CheckObjCPropertyAttributes(Decl *PDecl,
}

// FIXME: Implement warning dependent on NSCopying being
// implemented. See also:
// <rdar://5168496&4855821&5607453&5096644&4947311&5698469&4947014&5168496>
// (please trim this list while you are at it).
// implemented. (Please trim this list while you are at it.)
}

if (!(Attributes & ObjCPropertyAttribute::kind_copy) &&
Expand Down
5 changes: 0 additions & 5 deletions clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
Expand Up @@ -219,7 +219,6 @@ void WalkAST::VisitForStmt(ForStmt *FS) {

//===----------------------------------------------------------------------===//
// Check: floating point variable used as loop counter.
// Originally: <rdar://problem/6336718>
// Implements: CERT security coding advisory FLP-30.
//===----------------------------------------------------------------------===//

Expand Down Expand Up @@ -468,7 +467,6 @@ void WalkAST::checkCall_bzero(const CallExpr *CE, const FunctionDecl *FD) {

//===----------------------------------------------------------------------===//
// Check: Any use of 'gets' is insecure.
// Originally: <rdar://problem/6335715>
// Implements (part of): 300-BSI (buildsecurityin.us-cert.gov)
// CWE-242: Use of Inherently Dangerous Function
//===----------------------------------------------------------------------===//
Expand Down Expand Up @@ -848,7 +846,6 @@ bool WalkAST::checkCall_strCommon(const CallExpr *CE, const FunctionDecl *FD) {

//===----------------------------------------------------------------------===//
// Check: Linear congruent random number generators should not be used
// Originally: <rdar://problem/63371000>
// CWE-338: Use of cryptographically weak prng
//===----------------------------------------------------------------------===//

Expand Down Expand Up @@ -892,7 +889,6 @@ void WalkAST::checkCall_rand(const CallExpr *CE, const FunctionDecl *FD) {

//===----------------------------------------------------------------------===//
// Check: 'random' should not be used
// Originally: <rdar://problem/63371000>
//===----------------------------------------------------------------------===//

void WalkAST::checkCall_random(const CallExpr *CE, const FunctionDecl *FD) {
Expand Down Expand Up @@ -991,7 +987,6 @@ void WalkAST::checkMsg_decodeValueOfObjCType(const ObjCMessageExpr *ME) {

//===----------------------------------------------------------------------===//
// Check: Should check whether privileges are dropped successfully.
// Originally: <rdar://problem/6337132>
//===----------------------------------------------------------------------===//

void WalkAST::checkUncheckedReturnValue(CallExpr *CE) {
Expand Down
Expand Up @@ -786,9 +786,8 @@ RefLeakReportVisitor::getEndPath(BugReporterContext &BRC,
assert(RV);

if (RV->getKind() == RefVal::ErrorLeakReturned) {
// FIXME: Per comments in rdar://6320065, "create" only applies to CF
// objects. Only "copy", "alloc", "retain" and "new" transfer ownership
// to the caller for NS objects.
// FIXME: "create" only applies to CF objects. Only "copy", "alloc",
// "retain" and "new" transfer ownership to the caller for NS objects.
const Decl *D = &EndN->getCodeDecl();

os << (isa<ObjCMethodDecl>(D) ? " is returned from a method "
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/StaticAnalyzer/Core/CallEvent.cpp
Expand Up @@ -765,7 +765,7 @@ RuntimeDefinition CXXInstanceCall::getRuntimeDefinition() const {
// the static type. However, because we currently don't update
// DynamicTypeInfo when an object is cast, we can't actually be sure the
// DynamicTypeInfo is up to date. This assert should be re-enabled once
// this is fixed. <rdar://problem/12287087>
// this is fixed.
//assert(!MD->getParent()->isDerivedFrom(RD) && "Bad DynamicTypeInfo");

return {};
Expand Down
2 changes: 1 addition & 1 deletion clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
Expand Up @@ -178,7 +178,7 @@ void ExprEngine::VisitObjCMessage(const ObjCMessageExpr *ME,
// We could avoid dropping coverage by performing an explicit case split
// on each method call -- but this would get very expensive. An alternative
// would be to introduce lazy constraints.
// FIXME: This ignores many potential bugs (<rdar://problem/11733396>).
// FIXME: This ignores many potential bugs.
// Revisit once we have lazier constraints.
if (Msg->isInstanceMessage()) {
SVal recVal = Msg->getReceiverSVal();
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/GC-check-warn-nsalloc.m
@@ -1,7 +1,6 @@
// RUN: %clang_cc1 -arcmt-action=check -no-ns-alloc-error -triple x86_64-apple-darwin10 -fobjc-gc-only %s 2>&1 | grep 'warning: \[rewriter\] call returns pointer to GC managed memory'
// RUN: %clang_cc1 -arcmt-action=check -no-ns-alloc-error -triple x86_64-apple-darwin10 -fobjc-gc-only -x objective-c++ %s 2>&1 | grep 'warning: \[rewriter\] call returns pointer to GC managed memory'
// TODO: Investigate VerifyDiagnosticConsumer failures on these tests when using -verify.
// rdar://10532541

typedef unsigned NSUInteger;
void *__strong NSAllocateCollectable(NSUInteger size, NSUInteger options);
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/GC-no-finalize-removal.m
Expand Up @@ -77,7 +77,6 @@ -(void)test1:(CFTypeRef *)cft {
}
@end

// rdar://10532449
@interface rdar10532449
@property (assign) id assign_prop;
@property (assign, readonly) id __strong strong_readonly_prop;
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/GC-no-finalize-removal.m.result
Expand Up @@ -85,7 +85,6 @@ __attribute__((objc_arc_weak_reference_unavailable))
}
@end

// rdar://10532449
@interface rdar10532449
@property (strong) id assign_prop;
@property (strong, readonly) id strong_readonly_prop;
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/GC.m
Expand Up @@ -77,7 +77,6 @@ -(void)test1:(CFTypeRef *)cft {
}
@end

// rdar://10532449
@interface rdar10532449
@property (assign) id assign_prop;
@property (assign, readonly) id __strong strong_readonly_prop;
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/GC.m.result
Expand Up @@ -72,7 +72,6 @@ __attribute__((objc_arc_weak_reference_unavailable))
}
@end

// rdar://10532449
@interface rdar10532449
@property (strong) id assign_prop;
@property (strong, readonly) id strong_readonly_prop;
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/check-with-pch.m
Expand Up @@ -2,7 +2,6 @@
// RUN: %clang_cc1 -include-pch %t.pch -arcmt-action=check -verify -triple x86_64-apple-darwin10 -fblocks -Werror %s
// REQUIRES: x86-registered-target

// rdar://9601437
@interface I9601437 {
__unsafe_unretained id x;
}
Expand Down
4 changes: 0 additions & 4 deletions clang/test/ARCMT/checking.m
Expand Up @@ -288,7 +288,6 @@ id test9(Test9 *v) {
return [v init1];
}

// rdar://9491791
void rdar9491791(int p) {
switch (p) {
case 3:;
Expand All @@ -302,12 +301,10 @@ void rdar9491791(int p) {

#define RELEASE_MACRO(x) do { [x release]; } while(1)

// rdar://9504750
void rdar9504750(id p) {
RELEASE_MACRO(p); // expected-error {{ARC forbids explicit message send of 'release'}}
}

// rdar://8939557
@interface TestReadonlyProperty : NSObject
@property(assign,readonly) NSObject *value;
@end
Expand All @@ -319,7 +316,6 @@ - (void)viewDidLoad {
}
@end

// rdar://9601437
@interface I9601437 {
__unsafe_unretained id x;
}
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/no-canceling-bridge-to-bridge-cast.m
@@ -1,5 +1,4 @@
// RUN: %clang_cc1 -arcmt-action=check -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -verify %s
// rdar://10387088
typedef const void * CFTypeRef;
CFTypeRef CFBridgingRetain(id X);
id CFBridgingRelease(CFTypeRef);
Expand Down
1 change: 0 additions & 1 deletion clang/test/ARCMT/nonobjc-to-objc-cast-2.m
Expand Up @@ -56,7 +56,6 @@ CFStringRef f3(void) {

extern void NSLog(NSString *format, ...);

// rdar://13192395
void f4(NSString *s) {
NSLog(@"%@", (CFStringRef)s); // expected-error {{cast of Objective-C pointer type 'NSString *' to C pointer type 'CFStringRef' (aka 'const struct __CFString *') requires a bridged cast}} \
// expected-note{{use __bridge to convert directly (no change in ownership)}} \
Expand Down

0 comments on commit d618f1c

Please sign in to comment.