[llvm-commits] [llvm-gcc-4.2] r54499 - /llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/

Bill Wendling isanbard at gmail.com
Thu Aug 7 18:03:12 PDT 2008


Author: void
Date: Thu Aug  7 20:03:11 2008
New Revision: 54499

URL: http://llvm.org/viewvc/llvm-project?rev=54499&view=rev
Log:
Add non-blocks tests. Blocks tests will come later with a blocks support update.


Added:
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5774356.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5799099.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5951842.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/arm-ne-zero.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-4.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-5.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/condexec-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-5.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-4.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-4.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-5.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-6.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-7.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-8.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/stack-protect-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/ucn-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/utf-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-4.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-5.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/visibility-1.c

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5774356.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5774356.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5774356.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5774356.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,45 @@
+/* APPLE LOCAL file 5774356 */
+/* { dg-do run { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
+
+#include <stdlib.h>
+#include <altivec.h>
+
+#define NOINLINE __attribute__ ((__noinline__))
+
+typedef int __attribute__((vector_size(16))) v4si;
+
+int global_count;
+v4si ref1 = { 1, 1, 1, 1 };
+v4si ref2 = { 2, 2, 2, 2 };
+v4si var1 = { 1, 1, 1, 1 };
+v4si var2 = { 2, 2, 2, 2 };
+
+void NOINLINE f0 ()
+{
+  global_count++;
+}
+
+void NOINLINE f1 ()
+{
+  v4si t = var1;
+  f0 ();
+  var1 = t;
+}
+
+void NOINLINE f2 ()
+{
+  v4si t = var2;
+  f1 ();
+  var2 = t;
+}
+
+main ()
+{
+  f2 ();
+  if (!vec_all_eq (var1, ref1))
+    abort ();
+  if (!vec_all_eq (var2, ref2))
+    abort ();
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5799099.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5799099.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5799099.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5799099.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,21 @@
+/* APPLE LOCAL file 5799099 */
+/* { dg-do compile } */
+/* { dg-options "-O" } */
+typedef struct CGSZone {
+  void *context;
+  void (*free)(void *context, void *ptr);
+} CGSZone;
+
+static void
+CGSZoneFree(CGSZone *zone, void *ptr)
+{
+  (*zone->free)(zone->context, ptr);
+}
+
+void
+release_bitmap_data(void *info, const void *data)
+{
+  /* The compiler should not warn when we explicitly cast away "const"
+     here: */
+  CGSZoneFree(info, (void *)data);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5951842.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5951842.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5951842.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5951842.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,12 @@
+/* APPLE LOCAL file 5951842 */
+/* { dg-do compile { target "i?86-*-darwin*" } } */
+/* { dg-options "-O1" } */
+  /* Should generate one SSE2 insn; under -O1 -m64, was shifting in rdx:rax.  */
+/* { dg-final { scan-assembler "psrldq" } } */
+#include <emmintrin.h>
+__m128i
+f (__m128i v_row)
+{
+  /* This is a 40-bit left shift.  */
+  return _mm_srli_si128(v_row, 5);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/arm-ne-zero.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/arm-ne-zero.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/arm-ne-zero.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/arm-ne-zero.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,20 @@
+/* APPLE LOCAL file 4382996 */
+/* Verify that the result of a binary operator != 0 doesn't generate a
+   redundant move instruction.  */
+
+/* { dg-do compile { target arm*-*-darwin* } } */
+/* { dg-options "-Os" } */
+/* { dg-skip-if "Not valid with -mthumb" { *-*-* } { "-mthumb" } { "" } } */
+
+int test_plus     (int a, int b) { return (a + b) != 0; }
+int test_and      (int a, int b) { return (a & b) != 0; }
+int test_minus    (int a, int b) { return (a - b) != 0; }
+int test_mult     (int a, int b) { return (a * b) != 0; }
+int test_ior      (int a, int b) { return (a | b) != 0; }
+int test_xor      (int a, int b) { return (a ^ b) != 0; }
+int test_ashift   (int a, int b) { return (a << b) != 0; }
+int test_ashiftrt (int a, int b) { return (a >> b) != 0; }
+unsigned int test_lshiftrt (unsigned int a, unsigned int b) { return (a >> b) != 0; }
+
+/* { dg-final { scan-assembler-times "movne" 9 } } */
+/* { dg-final { scan-assembler-not "moveq" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,63 @@
+/* APPLE LOCAL file bswap support */
+/* Test for generation of architecture-specific endianness-swap instructions. */
+/* { dg-do compile } */
+
+/* These tests should work at -O1 and above.  */
+/* { dg-options "-O1 -std=gnu99" } */
+
+extern void abort(void);
+typedef unsigned int uint32;
+typedef unsigned long long uint64;
+uint32 Reverse1 (uint32) __attribute__((noinline));
+uint32 Reverse2 (uint32) __attribute__((noinline));
+unsigned int Reverse3 (unsigned int) __attribute__((noinline));
+uint64 llReverse1 (uint64) __attribute__((noinline));
+uint64 llReverse2 (uint64) __attribute__((noinline));
+unsigned long long llReverse3 (unsigned long long) __attribute__((noinline));
+
+uint32 Reverse1 (uint32 x) {
+  return (x<<24) | ((x<<8) & 0x00ff0000) | ((x>>8) & 0x0000ff00) | (x>>24);
+}
+uint32 Reverse2 (uint32 x) {
+  return ((x<<24) & 0xff000000) | ((x<<8) & 0x00ff0000) | ((x>>8) & 0x0000ff00) | ((x>>24) & 0x000000ff);
+}
+unsigned int Reverse3 (unsigned int x) {
+  return ((x & 0x0000ff00) <<8) | ((x & 0x00ff0000) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+
+uint64 llReverse1 (uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+uint64 llReverse2 (uint64 x) {
+  return (x>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | (x<<56);
+}
+unsigned long long llReverse3 (unsigned long long x) {
+  return ((x<<40)&0x00FF000000000000ull) | ((x<<24)&0x0000FF0000000000ull) 
+	| ((x>>8)&0x00000000FF000000ull) | ((x>>24)&0x0000000000FF0000ull) |  ((x<<56)&0xFF00000000000000ull) | ((x<<8)&0x000000FF00000000ull) 
+        | ((x>>40)&0x000000000000FF00ull) | ((x>>56)&0x00000000000000FFull);
+}
+
+int main() {
+  unsigned int x = 0x12345678;
+  unsigned long long y = 0x123456789abcdef0ull;
+  if (Reverse1(x) != 0x78563412)
+    abort();
+  if (Reverse2(x) != 0x78563412)
+    abort();
+  if (Reverse3(x) != 0x78563412)
+    abort();
+  if (llReverse1(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse2(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse3(y) != 0xf0debc9a78563412ull)
+    abort();
+  return 0;
+}
+/* The capital R's throughout are so these match only instructions: */
+/* { dg-final { if [ istarget arm*-*-darwin* ] { global compiler_flags; if [string match "*-march=armv6*" $compiler_flags] { scan-assembler-times "\\\trev" 9 } } } } */
+/* { dg-final { if [ istarget i?86-*-darwin* ] { global compiler_flags; if ![string match "*-m64 *" $compiler_flags] { scan-assembler-times "\\\tbswap" 3 } } } } */
+/* { dg-final { if [ istarget i?86-*-darwin* ] { global compiler_flags; if [string match "*-m64 *" $compiler_flags] { scan-assembler-times "\\\tbswap" 6 } } } } */
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-2.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-2.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,69 @@
+/* APPLE LOCAL file bswap support */
+/* These cases should NOT generate bswap. */
+/* { dg-do compile } */
+/* { dg-options "-O1 -std=gnu99" } */
+
+typedef unsigned int uint32;
+typedef unsigned long long uint64;
+extern void abort(void);
+uint32 f (uint32) __attribute__((noinline));
+uint64 llf (uint64) __attribute__((noinline));
+unsigned int Reverse4 (volatile unsigned int) __attribute__((noinline));
+uint32 Reverse5 (uint32) __attribute__((noinline));
+unsigned int Reverse6 (unsigned int) __attribute__((noinline));
+uint64 llReverse4 (volatile uint64) __attribute__((noinline));
+unsigned long long llReverse5 (unsigned long long) __attribute__((noinline));
+uint64 llReverse6 (uint64) __attribute__((noinline));
+
+static int count = 0;
+static int llcount = 0; 
+uint32 f(uint32 x) { count++; return x; }
+uint64 llf(uint64 x) { llcount++; return x; }
+
+unsigned int Reverse4 (volatile unsigned int x) {   /* does NOT produce Rev */
+  return ((x & 0x0000ff00) <<8) | ((x & 0x00ff0000) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+uint32 Reverse5 (uint32 x) {    /* does NOT produce Rev */
+  return ((f(x) & 0x0000ff00) <<8) | ((f(x) & 0x00ff0000) >> 8) | ((f(x) & 0xff000000) >> 24) | ((f(x) & 0x000000ff) << 24);
+}
+unsigned int Reverse6 (unsigned int x) {
+  return ((x & 0x0000ff00) <<8) | ((x & 0x0000ff00) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+
+uint64 llReverse4 (volatile uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+unsigned long long llReverse5 (unsigned long long x) {
+  return ((llf(x)&0xFF00000000000000ull)>>56) | ((llf(x)&0x00FF000000000000ull)>>40) | ((llf(x)&0x0000FF0000000000ull)>>24) | ((llf(x)&0x000000FF00000000ull)>> 8) 
+	| ((llf(x)&0x00000000FF000000ull)<< 8) | ((llf(x)&0x0000000000FF0000ull)<<24) | ((llf(x)&0x000000000000FF00ull)<<40) | ((llf(x)&0x00000000000000FFull)<<56);
+}
+uint64 llReverse6 (uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) |  ((x&0x000000000000ff00ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+int main() {
+  unsigned int x = 0x12345678;
+  unsigned long long y = 0x123456789abcdef0ull;
+  if (Reverse4(x) != 0x78563412)
+    abort();
+  if (Reverse5(x) != 0x78563412)
+    abort();
+  if (count != 4)
+    abort();
+  if (Reverse6(x) != 0x78560056)
+    abort();
+  if (llReverse4(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse5(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llcount != 8)
+    abort();
+  if (llReverse6(y) != 0xf0debc9a005634deull)
+    abort();
+  return 0;
+}
+
+/* { dg-final { if [ istarget arm*-*-darwin* ] { scan-assembler-not "\\\trev" } } } */
+/* { dg-final { if [ istarget i?86-*-darwin* ] { scan-assembler-not "\\\tbswap" } } } */
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-3.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-3.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-3.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,55 @@
+/* APPLE LOCAL file bswap support */
+/* { dg-do run } */
+/* { dg-options "-O2 -std=gnu99" } */
+
+extern void abort(void);
+typedef unsigned int uint32;
+typedef unsigned long long uint64;
+uint32 Reverse1 (uint32) __attribute__((noinline));
+uint32 Reverse2 (uint32) __attribute__((noinline));
+unsigned int Reverse3 (unsigned int) __attribute__((noinline));
+uint64 llReverse1 (uint64) __attribute__((noinline));
+uint64 llReverse2 (uint64) __attribute__((noinline));
+unsigned long long llReverse3 (unsigned long long) __attribute__((noinline));
+
+uint32 Reverse1 (uint32 x) {
+  return (x<<24) | ((x<<8) & 0x00ff0000) | ((x>>8) & 0x0000ff00) | (x>>24);
+}
+uint32 Reverse2 (uint32 x) {
+  return ((x<<24) & 0xff000000) | ((x<<8) & 0x00ff0000) | ((x>>8) & 0x0000ff00) | ((x>>24) & 0x000000ff);
+}
+unsigned int Reverse3 (unsigned int x) {
+  return ((x & 0x0000ff00) <<8) | ((x & 0x00ff0000) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+
+uint64 llReverse1 (uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+uint64 llReverse2 (uint64 x) {
+  return (x>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | (x<<56);
+}
+unsigned long long llReverse3 (unsigned long long x) {
+  return ((x<<40)&0x00FF000000000000ull) | ((x<<24)&0x0000FF0000000000ull) 
+	| ((x>>8)&0x00000000FF000000ull) | ((x>>24)&0x0000000000FF0000ull) |  ((x<<56)&0xFF00000000000000ull) | ((x<<8)&0x000000FF00000000ull) 
+        | ((x>>40)&0x000000000000FF00ull) | ((x>>56)&0x00000000000000FFull);
+}
+
+int main() {
+  unsigned int x = 0x12345678;
+  unsigned long long y = 0x123456789abcdef0ull;
+  if (Reverse1(x) != 0x78563412)
+    abort();
+  if (Reverse2(x) != 0x78563412)
+    abort();
+  if (Reverse3(x) != 0x78563412)
+    abort();
+  if (llReverse1(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse2(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse3(y) != 0xf0debc9a78563412ull)
+    abort();
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-4.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-4.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-4.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-4.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,65 @@
+/* APPLE LOCAL file bswap support */
+/* These cases should NOT generate bswap. */
+/* { dg-do run } */
+/* { dg-options "-O2 -std=gnu99" } */
+
+typedef unsigned int uint32;
+typedef unsigned long long uint64;
+extern void abort(void);
+uint32 f (uint32) __attribute__((noinline));
+uint64 llf (uint64) __attribute__((noinline));
+unsigned int Reverse4 (volatile unsigned int) __attribute__((noinline));
+uint32 Reverse5 (uint32) __attribute__((noinline));
+unsigned int Reverse6 (unsigned int) __attribute__((noinline));
+uint64 llReverse4 (volatile uint64) __attribute__((noinline));
+unsigned long long llReverse5 (unsigned long long) __attribute__((noinline));
+uint64 llReverse6 (uint64) __attribute__((noinline));
+
+static int count = 0;
+static int llcount = 0; 
+uint32 f(uint32 x) { count++; return x; }
+uint64 llf(uint64 x) { llcount++; return x; }
+
+unsigned int Reverse4 (volatile unsigned int x) {   /* does NOT produce Rev */
+  return ((x & 0x0000ff00) <<8) | ((x & 0x00ff0000) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+uint32 Reverse5 (uint32 x) {    /* does NOT produce Rev */
+  return ((f(x) & 0x0000ff00) <<8) | ((f(x) & 0x00ff0000) >> 8) | ((f(x) & 0xff000000) >> 24) | ((f(x) & 0x000000ff) << 24);
+}
+unsigned int Reverse6 (unsigned int x) {
+  return ((x & 0x0000ff00) <<8) | ((x & 0x0000ff00) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+
+uint64 llReverse4 (volatile uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+unsigned long long llReverse5 (unsigned long long x) {
+  return ((llf(x)&0xFF00000000000000ull)>>56) | ((llf(x)&0x00FF000000000000ull)>>40) | ((llf(x)&0x0000FF0000000000ull)>>24) | ((llf(x)&0x000000FF00000000ull)>> 8) 
+	| ((llf(x)&0x00000000FF000000ull)<< 8) | ((llf(x)&0x0000000000FF0000ull)<<24) | ((llf(x)&0x000000000000FF00ull)<<40) | ((llf(x)&0x00000000000000FFull)<<56);
+}
+uint64 llReverse6 (uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) |  ((x&0x000000000000ff00ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+int main() {
+  unsigned int x = 0x12345678;
+  unsigned long long y = 0x123456789abcdef0ull;
+  if (Reverse4(x) != 0x78563412)
+    abort();
+  if (Reverse5(x) != 0x78563412)
+    abort();
+  if (count != 4)
+    abort();
+  if (Reverse6(x) != 0x78560056)
+    abort();
+  if (llReverse4(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse5(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llcount != 8)
+    abort();
+  if (llReverse6(y) != 0xf0debc9a005634deull)
+    abort();
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-5.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-5.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-5.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/bswap-5.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,69 @@
+/* APPLE LOCAL file bswap support */
+/* These cases should NOT generate bswap. */
+/* { dg-do compile } */
+/* { dg-options "-O0 -std=gnu99" } */
+
+typedef unsigned int uint32;
+typedef unsigned long long uint64;
+extern void abort(void);
+uint32 f (uint32) __attribute__((noinline));
+uint64 llf (uint64) __attribute__((noinline));
+unsigned int Reverse4 (volatile unsigned int) __attribute__((noinline));
+uint32 Reverse5 (uint32) __attribute__((noinline));
+unsigned int Reverse6 (unsigned int) __attribute__((noinline));
+uint64 llReverse4 (volatile uint64) __attribute__((noinline));
+unsigned long long llReverse5 (unsigned long long) __attribute__((noinline));
+uint64 llReverse6 (uint64) __attribute__((noinline));
+
+static int count = 0;
+static int llcount = 0; 
+uint32 f(uint32 x) { count++; return x; }
+uint64 llf(uint64 x) { llcount++; return x; }
+
+unsigned int Reverse4 (volatile unsigned int x) {   /* does NOT produce Rev */
+  return ((x & 0x0000ff00) <<8) | ((x & 0x00ff0000) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+uint32 Reverse5 (uint32 x) {    /* does NOT produce Rev */
+  return ((f(x) & 0x0000ff00) <<8) | ((f(x) & 0x00ff0000) >> 8) | ((f(x) & 0xff000000) >> 24) | ((f(x) & 0x000000ff) << 24);
+}
+unsigned int Reverse6 (unsigned int x) {
+  return ((x & 0x0000ff00) <<8) | ((x & 0x0000ff00) >> 8) | ((x & 0xff000000) >> 24) | ((x & 0x000000ff) << 24);
+}
+
+uint64 llReverse4 (volatile uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) | ((x&0x000000FF00000000ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+unsigned long long llReverse5 (unsigned long long x) {
+  return ((llf(x)&0xFF00000000000000ull)>>56) | ((llf(x)&0x00FF000000000000ull)>>40) | ((llf(x)&0x0000FF0000000000ull)>>24) | ((llf(x)&0x000000FF00000000ull)>> 8) 
+	| ((llf(x)&0x00000000FF000000ull)<< 8) | ((llf(x)&0x0000000000FF0000ull)<<24) | ((llf(x)&0x000000000000FF00ull)<<40) | ((llf(x)&0x00000000000000FFull)<<56);
+}
+uint64 llReverse6 (uint64 x) {
+  return ((x&0xFF00000000000000ull)>>56) | ((x&0x00FF000000000000ull)>>40) | ((x&0x0000FF0000000000ull)>>24) |  ((x&0x000000000000ff00ull)>> 8) 
+	| ((x&0x00000000FF000000ull)<< 8) | ((x&0x0000000000FF0000ull)<<24) | ((x&0x000000000000FF00ull)<<40) | ((x&0x00000000000000FFull)<<56);
+}
+int main() {
+  unsigned int x = 0x12345678;
+  unsigned long long y = 0x123456789abcdef0ull;
+  if (Reverse4(x) != 0x78563412)
+    abort();
+  if (Reverse5(x) != 0x78563412)
+    abort();
+  if (count != 4)
+    abort();
+  if (Reverse6(x) != 0x78560056)
+    abort();
+  if (llReverse4(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llReverse5(y) != 0xf0debc9a78563412ull)
+    abort();
+  if (llcount != 8)
+    abort();
+  if (llReverse6(y) != 0xf0debc9a005634deull)
+    abort();
+  return 0;
+}
+
+/* { dg-final { if [ istarget arm*-*-darwin* ] { scan-assembler-not "\\\trev" } } } */
+/* { dg-final { if [ istarget i?86-*-darwin* ] { scan-assembler-not "\\\tbswap" } } } */
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/condexec-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/condexec-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/condexec-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/condexec-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,33 @@
+/* APPLE LOCAL file ARM 5814138 */
+/* Sequential if statements were being translated into conditionally-
+   executed instructions with an incorrect condition.  */
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+int bug (int n1, int n2, int *d1, int *d2)
+{
+    int flag = 0, test, x, x1, x2;
+
+    while (n1 != 0 && n2 != 0)
+    {
+	x1 = *d1, x2 = *d2;
+	test = x1 - x2;
+	if (test >= 0)
+	    x = x2, d2++, n2--, flag ^= 2;
+	if (test <= 0)
+	    x = x1, d1++, n1--, flag ^= 1;
+	if (flag == 3)
+	    return 1;
+    }
+
+    return 0;
+}
+
+int arr1[5] = {1, 2, 3, 4, 5};
+int arr2[5] = {0, -1, -2, -3, -4};
+int arr3[5] = {7, 8, 9, 10, 11};
+
+int main (void)
+{
+  return bug (5, 5, arr1, arr2) || bug (5, 5, arr1, arr3);
+}
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-5.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-5.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-5.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-5.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,13 @@
+/* APPLE LOCAL file radar 6068877 */
+/* Test that utf16 characters in a cfstring literal is supported in c, as well as
+   objc. */
+/* { dg-options "-Werror" } */
+/* { dg-do compile { target *-*-darwin* } } */
+
+#import <CoreFoundation/CFString.h>
+
+int main()
+{
+	CFSTR("hé hé hé");
+}
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,21 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that the correct builtin definition is generated when
+   -miphoneos-version-min is given.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.3" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+#if (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ != 10300)
+#error TEST FAILS
+#endif
+
+#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#error TEST FAILS
+#endif
+
+int main(void)
+{
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-2.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-2.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,21 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that the correct builtin definition is generated when
+   -miphoneos-version-min is given.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.20" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+#if (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ != 12000)
+#error TEST FAILS
+#endif
+
+#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#error TEST FAILS
+#endif
+
+int main(void)
+{
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-3.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-3.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-3.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,21 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that the correct builtin definition is generated when
+   -miphoneos-version-min is given.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.2.3" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+#if (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ != 10203)
+#error TEST FAILS
+#endif
+
+#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#error TEST FAILS
+#endif
+
+int main(void)
+{
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-4.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-4.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-4.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-4.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,21 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that the correct builtin definition is generated when
+   -miphoneos-version-min is given.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=98.76.54" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+#if (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ != 987654)
+#error TEST FAILS
+#endif
+
+#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#error TEST FAILS
+#endif
+
+int main(void)
+{
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,20 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that the correct builtin definition is generated by default
+   when generating code for the ARM architecture.  */
+
+/* { dg-do compile { target arm*-*-darwin* } } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+#if (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ != 20000)
+#error TEST FAILS
+#endif
+
+#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+#error TEST FAILS
+#endif
+
+int main(void)
+{
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-2.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-default-2.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that the correct builtin definition is generated by default
+   when generating code for the ARM architecture.  */
+
+/* { dg-do compile { target powerpc*-*-darwin* i?86-*-darwin* } } */
+
+#ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
+#error TEST FAILS
+#endif
+
+int main(void)
+{
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,14 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that -miphoneos-version-min is not allowed in conjunction with
+   -mmacosx-version-min.  */
+
+/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.2 -mmacosx-version-min=10.4" } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "-mmacosx-version-min not allowed with -miphoneos-version-min" "" {target *-*-*} 1 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-2.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-2.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "Unknown value '1' of -miphoneos-version-min" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-3.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-3.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-3.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=foobar" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "Unknown value 'foobar' of -miphoneos-version-min" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-4.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-4.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-4.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-4.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.2." } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "Unknown value '1.2.' of -miphoneos-version-min" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-5.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-5.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-5.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-5.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.2.345" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "Unknown value '1.2.345' of -miphoneos-version-min" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-6.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-6.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-6.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-6.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.f" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "Unknown value '1.f' of -miphoneos-version-min" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-7.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-7.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-7.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-7.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=1.2.f" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "Unknown value '1.2.f' of -miphoneos-version-min" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-8.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-8.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-8.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/iphoneos-minversion-err-8.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file ARM 5683689 */
+
+/* Verify that an error message is given for an invalid
+   -miphoneos-version-min argument.  */
+
+/* { dg-do compile { target arm*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-miphoneos-version-min=" } */
+/* { dg-skip-if "Not valid with -mmacosx-version-min" { *-*-darwin* } { "-mmacosx-version-min=*" } { "" } } */
+
+int main(void)
+{
+  return 0;
+}
+
+/* { dg-error "missing argument" "" {target *-*-* } 0 } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-2.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-2.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,27 @@
+/* APPLE LOCAL file shorten-64-to-32 5909621 4604239 */
+/* { dg-do compile } */
+/* { dg-options "-Wshorten-64-to-32" } */
+/* Radar 4604239 */
+
+#include <tgmath.h>
+
+double f;
+int e;
+
+typedef double CFTimeInterval;
+typedef CFTimeInterval CFAbsoluteTime;
+
+double foo(void) { return cos(0.); }
+
+int main(int argc, const char *argv[])
+{
+  CFAbsoluteTime absoluteTime = CFAbsoluteTimeGetCurrent();
+  CFAbsoluteTime divisor = 2.0;
+  CFAbsoluteTime theRemainder = remainder(absoluteTime, divisor);
+  return 0;
+
+  f = pow (f, f);
+  f = fma (f, f, f);
+  f = frexp ( f, &e);
+  f = remquo (f, f, &e);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-3.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-3.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/shorten-3.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file shorten-64-to-32 5909621 */
+/* { dg-do compile } */
+/* { dg-options "-Wshorten-64-to-32" } */
+/* Radar 5909621 */
+
+#include <tgmath.h>
+#include <stdio.h>
+
+long long int i;
+
+int main (int argc, const char * argv[]) {
+  double value = 123.45;
+  i = llround(value);
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/stack-protect-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/stack-protect-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/stack-protect-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/stack-protect-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,12 @@
+/* APPLE LOCAL file stack-protector default 5095227 */
+/* { dg-do compile } */
+/* Verify that -fstack-protector is on by default and that it at least
+   appears to work.  */
+extern void f2(char *);
+void f1(void)
+{
+  char array[256];
+  f2(array);
+}
+/* { dg-final { scan-assembler "__stack_chk_guard" } } */
+/* { dg-final { scan-assembler "__stack_chk_fail" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/ucn-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/ucn-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/ucn-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/ucn-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,10 @@
+/* APPLE LOCAL file 5782111 */
+/* Identifiers containing UCNs should be prefixed with an underscore,
+   like other symbols.  */
+/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-options "-std=c99" } */
+
+int foobar\u00C0;
+
+/* { dg-final { scan-assembler "_foobar" } } */
+/* { dg-final { scan-assembler-not "\[^_\]foobar" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/utf-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/utf-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/utf-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/utf-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,7 @@
+/* APPLE LOCAL file UTF-8 BOM 5774975 */
+#include <stdio.h>
+
+int main (int argc, const char * argv[]) {
+  printf("Hello, World!\n");
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,43 @@
+/* APPLE LOCAL file uxtb16 support */
+/* { dg-do compile { target arm*-*-darwin* } } */
+/* { dg-options "-O2 -mno-thumb -march=armv6" } */
+/* Each function here should produce uxtb16. */
+
+/* uxtb16 x
+ 2, 0 */
+unsigned test1(unsigned x) { return x & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test2(unsigned x) { return (x >> 8) & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test3(unsigned x) { return (x & 0xFF00FF00) >> 8; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test4(unsigned x) { return ((x & 0xFF000000) >> 8) | ((x & 0x0000FF00) >> 8); }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test5(unsigned x) { return ((x >> 8) & 0x00FF0000) | ((x >> 8) & 0x000000FF); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test6(unsigned x) { return ((x & 0x00FF0000) >> 16) | ((x & 0x000000FF) << 16); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test7(unsigned x) { return ((x >> 16) & 0x000000FF) | ((x << 16) & 0x00FF0000); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test8(unsigned x) { return ((x & 0x0000FF00) << 8) | ((x & 0xFF000000) >> 24); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test9(unsigned x) { return ((x >> 24) & 0x000000FF) | ((x << 8) & 0x00FF0000); }
+
+/* { dg-final { scan-assembler-times "uxtb16" 9 } } */
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-2.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-2.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,64 @@
+/* APPLE LOCAL file uxtb16 support */
+/* { dg-do run { target arm*-*-darwin* } } */
+/* { dg-options "-O2 -mno-thumb -march=armv6" } */
+/* Make sure the uxtb16 sequences work. */
+
+/* uxtb16 x
+ 2, 0 */
+unsigned test1(unsigned x) { return x & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test2(unsigned x) { return (x >> 8) & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test3(unsigned x) { return (x & 0xFF00FF00) >> 8; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test4(unsigned x) { return ((x & 0xFF000000) >> 8) | ((x & 0x0000FF00) >> 8); }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test5(unsigned x) { return ((x >> 8) & 0x00FF0000) | ((x >> 8) & 0x000000FF); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test6(unsigned x) { return ((x & 0x00FF0000) >> 16) | ((x & 0x000000FF) << 16); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test7(unsigned x) { return ((x >> 16) & 0x000000FF) | ((x << 16) & 0x00FF0000); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test8(unsigned x) { return ((x & 0x0000FF00) << 8) | ((x & 0xFF000000) >> 24); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test9(unsigned x) { return ((x >> 24) & 0x000000FF) | ((x << 8) & 0x00FF0000); }
+
+int main() {
+    if (test1(0x12345678u) != 0x00340078u)
+      return 1;
+    if (test2(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test3(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test4(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test5(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test6(0x12345678u) != 0x00780034u)
+      return 1;
+    if (test7(0x12345678u) != 0x00780034u)
+      return 1;
+    if (test8(0x12345678u) != 0x00560012u)
+      return 1;
+    if (test9(0x12345678u) != 0x00560012u)
+      return 1;
+    return 0;
+}
+    
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-3.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-3.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-3.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,43 @@
+/* APPLE LOCAL file uxtb16 support */
+/* { dg-do compile { target arm*-*-darwin* } } */
+/* { dg-options "-O2 -mthumb -march=armv6" } */
+/* uxtb16 should not be generated with -mthumb. */
+
+/* uxtb16 x
+ 2, 0 */
+unsigned test1(unsigned x) { return x & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test2(unsigned x) { return (x >> 8) & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test3(unsigned x) { return (x & 0xFF00FF00) >> 8; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test4(unsigned x) { return ((x & 0xFF000000) >> 8) | ((x & 0x0000FF00) >> 8); }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test5(unsigned x) { return ((x >> 8) & 0x00FF0000) | ((x >> 8) & 0x000000FF); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test6(unsigned x) { return ((x & 0x00FF0000) >> 16) | ((x & 0x000000FF) << 16); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test7(unsigned x) { return ((x >> 16) & 0x000000FF) | ((x << 16) & 0x00FF0000); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test8(unsigned x) { return ((x & 0x0000FF00) << 8) | ((x & 0xFF000000) >> 24); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test9(unsigned x) { return ((x >> 24) & 0x000000FF) | ((x << 8) & 0x00FF0000); }
+
+/* { dg-final { scan-assembler-not "uxtb16" } } */
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-4.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-4.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-4.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-4.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,43 @@
+/* APPLE LOCAL file uxtb16 support */
+/* { dg-do compile { target arm*-*-darwin* } } */
+/* { dg-options "-O2 -mno-thumb -march=armv4t" } */
+/* uxtb16 should not be generated with -march=armv4t. */
+
+/* uxtb16 x
+ 2, 0 */
+unsigned test1(unsigned x) { return x & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test2(unsigned x) { return (x >> 8) & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test3(unsigned x) { return (x & 0xFF00FF00) >> 8; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test4(unsigned x) { return ((x & 0xFF000000) >> 8) | ((x & 0x0000FF00) >> 8); }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test5(unsigned x) { return ((x >> 8) & 0x00FF0000) | ((x >> 8) & 0x000000FF); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test6(unsigned x) { return ((x & 0x00FF0000) >> 16) | ((x & 0x000000FF) << 16); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test7(unsigned x) { return ((x >> 16) & 0x000000FF) | ((x << 16) & 0x00FF0000); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test8(unsigned x) { return ((x & 0x0000FF00) << 8) | ((x & 0xFF000000) >> 24); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test9(unsigned x) { return ((x >> 24) & 0x000000FF) | ((x << 8) & 0x00FF0000); }
+
+/* { dg-final { scan-assembler-not "uxtb16" } } */
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-5.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-5.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-5.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/uxtb16-5.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,65 @@
+/* APPLE LOCAL file uxtb16 support */
+/* { dg-do run { target arm*-*-darwin* } } */
+/* { dg-options "-O0 -mno-thumb -march=armv6" } */
+/* Make sure things work at -O0; some of these will produce
+   uxtb16, some will not. */
+
+/* uxtb16 x
+ 2, 0 */
+unsigned test1(unsigned x) { return x & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test2(unsigned x) { return (x >> 8) & 0x00FF00FF; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test3(unsigned x) { return (x & 0xFF00FF00) >> 8; }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test4(unsigned x) { return ((x & 0xFF000000) >> 8) | ((x & 0x0000FF00) >> 8); }
+
+/* uxtb16 x, ror #8
+ 3, 1 */
+unsigned test5(unsigned x) { return ((x >> 8) & 0x00FF0000) | ((x >> 8) & 0x000000FF); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test6(unsigned x) { return ((x & 0x00FF0000) >> 16) | ((x & 0x000000FF) << 16); }
+
+/* uxtb16 x, ror #16
+ 0, 2 */
+unsigned test7(unsigned x) { return ((x >> 16) & 0x000000FF) | ((x << 16) & 0x00FF0000); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test8(unsigned x) { return ((x & 0x0000FF00) << 8) | ((x & 0xFF000000) >> 24); }
+
+/* uxtb16 x, ror #24
+ 1, 3 */
+unsigned test9(unsigned x) { return ((x >> 24) & 0x000000FF) | ((x << 8) & 0x00FF0000); }
+
+int main() {
+    if (test1(0x12345678u) != 0x00340078u)
+      return 1;
+    if (test2(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test3(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test4(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test5(0x12345678u) != 0x00120056u)
+      return 1;
+    if (test6(0x12345678u) != 0x00780034u)
+      return 1;
+    if (test7(0x12345678u) != 0x00780034u)
+      return 1;
+    if (test8(0x12345678u) != 0x00560012u)
+      return 1;
+    if (test9(0x12345678u) != 0x00560012u)
+      return 1;
+    return 0;
+}
+    
+

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/visibility-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/visibility-1.c?rev=54499&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/visibility-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/visibility-1.c Thu Aug  7 20:03:11 2008
@@ -0,0 +1,16 @@
+/* APPLE LOCAL file ARM 6077274 */
+/* { dg-do compile { target arm*-*-darwin* } } */
+/* { dg-options "-fvisibility=hidden" } */
+/* { dg-final { scan-assembler "_bar\\\$non_lazy_ptr" } } */
+void foo (void (*fnptr) (void));
+
+void bar (void) __attribute__((weak));
+void bar (void)
+{
+}
+
+void baz (void)
+{
+  foo (bar);
+}
+





More information about the llvm-commits mailing list