Skip to content
  1. Apr 16, 2012
  2. Apr 15, 2012
  3. Apr 14, 2012
  4. Apr 13, 2012
  5. Apr 12, 2012
  6. Apr 11, 2012
  7. Apr 10, 2012
  8. Apr 09, 2012
  9. Apr 08, 2012
    • Chandler Carruth's avatar
      Wire up -fpie and -fPIE to LLVM's newly added TargetOptions. No test · 097d019c
      Chandler Carruth authored
      case as we don't currently have any way of dumping target options or
      otherwise observing this. Another small step toward fixing PR12380. With
      this we generate TLS accesses using the static model instead of the
      dynamic model, but we're still generating suboptimal code under the
      mistaken assumption that the TLS offset might be greater than 2^32, and
      therefor not viable as an immediate offset of a segment register.
      
      llvm-svn: 154298
      097d019c
    • Chandler Carruth's avatar
      Teach Clang about PIE compilations. This is the first step of PR12380. · c0c0455f
      Chandler Carruth authored
      First, this patch cleans up the parsing of the PIC and PIE family of
      options in the driver. The existing logic failed to claim arguments all
      over the place resulting in kludges that marked the options as unused.
      Instead actually walk all of the arguments and claim them properly.
      
      We now treat -f{,no-}{pic,PIC,pie,PIE} as a single set, accepting the
      last one on the commandline. Previously there were lots of ordering bugs
      that could creep in due to the nature of the parsing. Let me know if
      folks would like weird things such as "-fPIE -fno-pic" to turn on PIE,
      but disable full PIC. This doesn't make any sense to me, but we could in
      theory support it.
      
      Options that seem to have intentional "trump" status (-static, -mkernel,
      etc) continue to do so and are commented as such.
      
      Next, a -pie-level flag is threaded into the frontend, rigged to
      a language option, and handled preprocessor, setting up the appropriate
      defines. We'll now have the correct defines when compiling with -fpie.
      
      The one place outside of the preprocessor that was inspecting the PIC
      level (as opposed to the relocation model, which is set and handled
      separately, yay!) is in the GNU ObjC runtime. I changed it to exactly
      preserve existing behavior. If folks want to change its behavior in the
      face of PIE, they can do that in a separate patch.
      
      Essentially the only functionality changed here is the preprocessor
      defines and bug-fixes to the argument management.
      
      Tests have been updated and extended to test all of this a bit more
      thoroughly.
      
      llvm-svn: 154291
      c0c0455f
  10. Apr 06, 2012
  11. Apr 05, 2012
  12. Apr 04, 2012
  13. Apr 03, 2012
    • Eric Christopher's avatar
      Change location information for synthesized properties to be at the · b7e821a6
      Eric Christopher authored
      property file/line rather than the @synthesize file/line. Avoids
      some nasty confusing-ness with conflating the file from the scope
      and the line from the original declaration. Use    the current scope
      location as a separate parameter so that we can    match it up
      better in the line table with the beginning of the scope.
      
      Update a couple of testcases accordingly since I had to change
      that we actually use the passed in location in EmitFunctionStart
      and for the new metadata parameter and add a new testcase to
      make sure we've got the right line numbers for synthesized
      properties.
      
      Part of rdar://11026482
      
      llvm-svn: 153917
      b7e821a6
  14. Mar 30, 2012
    • John McCall's avatar
      Fix a pair of invalidation bugs when emitting protocol definitions · f9582a70
      John McCall authored
      in the fragile and non-fragile Mac ObjC runtimes.  No useful test
      case.  Fixes rdar://problem/11072576.
      
      llvm-svn: 153778
      f9582a70
    • John McCall's avatar
      Make sure we unique static-local decls across multiple emissions of · b88a566c
      John McCall authored
      the function body, but do so in a way that doesn't make any assumptions
      about the static local actually having a proper, unique mangling,
      since apparently we don't do that correctly at all.
      
      llvm-svn: 153776
      b88a566c
    • Chandler Carruth's avatar
      Revert r153723, and its follow-ups r153728 and r153733. · 84537952
      Chandler Carruth authored
      These patches cause us to miscompile and/or reject code with static
      function-local variables in an extern-C context. Previously, we were
      papering over this as long as the variables are within the same
      translation unit, and had not seen any failures in the wild. We still
      need a proper fix, which involves mangling static locals inside of an
      extern-C block (as GCC already does), but this patch causes pretty
      widespread regressions. Firefox, and many other applications no longer
      build.
      
      Lots of test cases have been posted to the list in response to this
      commit, so there should be no problem reproducing the issues.
      
      llvm-svn: 153768
      84537952
Loading