]> granicus.if.org Git - clang/log
clang
15 years agoFor plist diagnostics, use the extensive PathDiagnostic generation algorithm.
Ted Kremenek [Thu, 2 Apr 2009 00:44:18 +0000 (00:44 +0000)]
For plist diagnostics, use the extensive PathDiagnostic generation algorithm.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68264 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWe no longer expect an warning as this is now valid.
Mike Stump [Thu, 2 Apr 2009 00:04:12 +0000 (00:04 +0000)]
We no longer expect an warning as this is now valid.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68263 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some more code modification hints
Douglas Gregor [Wed, 1 Apr 2009 23:51:29 +0000 (23:51 +0000)]
Add some more code modification hints

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68261 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Allow -ccc-gcc-name to specify the name/path to use when
Daniel Dunbar [Wed, 1 Apr 2009 23:34:41 +0000 (23:34 +0000)]
Driver: Allow -ccc-gcc-name to specify the name/path to use when
calling gcc in generic configurations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68260 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a bug in declaration of property in continuation
Fariborz Jahanian [Wed, 1 Apr 2009 23:23:53 +0000 (23:23 +0000)]
Fix a bug in declaration of property in continuation
class which was exposed by implementation of
objc2's nonfragile abi code gen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68259 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd code modification hints to various parsing-related diagnostics.
Douglas Gregor [Wed, 1 Apr 2009 22:41:11 +0000 (22:41 +0000)]
Add code modification hints to various parsing-related diagnostics.

Plus, reword a extension warnings to avoid talking about "ISO C" when
the extension might also be available in C++ or C++0x.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68257 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake parsing a semantic analysis a little more robust following Sema
Douglas Gregor [Wed, 1 Apr 2009 21:51:26 +0000 (21:51 +0000)]
Make parsing a semantic analysis a little more robust following Sema
failures that involve malformed types, e.g., "typename X::foo" where
"foo" isn't a type, or "std::vector<void>" that doens't instantiate
properly.

Similarly, be a bit smarter in our handling of ambiguities that occur
in Sema::getTypeName, to eliminate duplicate error messages about
ambiguous name lookup.

This eliminates two XFAILs in test/SemaCXX, one of which was crying
out to us, trying to tell us that we were producing repeated error
messages.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68251 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate test case and comment.
Steve Naroff [Wed, 1 Apr 2009 21:27:56 +0000 (21:27 +0000)]
Update test case and comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68247 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCodeGenModule::GetAddrOfConstantCFString():
Steve Naroff [Wed, 1 Apr 2009 21:16:31 +0000 (21:16 +0000)]
CodeGenModule::GetAddrOfConstantCFString():
- Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants.

Remove warning from CheckObjCString.

As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68245 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBugReporter, extensive path-diagnostics: add an extra control-flow edge to the
Ted Kremenek [Wed, 1 Apr 2009 21:12:06 +0000 (21:12 +0000)]
BugReporter, extensive path-diagnostics: add an extra control-flow edge to the
enclosing statement when jumping to a subexpression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68244 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoQuick and dirty (!) fix to make sure we use powerpc in triples.
Daniel Dunbar [Wed, 1 Apr 2009 20:33:11 +0000 (20:33 +0000)]
Quick and dirty (!) fix to make sure we use powerpc in triples.
 - PR3922

 - I have a clean solution for this in flight, but it may take a while
   to come to fruition so we'll take a quick fix for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68241 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd -ftrapv support, patch from David Chisnall; well all except the
Mike Stump [Wed, 1 Apr 2009 20:28:16 +0000 (20:28 +0000)]
Add -ftrapv support, patch from David Chisnall; well all except the
clang option code that is and two bug fixes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68240 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixes a problem where the compiler is reporting the wrong size to the Gnu
Fariborz Jahanian [Wed, 1 Apr 2009 19:49:42 +0000 (19:49 +0000)]
Fixes a problem where the compiler is reporting the wrong size to the Gnu
runtime on 64-bit architectures.
Patch by David Chisnall

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68238 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix comment.
Ted Kremenek [Wed, 1 Apr 2009 19:43:28 +0000 (19:43 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68236 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow CCC_ADD_ARGS to add empty arguments
Daniel Dunbar [Wed, 1 Apr 2009 19:38:07 +0000 (19:38 +0000)]
Allow CCC_ADD_ARGS to add empty arguments

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68235 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoNonfragile ivar synthesis with property is in a continuation
Fariborz Jahanian [Wed, 1 Apr 2009 19:37:34 +0000 (19:37 +0000)]
Nonfragile ivar synthesis with property is in a continuation
class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68234 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Add freebsd::Link
Daniel Dunbar [Wed, 1 Apr 2009 19:36:32 +0000 (19:36 +0000)]
Driver: Add freebsd::Link
 - Patch by Ed Schouten!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68233 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate CMake file. Patch by Brian Diekelman!
Ted Kremenek [Wed, 1 Apr 2009 19:11:05 +0000 (19:11 +0000)]
Update CMake file.  Patch by Brian Diekelman!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68232 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSupport CCC_ADD_ARGS in new driver.
Daniel Dunbar [Wed, 1 Apr 2009 19:08:46 +0000 (19:08 +0000)]
Support CCC_ADD_ARGS in new driver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68231 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert r68221, -ftrapv support, which causes several regressions in
Douglas Gregor [Wed, 1 Apr 2009 18:59:55 +0000 (18:59 +0000)]
Revert r68221, -ftrapv support, which causes several regressions in
Clang's test suite.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68230 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBugReporter: for extensive path diagnostics:
Ted Kremenek [Wed, 1 Apr 2009 18:48:52 +0000 (18:48 +0000)]
BugReporter: for extensive path diagnostics:
- When processing BlockEdges with terminators, using the condition as the
  control-flow point for terminators that are expressions (e.g., '&&', '?')
- When processing events, allow intra-compound statement "jumping"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68228 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSplit PTH tests from carbon.c into separate test.
Daniel Dunbar [Wed, 1 Apr 2009 18:25:32 +0000 (18:25 +0000)]
Split PTH tests from carbon.c into separate test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68223 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd -ftrapv support, patch from David Chisnall; well all except the
Mike Stump [Wed, 1 Apr 2009 18:19:33 +0000 (18:19 +0000)]
Add -ftrapv support, patch from David Chisnall; well all except the
clang option code that is.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68221 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForgot to remove trailing &&
Daniel Dunbar [Wed, 1 Apr 2009 18:11:41 +0000 (18:11 +0000)]
Forgot to remove trailing &&

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68220 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBugReporter: for extensive PathDiagnostic generation, add control-flow from the
Ted Kremenek [Wed, 1 Apr 2009 17:52:26 +0000 (17:52 +0000)]
BugReporter: for extensive PathDiagnostic generation, add control-flow from the
start of the function/method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68217 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBugReporter: For the "extensive" PathDiagnostic generation algorithm, elide most
Ted Kremenek [Wed, 1 Apr 2009 17:18:21 +0000 (17:18 +0000)]
BugReporter: For the "extensive" PathDiagnostic generation algorithm, elide most
intra-compound statement jumps unless they are between terminators (i.e.,
branches).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68216 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTed & I crossed paths here, these tests are in cocoa-pth.m now.
Daniel Dunbar [Wed, 1 Apr 2009 16:59:39 +0000 (16:59 +0000)]
Ted & I crossed paths here, these tests are in cocoa-pth.m now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68215 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemoved the test case, as Chris did have a test case in the patch.
Fariborz Jahanian [Wed, 1 Apr 2009 16:53:37 +0000 (16:53 +0000)]
Removed the test case, as Chris did have a test case in the patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68214 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest case for Chris's patch:
Fariborz Jahanian [Wed, 1 Apr 2009 16:51:23 +0000 (16:51 +0000)]
Test case for Chris's patch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=68177

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68213 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd testcase for -Wmissing-prototypes
Douglas Gregor [Wed, 1 Apr 2009 16:38:48 +0000 (16:38 +0000)]
Add testcase for -Wmissing-prototypes

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68212 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some examples of Fix-it hints to our documentation
Douglas Gregor [Wed, 1 Apr 2009 16:24:40 +0000 (16:24 +0000)]
Add some examples of Fix-it hints to our documentation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68210 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.
Steve Naroff [Wed, 1 Apr 2009 15:50:34 +0000 (15:50 +0000)]
Add ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.

#ifdef'd out the 5 conversion routines that we don't currently need.

Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this.

Expect to remove the FIXME today...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68208 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGive Type::getDesugaredType a "for-display" mode that can apply more
Douglas Gregor [Wed, 1 Apr 2009 15:47:24 +0000 (15:47 +0000)]
Give Type::getDesugaredType a "for-display" mode that can apply more
heuristics to determine when it's useful to desugar a type for display
to the user. Introduce two C++-specific heuristics:

  - For a qualified type (like "foo::bar"), only produce a new
    desugred type if desugaring the qualified type ("bar", in this
    case) produces something interesting. For example, if "foo::bar"
    refers to a class named "bar", don't desugar. However, if
    "foo::bar" refers to a typedef of something else, desugar to that
    something else. This gives some useful desugaring such as
    "foo::bar (aka 'int')".
  - Don't desugar class template specialization types like
    "basic_string<char>" down to their underlying "class
    basic_string<char, char_traits<char>, allocator<char>>, etc.";
    it's better just to leave such types alone.

Update diagnostics.html with some discussion and examples of type
preservation in C++, showing qualified names and class template
specialization types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68207 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd cocoa-pth.c test case, this got lost in shuffling PTH test cases.
Daniel Dunbar [Wed, 1 Apr 2009 15:36:37 +0000 (15:36 +0000)]
Add cocoa-pth.c test case, this got lost in shuffling PTH test cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68205 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRe-enable PTH testing for cocoa.h and carbon.h. This tests that PTH works on
Ted Kremenek [Wed, 1 Apr 2009 15:28:20 +0000 (15:28 +0000)]
Re-enable PTH testing for cocoa.h and carbon.h. This tests that PTH works on
real-world header files and these tests have caught serious bugs in the past.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68204 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore "prep" work for handling UTF16 CFString.
Steve Naroff [Wed, 1 Apr 2009 13:55:36 +0000 (13:55 +0000)]
More "prep" work for handling UTF16 CFString.

Patch by Jean-Daniel Dupas. Thanks!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68203 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoProcessUCNEscape(): Incorportate some feedback from Chris.
Steve Naroff [Wed, 1 Apr 2009 11:09:15 +0000 (11:09 +0000)]
ProcessUCNEscape(): Incorportate some feedback from Chris.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68198 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agox86-32 Darwin ABI: Handle small structures correctly.
Daniel Dunbar [Wed, 1 Apr 2009 07:45:00 +0000 (07:45 +0000)]
x86-32 Darwin ABI: Handle small structures correctly.
 - Small structures are returned in a register if:
    1. They fit nicely in a  register.
    2. All fields fit nicely in a register.
   (more or less)

 - We now pass the first 5000 ABITests if unions are disabled.

 - <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with
   small structs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68197 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agox86-32 Darwin ABI: Single element arrays can be part of "single
Daniel Dunbar [Wed, 1 Apr 2009 07:08:38 +0000 (07:08 +0000)]
x86-32 Darwin ABI: Single element arrays can be part of "single
element structures", which have different ABI rules.
 - Current return-arguments-32 status is: 1 out of 1000 failures (-7)

 - Also, vectors inside "single element structs" require special
   handling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68196 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix: <rdar://problem/6740387>. Sending nil to an object that returns a struct
Ted Kremenek [Wed, 1 Apr 2009 06:52:48 +0000 (06:52 +0000)]
Fix: <rdar://problem/6740387>. Sending nil to an object that returns a struct
should only be an error if that value is consumed. This fix was largely
accomplished by moving 'isConsumedExpr' back to ParentMap.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68195 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove ASTContext::buildObjCInterfaceType, which breaks canonical
Chris Lattner [Wed, 1 Apr 2009 06:23:52 +0000 (06:23 +0000)]
remove ASTContext::buildObjCInterfaceType, which breaks canonical
types.  It is no longer needed now that the code generator
re-lays-out interfaces if they are defines after being laid out
from a forward decl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68194 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Changed PathDiagnosticPiece::getLocation() to return a PathDiagnosticLocation
Ted Kremenek [Wed, 1 Apr 2009 06:13:56 +0000 (06:13 +0000)]
- Changed PathDiagnosticPiece::getLocation() to return a PathDiagnosticLocation
  instead of a FullSourceLoc. This resulted in a bunch of small edits in various
  clients.
- Updated BugReporter to include an alternate PathDiagnostic generation
  algorithm for PathDiagnosticClients desiring more control-flow pieces.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68193 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agox86-32 Darwin ABI: Handle direct return of vectors.
Daniel Dunbar [Wed, 1 Apr 2009 06:13:08 +0000 (06:13 +0000)]
x86-32 Darwin ABI: Handle direct return of vectors.
 - Current return-arguments-32 status is: 8 out of 1000 failures (-7)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68192 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate docs.
Zhongxing Xu [Wed, 1 Apr 2009 06:01:08 +0000 (06:01 +0000)]
Update docs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68191 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdjust doc format.
Zhongxing Xu [Wed, 1 Apr 2009 05:26:39 +0000 (05:26 +0000)]
Adjust doc format.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68190 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPull clang-cc code for generating PTH files based on the input type.
Daniel Dunbar [Wed, 1 Apr 2009 05:09:09 +0000 (05:09 +0000)]
Pull clang-cc code for generating PTH files based on the input type.
 - <rdar://problem/6741594> [pth] don't abuse -x to drive pth
   generation

 - Simpler, and fixes PR3915.

Cleanup test cases for PTH:
 - Update to use -emit-pth

 - Removed PTH test of carbon.c and cocoa.mm; these didn't actually
   verify anything, and since PTH is token based the extra coverage
   (over cocoa.m) isn't particularly helpful.

 - Split PTH tests in cocoa.m to cocoa-pth.m, solely to increase
   available parallelism when running tests.

Ted, could you update the PTH test cases (include-pth.c and
cocoa-pth.m) to have some sort of positive check that the PTH is
getting used? "# of PTH cache hits" or "tokens read from PTH cache"
statistics would work great. :)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68189 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoupdate docs.
Zhongxing Xu [Wed, 1 Apr 2009 05:05:22 +0000 (05:05 +0000)]
update docs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68188 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a subtle bug where the cleanup scope entries had a dangling block reference
Daniel Dunbar [Wed, 1 Apr 2009 04:37:47 +0000 (04:37 +0000)]
Fix a subtle bug where the cleanup scope entries had a dangling block reference
 - <rdar://problem/6732143> Crash when generating @synchronize for
   zero-cost exception

 - Thanks to Anders for helping track down the problem.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68186 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCFG: For 'if(...) {}' (empty body) construct an empty CFGBlock so that we can
Ted Kremenek [Wed, 1 Apr 2009 03:52:47 +0000 (03:52 +0000)]
CFG: For 'if(...) {}' (empty body) construct an empty CFGBlock so that we can
distinguish between the true and false branches for path-sensitive analyses.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68185 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove a FIXME, use -emit-pth to drive PTH generation.
Daniel Dunbar [Wed, 1 Apr 2009 03:28:10 +0000 (03:28 +0000)]
Remove a FIXME, use -emit-pth to drive PTH generation.
 -  c.f. r68164

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68184 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate docs.
Zhongxing Xu [Wed, 1 Apr 2009 03:23:38 +0000 (03:23 +0000)]
Update docs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68183 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak/cleanup darwin::Link a bit, add several FIXMES, and improve test
Daniel Dunbar [Wed, 1 Apr 2009 03:17:40 +0000 (03:17 +0000)]
Tweak/cleanup darwin::Link a bit, add several FIXMES, and improve test
case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68182 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix pascal string support; testcase from mailing list message.
Eli Friedman [Wed, 1 Apr 2009 03:17:08 +0000 (03:17 +0000)]
Fix pascal string support; testcase from mailing list message.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68181 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFollow gcc's example and warn by default on unknown escapes. Inspired
Eli Friedman [Wed, 1 Apr 2009 02:59:02 +0000 (02:59 +0000)]
Follow gcc's example and warn by default on unknown escapes.  Inspired
by mailing list message about "\phello" style strings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68180 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix test failure on Linux by forcing the triple to OS X.
Eli Friedman [Wed, 1 Apr 2009 02:55:21 +0000 (02:55 +0000)]
Fix test failure on Linux by forcing the triple to OS X.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68179 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFlip diagnostic from Warning to ExtWarn so that it's an error
Eli Friedman [Wed, 1 Apr 2009 02:48:25 +0000 (02:48 +0000)]
Flip diagnostic from Warning to ExtWarn so that it's an error
with -pedantic-errors.  This fixes the C99 part of PR3919.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68178 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix the two xfails I added with a previous patch by making ObjC interface
Chris Lattner [Wed, 1 Apr 2009 02:36:43 +0000 (02:36 +0000)]
fix the two xfails I added with a previous patch by making ObjC interface
types get completed when their definition is seen if previously laid out by
the code generator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68177 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomove trivial forwarding function inline.
Chris Lattner [Wed, 1 Apr 2009 02:08:13 +0000 (02:08 +0000)]
move trivial forwarding function inline.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68176 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agotidy some code.
Chris Lattner [Wed, 1 Apr 2009 02:00:48 +0000 (02:00 +0000)]
tidy some code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68174 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix block comparisons. Radar 6732116.
Mike Stump [Wed, 1 Apr 2009 01:17:39 +0000 (01:17 +0000)]
Fix block comparisons.  Radar 6732116.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68171 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement code generation of namespaces and add mangling tests.
Anders Carlsson [Wed, 1 Apr 2009 00:58:25 +0000 (00:58 +0000)]
Implement code generation of namespaces and add mangling tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68170 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd support for the LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX limits.h GNU extensions.
Chris Lattner [Wed, 1 Apr 2009 00:44:37 +0000 (00:44 +0000)]
add support for the LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX limits.h GNU extensions.
rdar://6740292

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68169 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a bug (that I thought I had fixed already) where mangling a prefix could get...
Anders Carlsson [Wed, 1 Apr 2009 00:42:16 +0000 (00:42 +0000)]
Fix a bug (that I thought I had fixed already) where mangling a prefix could get us into an infinite loop

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68168 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoParsing, semantic analysis, and template instantiation for typename
Douglas Gregor [Wed, 1 Apr 2009 00:28:59 +0000 (00:28 +0000)]
Parsing, semantic analysis, and template instantiation for typename
specifiers that terminate in a simple-template-id, e.g.,

  typename MetaFun::template apply<T1, T2>

Also, implement template instantiation for dependent
nested-name-specifiers that involve unresolved identifiers, e.g.,

  typename T::type::type

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68166 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTweak darwin::Assemble and add a FIXME.
Daniel Dunbar [Wed, 1 Apr 2009 00:27:44 +0000 (00:27 +0000)]
Tweak darwin::Assemble and add a FIXME.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68165 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd '-emit-pth' option to clang-cc as an alternate API for the high-level driver
Ted Kremenek [Wed, 1 Apr 2009 00:23:28 +0000 (00:23 +0000)]
Add '-emit-pth' option to clang-cc as an alternate API for the high-level driver
to generate PTH files. Soon we will remove from clang-cc the GCC-style '-x
c-header' interface for generating PTH files and push this logic to 'clang'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68164 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a mangling bug where functions with no arguments weren't getting the 'v' paramete...
Anders Carlsson [Wed, 1 Apr 2009 00:15:23 +0000 (00:15 +0000)]
Fix a mangling bug where functions with no arguments weren't getting the 'v' parameter specifier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68162 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd Target hooks for IRgen of [cf]string literals.
Daniel Dunbar [Tue, 31 Mar 2009 23:42:16 +0000 (23:42 +0000)]
Add Target hooks for IRgen of [cf]string literals.
 - Notably, set section on cfstring literal string data (for now, this
   is done everywhere because it matches what we were already doing
   for the CFString data itself)

 - <rdar://problem/6599098> [irgen] linker requires objc string data
   to go into cstring

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68160 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore code reshuffling. No functionality change.
Ted Kremenek [Tue, 31 Mar 2009 23:00:32 +0000 (23:00 +0000)]
More code reshuffling.  No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68157 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange UsedArray to be a vector of WeakVH to fix a dangling pointer problem that...
Chris Lattner [Tue, 31 Mar 2009 22:37:52 +0000 (22:37 +0000)]
Change UsedArray to be a vector of WeakVH to fix a dangling pointer problem that occurs when
attribute(used) and asm renaming are used together.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68155 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove some obsolete comments, use an AssertingVH.
Chris Lattner [Tue, 31 Mar 2009 22:17:44 +0000 (22:17 +0000)]
remove some obsolete comments, use an AssertingVH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68151 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Implement basic --help text.
Daniel Dunbar [Tue, 31 Mar 2009 21:38:17 +0000 (21:38 +0000)]
Driver: Implement basic --help text.
 - PR3875.
 - <rdar://problem/6615249> [driver] ccc should support some form of
   --help

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68148 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Add OptTable::getOptionKind.
Daniel Dunbar [Tue, 31 Mar 2009 21:26:12 +0000 (21:26 +0000)]
Driver: Add OptTable::getOptionKind.

Also, removed default value for getOptionMetaVar.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68146 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Forward -Wp, and -Xpreprocessor arguments to clang when using
Daniel Dunbar [Tue, 31 Mar 2009 20:53:55 +0000 (20:53 +0000)]
Driver: Forward -Wp, and -Xpreprocessor arguments to clang when using
the preprocessor.
 - PR3602.

 - As is inherent in the blanket forwarding options, this will only
   work if clang-cc happens to accept what the user passed. Users by
   and large should use driver options to interact with the
   preprocessor, if at all possible.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68144 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow two codepaths for PathDiagnostic generation. This patch mainly consists of
Ted Kremenek [Tue, 31 Mar 2009 20:22:36 +0000 (20:22 +0000)]
Allow two codepaths for PathDiagnostic generation. This patch mainly consists of
refactoring to make this possible (no functionality change).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68141 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome cleanup and renaming. No functionality change
Douglas Gregor [Tue, 31 Mar 2009 20:22:05 +0000 (20:22 +0000)]
Some cleanup and renaming. No functionality change

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68140 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Add extra parameters for help text to option definitions.
Daniel Dunbar [Tue, 31 Mar 2009 20:12:05 +0000 (20:12 +0000)]
Driver: Add extra parameters for help text to option definitions.
 - Currently unused.

And yes, now may be about the time I want a TableGen backend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68139 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd two FIXMEs
Daniel Dunbar [Tue, 31 Mar 2009 20:10:05 +0000 (20:10 +0000)]
Add two FIXMEs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68138 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove the dependent nested-name-specifier test a bit
Douglas Gregor [Tue, 31 Mar 2009 20:07:16 +0000 (20:07 +0000)]
Improve the dependent nested-name-specifier test a bit

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68136 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agox86_32 Darwin ABI: Treat empty unions like empty structures.
Daniel Dunbar [Tue, 31 Mar 2009 19:01:39 +0000 (19:01 +0000)]
x86_32 Darwin ABI: Treat empty unions like empty structures.
 - Current return-arguments-32 status: 15/1000 failures

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68132 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename clang.[cpp,h] to clang-cc.[cpp,h] to reflect the name change of the
Ted Kremenek [Tue, 31 Mar 2009 18:58:14 +0000 (18:58 +0000)]
Rename clang.[cpp,h] to clang-cc.[cpp,h] to reflect the name change of the
low-level frontend driver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68131 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate VS project.
Ted Kremenek [Tue, 31 Mar 2009 18:57:19 +0000 (18:57 +0000)]
Update VS project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68130 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement template instantiation for template names, including both
Douglas Gregor [Tue, 31 Mar 2009 18:38:02 +0000 (18:38 +0000)]
Implement template instantiation for template names, including both
template template parameters and dependent template names. For
example, the oft-mentioned

  typename MetaFun::template apply<T1, T2>::type

can now be instantiated, with the appropriate name lookup for "apply".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68128 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPatch to fix proptocol reference ir-gen for GNU runtime.
Fariborz Jahanian [Tue, 31 Mar 2009 18:27:22 +0000 (18:27 +0000)]
Patch to fix proptocol reference ir-gen for GNU runtime.
Patch by David Chisnal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68125 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoir-gen support for nonfragile abi's synthesized ivars.
Fariborz Jahanian [Tue, 31 Mar 2009 18:11:23 +0000 (18:11 +0000)]
ir-gen support for nonfragile abi's synthesized ivars.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68122 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDriver: Call 'as' directly on FreeBSD.
Daniel Dunbar [Tue, 31 Mar 2009 17:45:15 +0000 (17:45 +0000)]
Driver: Call 'as' directly on FreeBSD.
 - Patch by Ed Schouten!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68121 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago(LLVM up) Update to use llvm::sys::getHostTriple().
Daniel Dunbar [Tue, 31 Mar 2009 17:35:15 +0000 (17:35 +0000)]
(LLVM up) Update to use llvm::sys::getHostTriple().
 - Always pass -triple to clang-cc (-arch will be removed).

 - clang-cc doesn't play guess work with the target triple anymore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68119 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd -Wdeprecated-declarations to driver and add a test case.
Steve Naroff [Tue, 31 Mar 2009 17:28:26 +0000 (17:28 +0000)]
Add -Wdeprecated-declarations to driver and add a test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68117 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWe fully support namespace aliases now.
Anders Carlsson [Tue, 31 Mar 2009 17:17:14 +0000 (17:17 +0000)]
We fully support namespace aliases now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68116 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore toward nonfragile abi's synthesized ivars.
Fariborz Jahanian [Tue, 31 Mar 2009 17:00:52 +0000 (17:00 +0000)]
More toward nonfragile abi's synthesized ivars.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68115 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome "prep" work for handling ObjC @-string constants that contain UTF-8. No function...
Steve Naroff [Tue, 31 Mar 2009 16:53:37 +0000 (16:53 +0000)]
Some "prep" work for handling ObjC @-string constants that contain UTF-8. No functionality change.

Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68114 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement -Wmissing-prototypes. Fixes PR3911.
Douglas Gregor [Tue, 31 Mar 2009 16:35:03 +0000 (16:35 +0000)]
Implement -Wmissing-prototypes. Fixes PR3911.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68110 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd support for -Wdeprecated-declarations.
Steve Naroff [Tue, 31 Mar 2009 15:00:11 +0000 (15:00 +0000)]
Add support for -Wdeprecated-declarations.

This fixes <rdar://problem/6712496> Unable to disable deprecated warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68108 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIncorporate feedback from Eli.
Steve Naroff [Tue, 31 Mar 2009 10:29:45 +0000 (10:29 +0000)]
Incorporate feedback from Eli.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68107 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a problem in ASTContext::addRecordToClass handling forward declarations.
Chris Lattner [Tue, 31 Mar 2009 09:24:30 +0000 (09:24 +0000)]
Fix a problem in ASTContext::addRecordToClass handling forward declarations.
In a case like:

@class foo;
foo *P;

addRecordToClass was making an empty shadow struct for the foo interface and
completing it.  Later when an:

@interface foo
...
@endif

foo *Q;

was seen, ASTContext::addRecordToClass would think that foo was already laid
out and not lay out the definition.  This fixes it to create a forward declared
struct the first time around, then complete it when the definition is seen.

Note that this causes two tests to regress, because something is trying to get
the size of the forward declared structs returned by this.  Previously, this
would end up getting a size of zero but now it properly dies.  I'm not sure
what the right solution is for this, so I xfailed the tests.

Fariborz, please take a look at this.  The testcase in rdar://6676794 now gets
farther, but dies later because the objc ivar is not assigned a field number.

As an aside, I really don't like the fact that the objc front-end is creating
shadow C structs for ObjC types.  This seems like an implementation detail of
the code generator that could be fixed by better factoring of the extant code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68106 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove a dead prototype
Chris Lattner [Tue, 31 Mar 2009 09:07:15 +0000 (09:07 +0000)]
remove a dead prototype

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68105 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoremove the warning. We don't control what users do, and this code
Chris Lattner [Tue, 31 Mar 2009 09:04:50 +0000 (09:04 +0000)]
remove the warning.  We don't control what users do, and this code
is run for perfectly reasonable things like NSString* because type
layout is recursive.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68104 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodisable copying of Type objects.
Chris Lattner [Tue, 31 Mar 2009 08:58:42 +0000 (08:58 +0000)]
disable copying of Type objects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68103 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agodo not *copy* objc interface types, just use their reference.
Chris Lattner [Tue, 31 Mar 2009 08:55:07 +0000 (08:55 +0000)]
do not *copy* objc interface types, just use their reference.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68102 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofill in temporary smallvectors instead of vectors for performance.
Chris Lattner [Tue, 31 Mar 2009 08:48:01 +0000 (08:48 +0000)]
fill in temporary smallvectors instead of vectors for performance.
Fix BuildAggrIvarLayout to not access vectors out of range.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68101 91177308-0d34-0410-b5e6-96231b3b80d8