Skip to content
  1. Aug 31, 2007
  2. Aug 30, 2007
    • Steve Naroff's avatar
      · 5c13180a
      Steve Naroff authored
      Fix the following redefinition errors submitted by Keith Bauer...
      
      [dylan:~/llvm/tools/clang] admin% cat tentative_decls.c 
      // incorrectly generates redefinition error
      extern int array[3];
      int array[3];
      
      // incorrectly generates a redefinition error
      extern void nup(int a[3]);
      void nup(int a[3]) {}
      
      It turns out that this exposed a fairly major flaw in the type system,
      array types were never getting uniqued! This is because all array types
      contained an expression, which aren't unique.
      
      To solve this, we now have 2 array types, ConstantArrayType and
      VariableArrayType. ConstantArrayType's are unique, VAT's aren't.
      
      This is a fairly extensive set of fundamental changes. Fortunately,
      all the tests pass. Nevertheless, there may be some collateral damage:-)
      If so, let me know!
      
      llvm-svn: 41592
      5c13180a
  3. Aug 29, 2007
  4. Aug 28, 2007
  5. Aug 27, 2007
  6. Aug 26, 2007
Loading