Skip to content
  1. Aug 18, 2008
  2. Aug 17, 2008
  3. Aug 16, 2008
  4. Aug 14, 2008
    • Nuno Lopes's avatar
      make sure the size of constant arrays is respected · cb46c144
      Nuno Lopes authored
      llvm-svn: 54769
      cb46c144
    • Daniel Dunbar's avatar
      Add GetAddrOfConstantCString method · c4baa06d
      Daniel Dunbar authored
       - Returns addr of constant for argument + '\0'.
       - I couldn't think of a better name.
       - Move appropriate users of GetAddrOfConstantString to this.
      
      Rename getStringForStringLiteral to GetStringForStringLiteral.
      
      Add GetAddrOfConstantStringFromLiteral
       - This combines GetAddrOfConstantString and
         GetStringForStringLiteral. This method can be, but is not yet, more
         efficient.
      
      Change GetAddrOfConstantString to not add terminating '\0'
       - <rdar://problem/6140956>
      
      llvm-svn: 54768
      c4baa06d
  5. Aug 13, 2008
  6. Aug 11, 2008
  7. Aug 10, 2008
  8. Aug 09, 2008
  9. Aug 08, 2008
    • Steve Naroff's avatar
      Fix issues with C "tentative" definitions. · 5bb8f226
      Steve Naroff authored
      - Move checking from MergeVarDecl->FinializeDeclaratorGroup. Since MergeVarDecl is called before the initializer is attacted, it can't be done there (this removes a long standing FIXME).
      - Add Sema::isTentativeDefinition() and Sema::CheckForFileScopedRedefinitions().
      - Remove FIXME's and touch-up test case.
      
      Still some more work to do (forthcoming)...
      
      llvm-svn: 54533
      5bb8f226
  10. Aug 07, 2008
  11. Aug 06, 2008
    • Daniel Dunbar's avatar
      Replace old bitfield test. · 8d816835
      Daniel Dunbar authored
       - Change hardcoded assembly instructions to a use of 'opt' (still
         waiting for someone to yell at me for this).
      
       - Add some cases to cover behavior fixed by previous commit.
      
      llvm-svn: 54413
      8d816835
    • Daniel Dunbar's avatar
      Fix EmitNullInitializationToLValue for bitfield lvalues. · e8bdce44
      Daniel Dunbar authored
       - PR2643
      
      llvm-svn: 54397
      e8bdce44
    • Daniel Dunbar's avatar
      Fix bitfield accesses which straddle the boundary of the underlying · ead7c912
      Daniel Dunbar authored
      type.
      
       - This generates somewhat less optimal code than before but this is
         not hard to rectify once stable (at the cost of slightly more
         complex code).
      
       - This currently always uses little-endian ordering of the bitfield. 
      
       - This breaks the CodeGen/bitfield.c test because it was grepping for
         hard-coded assembly instructions. Will fix once a better test case
         is constructed (hard to do without execution).
      
       - This fixes SingleSource/UnitTests/2006-01-23-InitializedBitField.c
         and Regression/C/PR1386.c from the test suite.
      
       - <rdar://problem/6085090>, <rdar://problem/6094169>
      
      llvm-svn: 54395
      ead7c912
    • Daniel Dunbar's avatar
      Fix CodeGen of pointer arithmetic in compound assignment statements. · bfb1cd74
      Daniel Dunbar authored
       - Changed EmitSub to work on all cases (arithmetic, ptr - int, ptr -
         ptr) so that implementation matches that of other operators.
      
       - Modify EmitCompoundAssign to compute and perform the appropriate
         casts of left, right, and result types for the assorted pointer
         arithmetic cases.
      
       - Fix EmitSub (ptr - int) case to negate the rhs *after*
         extension. This is critical when the rhs is unsigned (and needs
         extension).
      
       - This fixes cfrac.
      
       - <rdr://6115726>
      
      llvm-svn: 54392
      bfb1cd74
    • Daniel Dunbar's avatar
      Implement GNU asm-label extension support in CodeGen. This fixes · ffc29be8
      Daniel Dunbar authored
      scimark2 on Darwin.
      
       - Added Sema support for asm-label on variables, which I forgot before.
      
       - Update CodeGen to use GlobalDeclMap to determine if static Decls
         require emission (instead of LLVM module name lookup). Important
         since the Decl name and the LLVM module name can differ.
      
       - <rdar://problem/6116729>
      
      llvm-svn: 54388
      ffc29be8
    • Daniel Dunbar's avatar
      Change CodeGen of global decls to key off of the name (instead of · 829e9888
      Daniel Dunbar authored
        having multiple bindings from all the possible decls which
        conceptually map to the same global).
      
       - This eliminates CodeGen depending on the LLVM module for name
         lookup.
      
       - This also eliminates the need for ReplaceMapValuesWith (hurrah).
      
       - This handles lookups for FunctionDecls correctly in the presence of
         aliases, this was previously broken.
      
       - WIP: Can still clean up & unify variable and function emission.
      
      llvm-svn: 54382
      829e9888
  12. Aug 05, 2008
  13. Aug 04, 2008
    • Daniel Dunbar's avatar
      Fix several issues in checking of address-of expressions. · b692ef40
      Daniel Dunbar authored
       - clang was erroneously accepting address-of applied to lvalue
         expressions involving pointer arithmetic.
       - clang was erroneously rejecting address-of applied to deref
         expressions of pointer-typed variables.
       - Improved existing test case.
       - Fixes: <rdar://problem/6113867>, <rdar://problem/6080158>
      
      llvm-svn: 54326
      b692ef40
    • Daniel Dunbar's avatar
      Add CodeGen support for indirect goto. · 88402ce8
      Daniel Dunbar authored
       - Follows emission scheme used by llvm-gcc, i.e. invent an id for
         each label whose address is taken and replace each indirect goto by
         a switch to each possible target.
       - Currently we emit a switch for each indirect goto instead of
         merging them as llvm-gcc does.
      
      llvm-svn: 54318
      88402ce8
    • Chris Lattner's avatar
      · 7adf0760
      Chris Lattner authored
      Finally fix PR2189.  This makes a fairly invasive but important change to
      move getAsArrayType into ASTContext instead of being a method on type.
      This is required because getAsArrayType(const AT), where AT is a typedef
      for "int[10]" needs to return ArrayType(const int, 10).
      
      Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
      
      llvm-svn: 54317
      7adf0760
  14. Aug 01, 2008
  15. Jul 31, 2008
Loading