[llvm-commits] [llvm] r62684 - /llvm/trunk/test/FrontendC/2009-01-21-InvalidIterator.c

Duncan Sands baldrick at free.fr
Wed Jan 21 03:51:30 PST 2009


Author: baldrick
Date: Wed Jan 21 05:51:17 2009
New Revision: 62684

URL: http://llvm.org/viewvc/llvm-project?rev=62684&view=rev
Log:
This was causing invalid memory accesses when
generating debug info in the compiler.

Added:
    llvm/trunk/test/FrontendC/2009-01-21-InvalidIterator.c

Added: llvm/trunk/test/FrontendC/2009-01-21-InvalidIterator.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FrontendC/2009-01-21-InvalidIterator.c?rev=62684&view=auto

==============================================================================
--- llvm/trunk/test/FrontendC/2009-01-21-InvalidIterator.c (added)
+++ llvm/trunk/test/FrontendC/2009-01-21-InvalidIterator.c Wed Jan 21 05:51:17 2009
@@ -0,0 +1,74 @@
+// RUN: %llvmgcc %s -S -g
+
+typedef long unsigned int size_t;
+typedef unsigned short int uint16_t;
+typedef unsigned int uint32_t;
+typedef unsigned long int uint64_t;
+typedef uint16_t Elf64_Half;
+typedef uint32_t Elf64_Word;
+typedef uint64_t Elf64_Xword;
+typedef uint64_t Elf64_Addr;
+typedef uint64_t Elf64_Off;
+typedef struct
+{
+  Elf64_Word p_type;
+  Elf64_Off p_offset;
+  Elf64_Addr p_vaddr;
+  Elf64_Xword p_align;
+}
+Elf64_Phdr;
+struct dl_phdr_info
+{
+  const char *dlpi_name;
+  const Elf64_Phdr *dlpi_phdr;
+  Elf64_Half dlpi_phnum;
+  unsigned long long int dlpi_adds;
+};
+typedef unsigned _Unwind_Ptr;
+struct object
+{
+  union
+  {
+    const struct dwarf_fde *single;
+    struct dwarf_fde **array;
+    struct fde_vector *sort;
+  }
+  u;
+  union
+  {
+    struct
+    {
+    }
+    b;
+  }
+  s;
+  struct object *next;
+};
+typedef int sword;
+typedef unsigned int uword;
+struct dwarf_fde
+{
+  uword length;
+  sword CIE_delta;
+  unsigned char pc_begin[];
+};
+typedef struct dwarf_fde fde;
+struct unw_eh_callback_data
+{
+  const fde *ret;
+  struct frame_hdr_cache_element *link;
+}
+frame_hdr_cache[8];
+
+_Unwind_Ptr
+base_from_cb_data (struct unw_eh_callback_data *data)
+{
+}
+
+void
+_Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
+{
+  const unsigned char *p;
+  const struct unw_eh_frame_hdr *hdr;
+  struct object ob;
+}





More information about the llvm-commits mailing list