Skip to content
  1. Oct 16, 2008
    • Daniel Dunbar's avatar
      Add --disable-free flag to clang. · 33d29b3e
      Daniel Dunbar authored
       - Disables the freeing of the ASTContext and the TranslationUnit
         after parsing & sema.
       - Primarily for timing the impact on -fsyntax-only timings.
      
      llvm-svn: 57643
      33d29b3e
    • Steve Naroff's avatar
    • Daniel Dunbar's avatar
      Implement #pragma pack use in structure packing. The general approach · 4290d46b
      Daniel Dunbar authored
      is to encode the state of the #pragma pack stack as an attribute when
      the structure is declared. 
      
       - Extend PackedAttr to take an alignment (in bits), and reuse for
         both __attribute__((packed)) (which takes no argument, instead
         packing tightly (to "minimize the memory required") and for #pragma
         pack (which allows specification of the maximum alignment in
         bytes). __attribute__((packed)) is just encoded as Alignment=1.
      
         This conflates two related but different mechanisms, but it didn't
         seem worth another attribute.
      
       - I have attempted to follow the MSVC semantics as opposed to the gcc
         ones, since if I understand correctly #pragma pack originated with
         MSVC. The semantics are generally equivalent except when the stack
         is altered during the definition of a structure; its not clear if
         anyone does this in practice. See testcase if curious.
      
      llvm-svn: 57623
      4290d46b
  2. Oct 15, 2008
    • Argyrios Kyrtzidis's avatar
      Fix this bug: · 2e3e7563
      Argyrios Kyrtzidis authored
      typedef int f();
      struct S {
         f *x; // incorrectly assuming this is function decl, leading to failed assertions.
      };
      
      llvm-svn: 57598
      2e3e7563
    • Steve Naroff's avatar
      Downgrade incompatibilities with objc qualified types (e.g. id <P>) to warnings. · 8afa9891
      Steve Naroff authored
      Note: One day, we should consider moving the actual diags to ObjCQualifiedIdTypesAreCompatible(), since it has more information on the actual problem. GCC currently emits slightly more instructive errors for some cases involving protocols. I added a FIXME to the code.
      
      llvm-svn: 57529
      8afa9891
  3. Oct 14, 2008
  4. Oct 12, 2008
  5. Oct 10, 2008
  6. Oct 09, 2008
    • Argyrios Kyrtzidis's avatar
      Fix a bug that crashed clang when parsing this: · 1207d319
      Argyrios Kyrtzidis authored
      class C {
        static const int number = 50;
        static int arr[number];
      };
      
      Here's how it worked:
      -GetTypeForDeclarator was called from both Sema::ActOnCXXMemberDeclarator and Sema::ActOnDeclarator.
      -VariableArrayTypes are not uniqued so two VariableArrayTypes were created with the same DeclRefExpr.
      -On exit they both tried to destroy that one DeclRefExpr.
      
      The fix is not to use GetTypeForDeclarator from the Sema::ActOnCXXMemberDeclarator.
      
      llvm-svn: 57313
      1207d319
  7. Oct 08, 2008
  8. Oct 07, 2008
  9. Oct 06, 2008
  10. Oct 05, 2008
  11. Oct 03, 2008
  12. Oct 02, 2008
  13. Sep 30, 2008
  14. Sep 29, 2008
Loading