Граф коммитов

393 Коммитов

Автор SHA1 Сообщение Дата
Chris Lattner 21fb98ee00 implement support for __builtin_eh_return_data_regno on x86-32 and x86-64.
This implements PR5034 and rdar://6836445.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23 06:06:36 +00:00
Anders Carlsson d489cd06a1 Fix indentation in xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23 00:37:50 +00:00
Anders Carlsson 16d81b8db3 Move codegen of new and delete to CGCXXExpr.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22 22:53:17 +00:00
Anders Carlsson 90756300f3 (With Doug's help) fix a crash in the code completion code that lead to a test failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22 17:29:51 +00:00
Chris Lattner dfece5b3e7 clean up xcode proj
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82272 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18 20:39:54 +00:00
Anders Carlsson 0a8f847e97 x86-64 ABI: If a type is a C++ record with either a non-trivial destructor or a non-trivial copy constructor, it should be passed in a pointer. Daniel, plz review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16 15:53:40 +00:00
Anders Carlsson 5a0f49ebc8 Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a NullCheckValue argument (currently unused).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81606 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-12 04:26:35 +00:00
Anders Carlsson 29f898a36b Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81604 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-12 03:29:09 +00:00
Steve Naroff 89922f86f4 More fleshing out the C-based indexing API (under construction).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31 00:59:03 +00:00
Steve Naroff 50398199fb Lot's of little changes to get the C-based indexing API going...
Work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80367 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-28 15:28:48 +00:00
Steve Naroff 600866cc7d Fill in Index.h header file and add stubs to implementation file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-27 19:51:58 +00:00
Anders Carlsson b2153946ff Add the partially implemented PartialDiagnostic class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26 16:23:53 +00:00
Steve Naroff 78ca7b3d34 Update Xcode project file to include indexing source files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 19:57:00 +00:00
Anders Carlsson 7d878eb7f3 Update Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79390 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 01:17:32 +00:00
Anders Carlsson cdef2b75aa Add a CastKind enum to CastExpr. Right now it's not used for much but it will be :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 00:48:10 +00:00
Fariborz Jahanian 8a8a629844 No longer need to keep base class offsets in the offset
table as it has its own place now.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77491 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 18:50:06 +00:00
Anders Carlsson 45372a6fdc Check in CGRecordLayoutBuilder which is a reimplementation of the record layout code. (Yay, no more packed structs unless absolutely necessary). We currently don't use the layouts being built but that will change when the new code is mature enough :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-23 03:17:50 +00:00
Anders Carlsson bda4c1015e Add a new ASTRecordLayoutBuilder class. Not used yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76330 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 20:20:21 +00:00
Anders Carlsson 19cc4abea0 Revert r75641.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76327 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-18 19:43:29 +00:00
Anders Carlsson 3d598a5ab3 Rename RecordLayout.h to ASTRecordLayout.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75641 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-14 17:29:11 +00:00
Anders Carlsson 395b475a44 Add a DecltypeType type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 19:06:50 +00:00
Anders Carlsson e41590d250 [class.local] p1 and p3. Also, add back the xcodeproj file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74027 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 00:10:43 +00:00
Ted Kremenek e9cfa45dae Remove old Xcode project. We can now automatically generate an Xcode project that compiles all of LLVM (not just Clang) using CMake.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:14:59 +00:00
Chris Lattner 648b981e7a remove extraneous diff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73494 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 16:22:49 +00:00
Chris Lattner 030e8fe5aa my refactoring of builtins changed target-specific builtins to only be
registered when PCH wasn't being used.  We should always install (in BuiltinInfo)
information about target-specific builtins, but we shouldn't register any builtin
identifier infos.  This fixes the build of apps that use PCH and target specific
builtins together.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 16:18:48 +00:00
Chris Lattner 6b15cdc131 move the various builtins stuff from libast to libbasic. This
fixes a layering violation in lib/Basic/Targets.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-14 01:05:48 +00:00
Anders Carlsson 21a8353c4c Use the correct indentation for DeclTemplate.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72892 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 21:48:59 +00:00
Anders Carlsson d48821434c Add DeclPrinter.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 05:38:41 +00:00
Anders Carlsson c4ee170b0c Make sure to call FullExpr before parsing anything else.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 02:18:15 +00:00
Anders Carlsson 482cb848a3 Use the right indentation for CGCXXTemp.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72832 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 02:08:31 +00:00
Douglas Gregor 33412927ae Update Xcode project
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 00:04:42 +00:00
Anders Carlsson 2ce6612502 Move code generation of C++ temporaries into a new file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72792 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 18:40:21 +00:00
Anders Carlsson 0578916f97 Update Xcode project
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72639 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 21:32:24 +00:00
Anders Carlsson ebefdd83e4 Remove AstGuard.h from Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-26 00:57:47 +00:00
Anders Carlsson 02b3a0c205 Add SemaTemplateInstantiateStmt.cpp to Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71884 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 20:08:59 +00:00
Anders Carlsson 7c98736d8c Add SemaTemplateInstantiateExpr.cpp to Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 00:10:12 +00:00
Chris Lattner e2f79b6a4f Fix rdar://6880259 - invalid function name in block call (__NSConcreteGlobalBlock2)
by using the appropriate CGM interface instead of directly creating a global.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 02:50:56 +00:00
Chris Lattner ea5ce4705d add an abbreviation for common PARM_VAR_DECL. All but 9 of the
parm var decls in leopard cocoa.h end up using this abbreviation,
which shrinks the bitcode file by about 50K: 7217736->7167120.

Before:
  Block ID #12 (DECLS_BLOCK):
      Num Instances: 1
         Total Size: 2.23595e+07b/2.79494e+06B/698736W
          % of file: 38.7233
      Num SubBlocks: 0
        Num Abbrevs: 0
        Num Records: 139387
      % Abbrev Recs: 0

After:
  Block ID #12 (DECLS_BLOCK):
      Num Instances: 1
         Total Size: 2.02405e+07b/2.53006e+06B/632516W
          % of file: 35.301
      Num SubBlocks: 0
        Num Abbrevs: 1
        Num Records: 139387
      % Abbrev Recs: 19.2902



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70199 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 07:35:58 +00:00
Chris Lattner 12b1c7615d split decl writing out to its own PCHWriterDecl.cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 06:16:06 +00:00
Chris Lattner 698f925ded split decl reading out to its own PCHReaderDecl.cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70187 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 05:27:42 +00:00
Chris Lattner 4c6f952b70 split stmt/expr deserialization out to PCHReaderStmt.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70186 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 05:14:47 +00:00
Chris Lattner 432c86969e pull the constraint string into the ConstraintInfo struct
instead of passing it around in addition to it.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70135 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 17:19:08 +00:00
Chris Lattner 16f0049415 split ObjC and C++ Statements out into their own headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 01:32:48 +00:00
Chris Lattner 0389e6bd01 implement PCH support for the rest of ExprObjC.h, including
the missing bits of ObjCMessageExpr.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70100 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 00:44:05 +00:00
Chris Lattner 1efaa9594a Fix rdar://6821047 - clang crashes on subscript of interface in 64-bit mode
Several changes here:
1. We change Type::isIncompleteType to realize that forward declared 
   interfaces are incomplete.  This eliminate special case code for this
   from the sizeof path, and starts us rejecting P[4] when P is a pointer
   to an incomplete interface.
2. Explicitly reject P[4] when P points to an interface in non-fragile ABI
   mode.
3. Switch the sizeof(interface) diagnostic back to an error instead of a 
   warning in non-fragile abi mode.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69943 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-24 00:30:45 +00:00
Chris Lattner 2f73cc4603 remove some gone files
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-23 05:29:03 +00:00
Steve Naroff 7ac48d23d9 Update Xcode project with recently added files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69753 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-21 23:46:12 +00:00
Chris Lattner e116ccf140 Split preprocessor initialization logic out of clang-cc into
libfrontend.  Patch by Alexei Svitkine!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-21 05:40:52 +00:00
Chris Lattner cf2a7211b4 the __gnuc_inline__ attribute is actually named __gnu_inline__,
PR4023


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-20 19:12:28 +00:00
Chris Lattner 5af280ce21 move jump scope checking and related code out into its own file, SemaDecl.cpp is
already too large.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69505 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19 04:46:21 +00:00