Skip to content
  1. Aug 17, 2009
    • David Chisnall's avatar
      Initial patch to support definitions of id and Class from headers in Objective-C code. · 9f57c290
      David Chisnall authored
      This currently breaks test/SemaObjC/id-isa-ref.m and issues some spurious warnings when you attempt to assign a struct objc_class* value to a Class variable.  The test case probably should fail as it's written, because without the definition of Class the compiler should not assume struct objc_class* is a valid receiver type, but it's left broken because it would be nice if we could get that passing too for the special case of isa.
      
      Approved by snaroff.
      
      llvm-svn: 79248
      9f57c290
  2. Aug 16, 2009
  3. Aug 15, 2009
  4. Aug 14, 2009
  5. Aug 13, 2009
  6. Aug 12, 2009
  7. Aug 11, 2009
  8. Aug 10, 2009
    • Anders Carlsson's avatar
      Add a CastInfo struct that will be used for cast information when constructing... · ed1674d9
      Anders Carlsson authored
      Add a CastInfo struct that will be used for cast information when constructing cast expressions. Right now it only stores the cast kind, but in the future it might store conversion functions and constructors.
      
      llvm-svn: 78599
      ed1674d9
    • Chris Lattner's avatar
      fix a couple of problems with section attributes: · 30ba6743
      Chris Lattner authored
      1. Passing something that isn't a string used to cause:
         "argument to annotate attribute was not a string literal"
        make it say "section attribute" instead.
      
      2. Fix the location of the above message to point to the
         bad argument instead of the section token.
      
      3. Implement rdar://4341926, by diagnosing invalid section
         specifiers in the frontend rather than letting them slip all
         the way to the assembler (a QoI win).
      
      An example of #3 is that we used to produce something like this:
      
      /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name
      /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.).
      
      Daniel improved clang to use llvm_report_error, so now we got:
      
      $ clang t.c -c
      fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier
            requires a segment and section separated by a comma.
      
      with no loc info.  Now we get:
      
      $ clang t.c -fsyntax-only
      t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment
            and section separated by a comma
      int x __attribute__((section("sadf")));
                                   ^
      
      which is nice :)
      
      llvm-svn: 78586
      30ba6743
Loading