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