]>
granicus.if.org Git - clang/log
Ted Kremenek [Wed, 19 Dec 2007 22:29:55 +0000 (22:29 +0000)]
Added storage of the FileID of the the main source file of a translation unit
in SourceManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45225
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 19 Dec 2007 22:27:04 +0000 (22:27 +0000)]
Various tweaks to the get/lookup instance/class method API's.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45224
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Dec 2007 22:24:34 +0000 (22:24 +0000)]
Removed "SourceFile" from TranslationUnit. This same information will (soon)
be available by querying the SourceManager within the ASTContext referenced by
the TranslationUnit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45223
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 22:17:19 +0000 (22:17 +0000)]
Describe Nico's script for gcc interception. Patch by Nico Weber.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45222
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Dec 2007 19:50:41 +0000 (19:50 +0000)]
Cleaned up "-o" option to print "-o=<path>" instead of "-o=<string>" when
doing clang --help.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45215
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Dec 2007 19:47:59 +0000 (19:47 +0000)]
Added "-o" option to driver. ASTConsumers will need to be gradually
rewired to utilize this option.
Renamed option --serialize-ast --serialize.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 19:38:36 +0000 (19:38 +0000)]
Add support for #pragma mark, which shouldn't warn about bogus tokens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Dec 2007 19:27:38 +0000 (19:27 +0000)]
Removed storing inode and device number in TranslationUnit.
Added "SourceFile" string to TranslationUnit to record corresponding
source file.
Updated serialization of TranslationUnits and logic in the driver to
correctly pass the source file information to the serializer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45211
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 19:23:28 +0000 (19:23 +0000)]
fix some crazy indentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45210
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 19 Dec 2007 19:16:49 +0000 (19:16 +0000)]
Soften the macro rewrite error to a warning (and change the text).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45209
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 19 Dec 2007 19:07:24 +0000 (19:07 +0000)]
Minor test twik.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45208
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Dec 2007 18:07:54 +0000 (18:07 +0000)]
Updated locations of TranslationUnit.[cpp,h] in XCode project.
Added AST/ASTConsumer.cpp to XCode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45206
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 18:01:43 +0000 (18:01 +0000)]
reenable this code, fix the testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 17:49:45 +0000 (17:49 +0000)]
disable my commit from yesterday, fixing a regression test failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45204
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 19 Dec 2007 17:45:58 +0000 (17:45 +0000)]
This patch concludes implementation of dynamic objective-c type qualified by
protocol list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45203
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 19 Dec 2007 17:43:24 +0000 (17:43 +0000)]
Fix the embarassing typo for real this time (- vs _), sorry about breaking the tests Steve.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Dec 2007 17:25:59 +0000 (17:25 +0000)]
Moved generation of the name of the serialized AST file into
CreateASTSerializer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45201
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 19 Dec 2007 14:32:56 +0000 (14:32 +0000)]
Emit errors when attempting to rewrite ObjC expressions that originate from a macro expansion.
We plan on fixing this and removing this restriction after the break...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45200
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 19 Dec 2007 14:11:27 +0000 (14:11 +0000)]
Revert Anders r45191 commit...it broke several of the tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45199
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 19 Dec 2007 07:19:40 +0000 (07:19 +0000)]
Fix an embarassing typo and add some very limited support for the aligned attribute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45195
91177308 -0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Wed, 19 Dec 2007 06:43:23 +0000 (06:43 +0000)]
svn:ignore configure.out at the root level
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45194
91177308 -0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Wed, 19 Dec 2007 06:41:17 +0000 (06:41 +0000)]
Change svn attributes to ignore build directories.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45193
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 19 Dec 2007 06:16:30 +0000 (06:16 +0000)]
Normalize attribute names if possible so we won't have to do two strcmps for every attribute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45191
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 05:38:06 +0000 (05:38 +0000)]
fix broken assert.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45189
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Dec 2007 05:31:29 +0000 (05:31 +0000)]
Implement C99 6.7.5.3p1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45188
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 22:29:39 +0000 (22:29 +0000)]
Refactored inode and device number into FileEntry, and changed the
ADT storing FileEntry's in FileManager from a map to a set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45184
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 22:12:19 +0000 (22:12 +0000)]
When serializing SourceManager, we now serialize out absolute paths
to serialized source files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45183
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 21:44:50 +0000 (21:44 +0000)]
Moved ReadBitcodeFile and EmitBitcodeFile out of TranslationUnit and made them
the standalone functions ReadASTBitcodeFile and EmitASTBitcodeFile
respectively.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45180
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 18 Dec 2007 21:41:31 +0000 (21:41 +0000)]
Fix serious regression with ObjcInterfaceDecl. Now that we are storing -1 to mean undefined, we need to change the respective getters from unsigned->int.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 21:36:21 +0000 (21:36 +0000)]
Fixed broken includes introduced by recent (incomplete) patch to
TranslationUnit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45177
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 21:34:50 +0000 (21:34 +0000)]
Moved TranslationUnit.h to include path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45176
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 21:34:28 +0000 (21:34 +0000)]
Moved TranslationUnit from Driver to AST library.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45175
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 18 Dec 2007 21:33:44 +0000 (21:33 +0000)]
Refactoring work. ObjcQualifiedIdType is now derived from 'Type'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45174
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Dec 2007 20:45:25 +0000 (20:45 +0000)]
Added to FileEntry a pointer to the <dev_t,ino_t> pair for the file, and
accessors to FileEntry to query these values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45171
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 08:16:44 +0000 (08:16 +0000)]
local static vars are globals also. This fixes a testcase
reported by Seo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45156
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 07:18:16 +0000 (07:18 +0000)]
remove the loc argument to Type::isConstantSizeType, which isn't useful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45155
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 07:15:40 +0000 (07:15 +0000)]
Fix the location we emit the "not a constant" error for this:
int foo() {
typedef int x[foo()];
static int y = sizeof(x);
}
previously we'd emit it on the typedef, which made not sense at all.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45154
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 07:03:30 +0000 (07:03 +0000)]
Fix PR1863: an assertion due to not setting a location on return from
this method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45153
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 07:02:56 +0000 (07:02 +0000)]
Fix const propagation bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45152
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 06:06:23 +0000 (06:06 +0000)]
Fix an nice and subtle parser bug reported by Nico Weber.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45149
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 18 Dec 2007 04:06:57 +0000 (04:06 +0000)]
Add DefaultFunctionArrayConversion() to the indirection operator in Sema::ActOnUnaryOp().
This fixes a bug Chris forwarded from Oliver Hunt...
typedef struct { char name[100]; } entry;
char f1(entry *e) { return *e->name; }
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45148
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 18 Dec 2007 03:41:15 +0000 (03:41 +0000)]
Fixe bogus error for variable argument methods. Sema::ObjcGetTypeForMethodDefinition() wasn't preserving the isVariadic boolean. Another fix is to avoid synthsizing the function decl entirely, however this is a separate issue that I don't want to deal with now. Also added a FIXME to Sema::CheckFunctionCall(), which is currently emitting a bogus warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45146
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 18 Dec 2007 02:45:33 +0000 (02:45 +0000)]
Turns out the LLVMFoldingBuilder can fold InsertElement. Knowing this, we can get rid of our special casing of constants when creating vectors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45145
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 18 Dec 2007 01:30:32 +0000 (01:30 +0000)]
Improve how we find private method decls. This involved:
- Changed Sema::ObjcActOnStartOfMethodDef() to register the methods with the global pools.
- Changed Sema::ActOnInstanceMessage() to look in global pools (should be much less error prone).
- Added a test case to message.m (for lookup that was broken).
Misc changes while I was investigating this...
- Changed Sema::ActOnAtEnd() to call AddFactoryMethodToGlobalPool (this looked like a cut/paste error).
- Added a comment and tweaked another where I was using the first person.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45142
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Dec 2007 00:25:38 +0000 (00:25 +0000)]
introduce a new CodeGenModule::getIntrinsic method, which wraps
Intrinsic::getDeclaration, allowing much more terse code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 18 Dec 2007 00:16:02 +0000 (00:16 +0000)]
Add __private_extern__ keyword and recognize it. Added a FIXME to indicate there is still work to do.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45135
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 17 Dec 2007 21:48:49 +0000 (21:48 +0000)]
Fixed a comment describing a function
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45125
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 21:38:04 +0000 (21:38 +0000)]
implement HeaderMap::LookupFile. I think headermaps are done now. All that is
left is this crazy thing called "testing".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45124
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 21:06:11 +0000 (21:06 +0000)]
implement enough helper functions to successfully dump out the
contents of the header map. Look ma, no assumptions about input data
here (aka, corrupt header maps can't crash the compiler - crazy thought).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45122
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 17 Dec 2007 21:03:50 +0000 (21:03 +0000)]
Patch to implemented objective-c's dynamic object pointer qualified with
the protocol list (id<P,...> types).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45121
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 20:56:50 +0000 (20:56 +0000)]
Targets.cpp is gone.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 20:50:59 +0000 (20:50 +0000)]
Make the insertion point with an explicit new instead of the builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45118
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 17 Dec 2007 19:35:20 +0000 (19:35 +0000)]
Removed CFG.cpp's dependence on #including iostream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 17 Dec 2007 19:03:13 +0000 (19:03 +0000)]
Modified format-string checking to not emit a warning when all of the
following hold:
(1) A vprintf-like function is called that takes the argument list via a
via_list argument.
(2) The format string is a non-literal that is the parameter value of
the enclosing function, e.g:
void logmessage(const char *fmt,...) {
va_list ap;
va_start(ap,fmt);
fprintf(fmt,ap); // Do not emit a warning.
}
In the future this special case will be enhanced to consult the "format"
attribute attached to a function declaration instead of just allowing a blank
check for all function parameters to be used as format strings to vprintf-like
functions. This will happen when more support for attributes becomes
available.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 18:59:44 +0000 (18:59 +0000)]
simplify some code, using new scoped_ptr support. Fix a bug in the
cross-endianness case, where we checked the version in the wrong endianness.
Amusingly, the GCC logic that detects mixed endianness hmaps and rejects
them is dead for this very reason.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45113
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 18:44:09 +0000 (18:44 +0000)]
Finish hooking up the scaffolding for headermaps. They can now do everything
except resolve lookups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45111
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 17 Dec 2007 18:38:31 +0000 (18:38 +0000)]
Format string checker: asprintf does not pass argumnents via va_list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45110
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 18:34:53 +0000 (18:34 +0000)]
Start reading the headermap header, drop the 'errorstr' argument to
the create method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45109
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 17 Dec 2007 18:07:01 +0000 (18:07 +0000)]
Also fixed similar regression for class methods, as well as more indentations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 17:57:27 +0000 (17:57 +0000)]
Sink getName into DirectoryLookup to simplify the client in clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45106
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 17 Dec 2007 17:56:10 +0000 (17:56 +0000)]
Fixed a regression caused by refactoring of some meta-data generation routines using iteratgors.
Also fixed indentation problems.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45105
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 17 Dec 2007 17:50:39 +0000 (17:50 +0000)]
Fixed 80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 17 Dec 2007 17:50:07 +0000 (17:50 +0000)]
Added driver option -Wno-format-nonliteral to silence format string related
warnings. This flag is the inverse of to GCC's -Wformat-nonliteral option (in
the clang driver, these warnings are on by default).
Patch provided by Shantonu Sen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45103
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 17:42:26 +0000 (17:42 +0000)]
Unbreak -v with framework paths. Patch by Shantonu Sen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 17 Dec 2007 17:38:43 +0000 (17:38 +0000)]
Fixed another case where sizeof() returns the size in bytes, not bits.
This parallels a previous patch (duplicate logic caused the bug to appear
in multiple locations):
r44316 (http://llvm.org/viewvc/llvm-project?rev=44316&view=rev).
Patch provided by Nuno Lopes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45098
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 08:22:46 +0000 (08:22 +0000)]
add headermap.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45095
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 08:17:39 +0000 (08:17 +0000)]
finish stubbing out support for HeaderMap. Now we just need an implementation!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 08:13:48 +0000 (08:13 +0000)]
refactor an better comment framework lookup code. This moves it from
HeaderSearch into DirectoryLookup, as a particular framework lookup is
specific to the directory we are currently querying.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45093
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 07:52:39 +0000 (07:52 +0000)]
as it turns out, frameworks and headermaps are orthogonal. Make this so in
the internal representation. This also fixes a bug where -I foo -F foo would
not search foo as both a normal and framework include dir.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45092
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 06:51:34 +0000 (06:51 +0000)]
add a portability fixme.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 06:44:29 +0000 (06:44 +0000)]
teach RemoveDuplicates about header maps.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45090
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 06:36:45 +0000 (06:36 +0000)]
Step #1 in adding headermap support to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45089
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 05:59:27 +0000 (05:59 +0000)]
rearrange some code and make it more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45087
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Dec 2007 05:17:42 +0000 (05:17 +0000)]
add a hack so that codegen doesn't abort on missing sema of initializers, now
we emit stuff like this:
abort on missing sema of initializers, now
we emit stuff like this:
t3.c:1:24: warning: cannot codegen this initializer yet
const char x[2][4] = { { 'a', 'b', '\0', '\0' }, { 'c', 'd', 'e', '\0' } };
^~~~~~~~~~~~~~~~~~~~~~~~
This should be removed when sema is finished.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Mon, 17 Dec 2007 01:11:20 +0000 (01:11 +0000)]
Update to use new PointerType::getUnqual() api.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Dec 2007 22:33:50 +0000 (22:33 +0000)]
Start generating SSE intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sun, 16 Dec 2007 21:42:28 +0000 (21:42 +0000)]
Sema::ActOnMemberReferenceExpr() needs to perform the default conversions.
Bug and test case provided by Carl Lewis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45078
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Dec 2007 23:20:07 +0000 (23:20 +0000)]
swtich to smallptrset, which is more efficient than std::set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45065
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Dec 2007 23:11:06 +0000 (23:11 +0000)]
make clang -v output more similar to gcc's -v output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45064
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 15 Dec 2007 21:23:30 +0000 (21:23 +0000)]
We now support all MMX intrinsics. SSE intrinsics are next.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45062
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Dec 2007 20:48:40 +0000 (20:48 +0000)]
simplify the interfaces to ProcessInputFile and InitializePreprocessor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45060
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 15 Dec 2007 00:39:18 +0000 (00:39 +0000)]
Removed "isSizeOfExpr" mode from StmtIterator. It turned out not to be
so useful and introduced a few bugs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45051
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Dec 2007 23:40:56 +0000 (23:40 +0000)]
Added "mode" to StmtIterator to record if the expression being iterated
over is the subexpression of a sizeof(expression). Different clients
will wish to handle iteration over such subexpressions differently, and can
now easily query if they are iterating over such statements using the
StmtIterator's inSizeOfExpr().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45047
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Fri, 14 Dec 2007 23:37:57 +0000 (23:37 +0000)]
- Remove getInstanceMethods/getClassMethods API on ObjcInterfaceDecl, ObjcProtocolDecl, and ObjcCategoryDecl. These methods are replaced by the respective iterators on each class.
- Add getInstanceMethodForSelector to ObjcInterfaceDecl, ObjcProtocolDecl, and ObjcCatgoryDecl. This hook will do a "shallow" lookup. This is a convenience method that reducing some of the iterator usage.
- Various changes to convert all clients to the above API's...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45046
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Dec 2007 22:52:23 +0000 (22:52 +0000)]
Added support to StmtIterator to traverse the size expression of a VLA type
declared in a sizeof. For example:
sizeof(int[foo()]);
the expression "foo()" is an expression that is executed during the evaluation
of sizeof.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45043
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 14 Dec 2007 17:48:24 +0000 (17:48 +0000)]
Simplify the vector code. Add more shift intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45035
91177308 -0d34-0410-b5e6-
96231b3b80d8
Kevin [Fri, 14 Dec 2007 05:47:49 +0000 (05:47 +0000)]
IE Menu Problem...
Originally, I included CSS hacks for IE.
However, my comments before the doctype was the reason IE was running in non-strict mode. I did not know this.
When Chris removed the comments, IE correctly went into strict mode and my IE hacks were no longer needed (the hacks were getting in the way now).
solution:
*) Make sure doctype is first on all files
*) removed all IE hacks from menu.css (since the doctype issue fixes IE)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45025
91177308 -0d34-0410-b5e6-
96231b3b80d8
Seo Sanghyeon [Fri, 14 Dec 2007 02:04:12 +0000 (02:04 +0000)]
Array subscription in aggregate expression
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45023
91177308 -0d34-0410-b5e6-
96231b3b80d8
Seo Sanghyeon [Fri, 14 Dec 2007 01:09:11 +0000 (01:09 +0000)]
Implement dereference operator in aggregate expression
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45020
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Dec 2007 22:44:18 +0000 (22:44 +0000)]
CFG bug fix: for sizeof(expressions), don't expand the control-flow
of "expressions", since they are not really evaluated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45015
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 13 Dec 2007 20:47:42 +0000 (20:47 +0000)]
Patch to make ObjcQualifiedInterfaceType inherit ObjcInterfaceType
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45014
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 13 Dec 2007 18:18:56 +0000 (18:18 +0000)]
Sema::ActOnFinishFunctionBody(): Since we no longer synthesize a FunctionDecl for each method, remove the unconditional initialization to 0 and corresponding comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45008
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Dec 2007 18:12:10 +0000 (18:12 +0000)]
Add hack to SourceManager to support missing source files during
deserialization. Eventually this should be replaced with a lazy-reading
mechanism that only reads source files when they are needed by clients.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45007
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Dec 2007 18:11:11 +0000 (18:11 +0000)]
Add check in the driver to see if a serialized AST file has been successfully
deserialized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45006
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Dec 2007 17:54:02 +0000 (17:54 +0000)]
Changed set of top-level decls from a list to a vector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45005
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Dec 2007 17:50:11 +0000 (17:50 +0000)]
Changed -serialize-ast to not create a temporary directory, but instead
create a .ast file in the current working directory. This mirrors the behavior
of the -c option for gcc. Later we should add the ability to write the
serialized file anywhere.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45004
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Dec 2007 17:34:31 +0000 (17:34 +0000)]
Set target data layout info in module.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45003
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Dec 2007 17:27:09 +0000 (17:27 +0000)]
typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45002
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Dec 2007 17:25:36 +0000 (17:25 +0000)]
debug info too.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Dec 2007 16:41:01 +0000 (16:41 +0000)]
Minor spelling; punctuation correction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45000
91177308 -0d34-0410-b5e6-
96231b3b80d8