// RUN: %clang_cc1 -fblocks -fobjc-arc -fobjc-runtime-has-weak %s -verify
// rdar://21612439
@class Forward;
@class Forward2;
// Tests for generic arguments.
void
void
void
// Test that this doesn't completely kill downstream type-checking.
void
void
void
// Typedefs are fine, just silently ignore them.
typedef __strong id StrongID;
void
typedef __strong Forward *StrongForward;
void
// These aren't really ARC-specific, but they're the same basic idea.
void
void
void
// Tests for generic parameter bounds.
// These aren't really ARC-specific, but they're the same basic idea.