]> granicus.if.org Git - clang/log
clang
12 years agoSink the EmitDiagnosticLoc method down to the generic TextDiagnostic
Chandler Carruth [Sat, 15 Oct 2011 11:09:23 +0000 (11:09 +0000)]
Sink the EmitDiagnosticLoc method down to the generic TextDiagnostic
interface now that its only caller is there.

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

12 years agoSink the non-caret diagnostic logic down and out of the diagnostic
Chandler Carruth [Sat, 15 Oct 2011 11:09:19 +0000 (11:09 +0000)]
Sink the non-caret diagnostic logic down and out of the diagnostic
consumer. The TextDiagnostic interface now has a generic entry point for
emitting a diagnostic which uses a minimal interface that should be
compatible with StoredDiagnostics such as are available in libclang etc.

Some unfortunate shuffling of static functions as things get relocated.
Also some unfortunate public interface points added to
TextDiagnosticPrinter, but those are the next bits to get moved so they
won't last long.

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

12 years agoSimplify the interface of a helper method in the TextDiagnosticPrinter
Chandler Carruth [Sat, 15 Oct 2011 10:48:19 +0000 (10:48 +0000)]
Simplify the interface of a helper method in the TextDiagnosticPrinter
to operate directly on the source location and ranges associated with
a diagnostic rather than digging them out of the diagnostic. This had
a side benefit of cleaning up its code a tiny bit by using the ArrayRef
interface.

No functionality changed.

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

12 years agoAdd an accessor for all of the ranges in a diagnostic as an ArrayRef.
Chandler Carruth [Sat, 15 Oct 2011 10:48:13 +0000 (10:48 +0000)]
Add an accessor for all of the ranges in a diagnostic as an ArrayRef.
This will simplify a number of calls in the diagnostic printing going
forward.

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

12 years agoAdd -Wc++98-compat warning for deduced 'auto' type specifier.
Richard Smith [Sat, 15 Oct 2011 05:42:01 +0000 (05:42 +0000)]
Add -Wc++98-compat warning for deduced 'auto' type specifier.

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

12 years agoImplement -Wc++98-compat warnings for the parser.
Richard Smith [Sat, 15 Oct 2011 05:09:34 +0000 (05:09 +0000)]
Implement -Wc++98-compat warnings for the parser.

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

12 years agoRefactor: remove redundant check for 'final' specifier when parsing class/struct...
Richard Smith [Sat, 15 Oct 2011 04:21:46 +0000 (04:21 +0000)]
Refactor: remove redundant check for 'final' specifier when parsing class/struct definition.

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

12 years agoTestcase for half of r142048.
Richard Smith [Sat, 15 Oct 2011 04:11:50 +0000 (04:11 +0000)]
Testcase for half of r142048.

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

12 years agoConvert stray doxygen comments to regular comments. They logically represent the...
Ted Kremenek [Sat, 15 Oct 2011 04:06:55 +0000 (04:06 +0000)]
Convert stray doxygen comments to regular comments.  They logically represent the fields in FunctionProtoType.

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

12 years agoRevert "Move doxygen comments to pair with the actual values."
Ted Kremenek [Sat, 15 Oct 2011 04:06:52 +0000 (04:06 +0000)]
Revert "Move doxygen comments to pair with the actual values."

John convinced me this wasn't the right thing to do.  I'll follow up with a second
commit to make these non-doxygen comments.

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

12 years agoUse of override keywords in C++98 should produce a warning by default.
Richard Smith [Sat, 15 Oct 2011 04:01:16 +0000 (04:01 +0000)]
Use of override keywords in C++98 should produce a warning by default.

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

12 years agoRename an ExtWarn to ext_ for consistency.
Richard Smith [Sat, 15 Oct 2011 03:55:17 +0000 (03:55 +0000)]
Rename an ExtWarn to ext_ for consistency.

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

12 years agoDon't warn about use of 'final' in ill-formed C++98 code which didn't use
Richard Smith [Sat, 15 Oct 2011 03:38:41 +0000 (03:38 +0000)]
Don't warn about use of 'final' in ill-formed C++98 code which didn't use
'final', and don't accept (then silently discard) braced init lists in C++98
new-expressions.

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

12 years agoHandle an edge case involving the conditional operator and throw expressions. PR10582.
Eli Friedman [Sat, 15 Oct 2011 02:10:40 +0000 (02:10 +0000)]
Handle an edge case involving the conditional operator and throw expressions.  PR10582.

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

12 years agoChange 'Emit' to 'EmitCaret' which sums up what it *should* be doing.
Chandler Carruth [Sat, 15 Oct 2011 01:21:55 +0000 (01:21 +0000)]
Change 'Emit' to 'EmitCaret' which sums up what it *should* be doing.
Also note that it is actually doing much more than it should. This paves
the way for building a more generic 'Emit' routine that is the real
entry point here.

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

12 years ago-Wc++98-compat warnings for the lexer.
Richard Smith [Sat, 15 Oct 2011 01:18:56 +0000 (01:18 +0000)]
-Wc++98-compat warnings for the lexer.

This also adds a -Wc++98-compat-pedantic for warning on constructs which would
be diagnosed by -std=c++98 -pedantic (that is, it warns even on C++11 features
which we enable by default, with no warning, in C++98 mode).

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

12 years agoTeach the ASTImporter to perform DeclContext lookups in a way that
Douglas Gregor [Sat, 15 Oct 2011 00:10:27 +0000 (00:10 +0000)]
Teach the ASTImporter to perform DeclContext lookups in a way that
avoids loading data from an external source, since those lookups were
causing some "interesting" recursion in LLDB.

This code is not efficient. I plan to remedy this inefficiency in a
follow-up commit.

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

12 years agoAdd c_alignas and cxx_alignas features
Peter Collingbourne [Fri, 14 Oct 2011 23:44:46 +0000 (23:44 +0000)]
Add c_alignas and cxx_alignas features

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

12 years agoTweak the C++11 status prose a bit. We still need better user guidance on the standar...
Douglas Gregor [Fri, 14 Oct 2011 23:35:48 +0000 (23:35 +0000)]
Tweak the C++11 status prose a bit. We still need better user guidance on the standard library issue

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

12 years agoMissed tests for half FP support
Anton Korobeynikov [Fri, 14 Oct 2011 23:32:50 +0000 (23:32 +0000)]
Missed tests for half FP support

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

12 years agoProvide half floating point support as a storage only type.
Anton Korobeynikov [Fri, 14 Oct 2011 23:23:15 +0000 (23:23 +0000)]
Provide half floating point support as a storage only type.
Lack of half FP was a regression compared to llvm-gcc.

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

12 years agoSwitch the C++11 status table from a developer-centric list to a
Douglas Gregor [Fri, 14 Oct 2011 23:21:49 +0000 (23:21 +0000)]
Switch the C++11 status table from a developer-centric list to a
user-centric list, with Clang version numbers, following GCC's lead
(and user requests).

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

12 years agoAttempt to fix Windows buildbot, round 2.
Eli Friedman [Fri, 14 Oct 2011 23:10:30 +0000 (23:10 +0000)]
Attempt to fix Windows buildbot, round 2.

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

12 years agoAdd template instantiation support for AtomicExpr.
Eli Friedman [Fri, 14 Oct 2011 22:48:56 +0000 (22:48 +0000)]
Add template instantiation support for AtomicExpr.

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

12 years agoTeach the ASTImporter not to import redundant fields.
Douglas Gregor [Fri, 14 Oct 2011 21:54:42 +0000 (21:54 +0000)]
Teach the ASTImporter not to import redundant fields.

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

12 years agoAttempt to fix buildbot failure on Windows.
Eli Friedman [Fri, 14 Oct 2011 21:52:24 +0000 (21:52 +0000)]
Attempt to fix buildbot failure on Windows.

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

12 years agovfork comes from unistd.h
Joerg Sonnenberger [Fri, 14 Oct 2011 21:47:27 +0000 (21:47 +0000)]
vfork comes from unistd.h

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

12 years agoAllow calling ASTUnit::LoadFromCompilerInvocationAction with a previously created...
Argyrios Kyrtzidis [Fri, 14 Oct 2011 21:22:05 +0000 (21:22 +0000)]
Allow calling ASTUnit::LoadFromCompilerInvocationAction with a previously created ASTUnit.

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

12 years agoMisc fixes for atomics. Biggest fix is doing alignment correctly for _Atomic types.
Eli Friedman [Fri, 14 Oct 2011 20:59:01 +0000 (20:59 +0000)]
Misc fixes for atomics.  Biggest fix is doing alignment correctly for _Atomic types.

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

12 years ago-Wc++98-compat: warn on C++11 attributes and alignas.
Richard Smith [Fri, 14 Oct 2011 20:48:27 +0000 (20:48 +0000)]
-Wc++98-compat: warn on C++11 attributes and alignas.

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

12 years agoTest for r141985.
Richard Smith [Fri, 14 Oct 2011 20:41:13 +0000 (20:41 +0000)]
Test for r141985.

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

12 years agoDon't try to diagnose anything when we're passing incomplete types
Douglas Gregor [Fri, 14 Oct 2011 20:34:19 +0000 (20:34 +0000)]
Don't try to diagnose anything when we're passing incomplete types
through varargs. This only happens when we're in an unevaluated
context, where we don't want to trigger an error anyway. Fixes PR11131
/ <rdar://problem/10288375>.

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

12 years agoReinstate r141898 (reverted in r141921), without the -Wc++98-compat-variadic-template...
Richard Smith [Fri, 14 Oct 2011 20:31:37 +0000 (20:31 +0000)]
Reinstate r141898 (reverted in r141921), without the -Wc++98-compat-variadic-templates flag. Consensus is that -Wc++98-compat is a useful addition to clang, but per-C++11-feature warnings may not be.
Original patch by Jeffrey Yasskin.

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

12 years agoRefactor static analyzer to use simpler interface to constant expression evaluation.
Richard Smith [Fri, 14 Oct 2011 20:22:00 +0000 (20:22 +0000)]
Refactor static analyzer to use simpler interface to constant expression evaluation.

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

12 years ago[temp.explicit]p1: constexpr cannot be specified in explicit instantiations.
Richard Smith [Fri, 14 Oct 2011 19:58:02 +0000 (19:58 +0000)]
[temp.explicit]p1: constexpr cannot be specified in explicit instantiations.

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

12 years agoFix the CXX_INCLUDE_ROOT case that was out of date with ScanLibDirForGCCTriple.
Rafael Espindola [Fri, 14 Oct 2011 19:50:08 +0000 (19:50 +0000)]
Fix the CXX_INCLUDE_ROOT case that was out of date with ScanLibDirForGCCTriple.

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

12 years agoHarden test for windows paths.
Benjamin Kramer [Fri, 14 Oct 2011 19:03:46 +0000 (19:03 +0000)]
Harden test for windows paths.

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

12 years agoChange operator<< for raw_ostream and NamedDecl to take a reference instead of a...
Benjamin Kramer [Fri, 14 Oct 2011 18:45:37 +0000 (18:45 +0000)]
Change operator<< for raw_ostream and NamedDecl to take a reference instead of a pointer.

Passing a pointer was a bad idea as it collides with the overload for void*.

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

12 years agoSimplify code to avoid a useless string copy.
Benjamin Kramer [Fri, 14 Oct 2011 18:45:16 +0000 (18:45 +0000)]
Simplify code to avoid a useless string copy.

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

12 years agoUpgrade to PathV2.
Benjamin Kramer [Fri, 14 Oct 2011 18:45:11 +0000 (18:45 +0000)]
Upgrade to PathV2.

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

12 years agoAdd parens to pacify GCC.
Benjamin Kramer [Fri, 14 Oct 2011 18:45:06 +0000 (18:45 +0000)]
Add parens to pacify GCC.

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

12 years agoFix misplaced comment.
Fariborz Jahanian [Fri, 14 Oct 2011 18:35:31 +0000 (18:35 +0000)]
Fix misplaced comment.

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

12 years agoMake value kind based on the return type of the getter, not
Fariborz Jahanian [Fri, 14 Oct 2011 18:31:36 +0000 (18:31 +0000)]
Make value kind based on the return type of the getter, not
property type, for when getter may be a reference type.
// rdar://10188258 revised.

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

12 years ago[PCH] Serialize info about redeclared objc methods.
Argyrios Kyrtzidis [Fri, 14 Oct 2011 17:41:52 +0000 (17:41 +0000)]
[PCH] Serialize info about redeclared objc methods.

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

12 years agoAdd flags for the remaining shift related warnings
Joerg Sonnenberger [Fri, 14 Oct 2011 17:34:53 +0000 (17:34 +0000)]
Add flags for the remaining shift related warnings
(-Wshift-count-negative, -Wshift-count-overflow).

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

12 years agoobjc-arc: Improve arc diagnostic when method is not
Fariborz Jahanian [Fri, 14 Oct 2011 17:34:08 +0000 (17:34 +0000)]
objc-arc: Improve arc diagnostic when method is not
found in receiver's class. // rdar://9970739

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

12 years agoAdd __nodebug__ attribute to functions in arm_neon.h
Bob Wilson [Fri, 14 Oct 2011 16:55:33 +0000 (16:55 +0000)]
Add __nodebug__ attribute to functions in arm_neon.h

This matches what we do for Intel vector intrinsics. <rdar://problem/10280207>

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

12 years agoUnder ARC, merge the bit corresponding to the ns_returns_retained
Douglas Gregor [Fri, 14 Oct 2011 15:55:40 +0000 (15:55 +0000)]
Under ARC, merge the bit corresponding to the ns_returns_retained
attribute from the first declaration to later declarations. Fixes
<rdar://problem/10142572>.

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

12 years agoOnly warn in -Wliteral-conversion if the conversion loses information
Matt Beaumont-Gay [Fri, 14 Oct 2011 15:36:25 +0000 (15:36 +0000)]
Only warn in -Wliteral-conversion if the conversion loses information

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

12 years agoWhen declaring an out-of-line template, attempt to rebuild any types
Douglas Gregor [Fri, 14 Oct 2011 15:31:12 +0000 (15:31 +0000)]
When declaring an out-of-line template, attempt to rebuild any types
within the template parameter list that may have changed now that we
know the current instantiation. Fixes <rdar://problem/10194295>.

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

12 years agoAdded clang_getCompletionAnnotation and clang_getCompletionNumAnnotations to
Erik Verbruggen [Fri, 14 Oct 2011 15:31:08 +0000 (15:31 +0000)]
Added clang_getCompletionAnnotation and clang_getCompletionNumAnnotations to
retrieve annotations from completion string.

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

12 years agoReally protect from infinite loop when there are objc method redeclarations.
Argyrios Kyrtzidis [Fri, 14 Oct 2011 08:02:31 +0000 (08:02 +0000)]
Really protect from infinite loop when there are objc method redeclarations.

Serialization part will come later.

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

12 years agoUpdating the Clang website to refer to C++'11 instead of C++'0x
David Blaikie [Fri, 14 Oct 2011 07:58:10 +0000 (07:58 +0000)]
Updating the Clang website to refer to C++'11 instead of C++'0x

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

12 years agoKeep track of objc method redeclarations in the same interface.
Argyrios Kyrtzidis [Fri, 14 Oct 2011 06:48:06 +0000 (06:48 +0000)]
Keep track of objc method redeclarations in the same interface.

Avoid possible infinite loop when iterating over an ObjCMethod's redeclarations.

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

12 years agoUse Triple.isOSDarwin() instead of comparing against Triple::Darwin.
Bob Wilson [Fri, 14 Oct 2011 05:03:44 +0000 (05:03 +0000)]
Use Triple.isOSDarwin() instead of comparing against Triple::Darwin.

There are now separate Triple::MacOSX and Triple::IOS values for the OS
so comparing against Triple::Darwin will fail to match those.  Note that
I changed the expected output for the Driver/rewrite-objc.m test, which had
previously not been passing Darwin-specific options with the macosx triple.

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

12 years agoUpdate open source static analyzer build.
Ted Kremenek [Fri, 14 Oct 2011 04:15:19 +0000 (04:15 +0000)]
Update open source static analyzer build.

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

12 years agoMove doxygen comments to pair with the actual values.
Ted Kremenek [Fri, 14 Oct 2011 04:15:15 +0000 (04:15 +0000)]
Move doxygen comments to pair with the actual values.

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

12 years agoPR11124: Don't overwrite memory outside of a base class when performing zero-initiali...
Eli Friedman [Fri, 14 Oct 2011 02:27:24 +0000 (02:27 +0000)]
PR11124: Don't overwrite memory outside of a base class when performing zero-initialization before running its constructor.

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

12 years agoFix grammaro
Douglas Gregor [Fri, 14 Oct 2011 00:54:15 +0000 (00:54 +0000)]
Fix grammaro

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

12 years agoAdd a preprocessor callback that is invoked every time the 'defined'
Douglas Gregor [Fri, 14 Oct 2011 00:49:43 +0000 (00:49 +0000)]
Add a preprocessor callback that is invoked every time the 'defined'
operator is seen, from Jason Haslam!

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

12 years agoAdd support for -std=gnu90 and -std=c++03, for compatibility with modern gcc.
Richard Smith [Fri, 14 Oct 2011 00:34:28 +0000 (00:34 +0000)]
Add support for -std=gnu90 and -std=c++03, for compatibility with modern gcc.

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

12 years agoRevert the -Wc++98-compat flag because dgregor doesn't like it.
Jeffrey Yasskin [Fri, 14 Oct 2011 00:04:00 +0000 (00:04 +0000)]
Revert the -Wc++98-compat flag because dgregor doesn't like it.

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

12 years agoobjc-arc: 'Class' property is implicitly __unsafe_unretained.
Fariborz Jahanian [Thu, 13 Oct 2011 23:45:45 +0000 (23:45 +0000)]
objc-arc: 'Class' property is implicitly __unsafe_unretained.
// rdar://10239594

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

12 years agoRename -Wc++0x-compat, -Wc++0x-extensions and -Wc++0x-narrowing from c++0x to
Richard Smith [Thu, 13 Oct 2011 23:32:09 +0000 (23:32 +0000)]
Rename -Wc++0x-compat, -Wc++0x-extensions and -Wc++0x-narrowing from c++0x to
c++11. The old names are kept for backwards-compatibility. Patch by Ahmed
Charles! Names for backwards-compatible DiagGroups removed by me.

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

12 years agoFix a test case where FileCheck is used to test code corrected by -fixit.
Richard Trieu [Thu, 13 Oct 2011 23:26:59 +0000 (23:26 +0000)]
Fix a test case where FileCheck is used to test code corrected by -fixit.
If the code file is not run through the preproccessor to remove comments,
then FileCheck will match the strings within the CHECK commands rendering
the test useless.

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

12 years agoConvert newly-added test from -std=c++0x to -std=c++11.
Richard Smith [Thu, 13 Oct 2011 22:45:21 +0000 (22:45 +0000)]
Convert newly-added test from -std=c++0x to -std=c++11.

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

12 years agoExtend -Wno-sizeof-array-argument to strncpy and friends.
Nico Weber [Thu, 13 Oct 2011 22:30:23 +0000 (22:30 +0000)]
Extend -Wno-sizeof-array-argument to strncpy and friends.

This finds 2 bugs in chromium and 1 in hunspell, with 0 false positives.

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

12 years agoUpdate all tests other than Driver/std.cpp to use -std=c++11 rather than
Richard Smith [Thu, 13 Oct 2011 22:29:44 +0000 (22:29 +0000)]
Update all tests other than Driver/std.cpp to use -std=c++11 rather than
-std=c++0x. Patch by Ahmed Charles!

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

12 years agoImplement the first piece of a -Wc++98-compat flag so that people can build in
Jeffrey Yasskin [Thu, 13 Oct 2011 22:18:05 +0000 (22:18 +0000)]
Implement the first piece of a -Wc++98-compat flag so that people can build in
C++11 mode but keep their sources compatible with C++98.  This patch implements
the -Wc++98-compat-variadic-templates sub-flag and -Wc++98-compat to include
it.

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

12 years agoRecommit:
Eric Christopher [Thu, 13 Oct 2011 21:45:18 +0000 (21:45 +0000)]
Recommit:

    Start handling debug line and scope information better:

    Migrate most of the location setting within the larger API in CGDebugInfo and
    update a lot of callers.
    Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
    and replace it with DILexicalBlockFile usage.

    Finishes off the rest of rdar://10246360

after fixing a few bugs that were exposed in gdb testsuite testing.

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

12 years agoAdd test for new -std=c++11 and -std=gnu++11 command-line arguments.
Richard Smith [Thu, 13 Oct 2011 21:32:47 +0000 (21:32 +0000)]
Add test for new -std=c++11 and -std=gnu++11 command-line arguments.

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

12 years agoAdd triple for RHEL 5 to the libpath collecting logic.
Benjamin Kramer [Thu, 13 Oct 2011 20:45:37 +0000 (20:45 +0000)]
Add triple for RHEL 5 to the libpath collecting logic.

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

12 years agoTweak -Wuninitialized's handling of 'int x = x' to report that as the root cause...
Ted Kremenek [Thu, 13 Oct 2011 18:50:06 +0000 (18:50 +0000)]
Tweak -Wuninitialized's handling of 'int x = x' to report that as the root cause of an uninitialized variable IFF there are other uses of that uninitialized variable.  Fixes <rdar://problem/9259237>.

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

12 years agoHasFormOfMemberPointer implies IsAddressOfOperand for an overload set. Simplify
Douglas Gregor [Thu, 13 Oct 2011 18:26:27 +0000 (18:26 +0000)]
HasFormOfMemberPointer implies IsAddressOfOperand for an overload set. Simplify

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

12 years agoAllow calling an overloaded function set by taking the address of the
Douglas Gregor [Thu, 13 Oct 2011 18:10:35 +0000 (18:10 +0000)]
Allow calling an overloaded function set by taking the address of the
functions, e.g., (&f)(0). Fixes <rdar://problem/9803316>.

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

12 years agoTCE target: conversion of OpenCL reqd_work_group_size attr to metadata
Peter Collingbourne [Thu, 13 Oct 2011 16:24:41 +0000 (16:24 +0000)]
TCE target: conversion of OpenCL reqd_work_group_size attr to metadata

Patch by Pekka Jääskeläinen!

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

12 years agoAllow for annotate attributes after access specifiers. When such
Erik Verbruggen [Thu, 13 Oct 2011 09:41:32 +0000 (09:41 +0000)]
Allow for annotate attributes after access specifiers. When such
attributes are found, propagate them to subsequent declarations.

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

12 years agoFix crash-on-invalid, improve error recovery, and test coverage for missing colon...
David Blaikie [Thu, 13 Oct 2011 06:08:43 +0000 (06:08 +0000)]
Fix crash-on-invalid, improve error recovery, and test coverage for missing colon after access specifiers in C++

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

12 years agoFix MSVC build.
Rafael Espindola [Wed, 12 Oct 2011 23:56:54 +0000 (23:56 +0000)]
Fix MSVC build.

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

12 years agoWhen we determine that a function template specialization produced as
Douglas Gregor [Wed, 12 Oct 2011 20:35:48 +0000 (20:35 +0000)]
When we determine that a function template specialization produced as
part of template argument deduction is ill-formed, we mark it as
invalid and treat it as a deduction failure. If we happen to find that
specialization again, treat it as a deduction failure rather than
silently building a call to the declaration.

Fixes PR11117, a marvelous bug where deduction failed after creating
an invalid specialization, causing overload resolution to pick a
different candidate. Then we performed a similar overload resolution
later, and happily picked the invalid specialization to
call... resulting in a silent link failure.

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

12 years agoAdd test case for __has_warning.
Ted Kremenek [Wed, 12 Oct 2011 20:06:09 +0000 (20:06 +0000)]
Add test case for __has_warning.

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

12 years agoChange __extension__ to disable only diagnostics controlled by -pedantic.
Bob Wilson [Wed, 12 Oct 2011 19:55:31 +0000 (19:55 +0000)]
Change __extension__ to disable only diagnostics controlled by -pedantic.

This changes clang to match GCC's behavior for __extension__, which temporarily
disables the -pedantic flag.  Warnings that are enabled without -pedantic
are not affected.  Besides the general goodness of matching GCC's precedent,
my motivation for this is that macros in the arm_neon.h header need to use
__extension__ to avoid pedantic complaints about their use of statement
expressions, yet we still want to warn about incompatible pointer arguments
for those macros.

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

12 years agoAdd returns_twice to functions that are known to return twice. This implements
Rafael Espindola [Wed, 12 Oct 2011 19:51:18 +0000 (19:51 +0000)]
Add returns_twice to functions that are known to return twice. This implements
the same behavior of gcc by keeping the attribute out of the function type.

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

12 years agoImplement built-in macro '__has_warning', which allows one to query if a warning...
Ted Kremenek [Wed, 12 Oct 2011 19:46:30 +0000 (19:46 +0000)]
Implement built-in macro '__has_warning', which allows one to query if a warning flag is valid.  Fixes <rdar://problem/10263428>.

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

12 years agoSwitch diagnostic text from "C++0x" over to "C++11".
Douglas Gregor [Wed, 12 Oct 2011 19:26:40 +0000 (19:26 +0000)]
Switch diagnostic text from "C++0x" over to "C++11".

We'd also like for "C++11" or "c++11" to be used for the warning
groups, but without removing the old warning flags. Patches welcome;
I've run out of time to work on this today.

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

12 years agoWe do parse hexfloats in C++11; make it actually work.
Douglas Gregor [Wed, 12 Oct 2011 18:51:02 +0000 (18:51 +0000)]
We do parse hexfloats in C++11; make it actually work.

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

12 years agoRevert file/scope handling patches. gdb testing revealed a couple of bugs.
Eric Christopher [Wed, 12 Oct 2011 18:39:35 +0000 (18:39 +0000)]
Revert file/scope handling patches. gdb testing revealed a couple of bugs.

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

12 years agoThe Objective-C rewriter uses the fragile ABI, always.
Douglas Gregor [Wed, 12 Oct 2011 18:28:53 +0000 (18:28 +0000)]
The Objective-C rewriter uses the fragile ABI, always.

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

12 years agoFix typo in name of diagnostic.
Ted Kremenek [Wed, 12 Oct 2011 18:03:37 +0000 (18:03 +0000)]
Fix typo in name of diagnostic.

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

12 years agoHandle the case where preprocessor entities are not received in order,
Argyrios Kyrtzidis [Wed, 12 Oct 2011 17:36:33 +0000 (17:36 +0000)]
Handle the case where preprocessor entities are not received in order,
fixes http://llvm.org/PR11120

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

12 years agoAdd -std=c++11 and -std=gnu++11 language flags, from Ahmed Charles
Douglas Gregor [Wed, 12 Oct 2011 17:32:39 +0000 (17:32 +0000)]
Add -std=c++11 and -std=gnu++11 language flags, from Ahmed Charles

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

12 years agoIntroduce BalancedDelimiterTracker, to better track open/close
Douglas Gregor [Wed, 12 Oct 2011 16:37:45 +0000 (16:37 +0000)]
Introduce BalancedDelimiterTracker, to better track open/close
delimiter pairs and detect when we exceed the implementation limit for
nesting depth, from Aaron Ballman!

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

12 years agoTeach __has_nothrow_assign not to complain about access (GCC and EDG
Douglas Gregor [Wed, 12 Oct 2011 15:40:49 +0000 (15:40 +0000)]
Teach __has_nothrow_assign not to complain about access (GCC and EDG
ignore access entirely for it) and not to crash on assignment operator
templates. Fixes PR11110.

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

12 years agoRemoved extra line in comment.
Jim Goodnow II [Wed, 12 Oct 2011 09:55:01 +0000 (09:55 +0000)]
Removed extra line in comment.

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

12 years agoAdd target info for Linux on PPC & Sparc.
Anton Korobeynikov [Wed, 12 Oct 2011 09:30:58 +0000 (09:30 +0000)]
Add target info for Linux on PPC & Sparc.
Patch by Hal Finkel!

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

12 years agoIntroduce SourceManager::getFileLoc which returns a file location
Argyrios Kyrtzidis [Wed, 12 Oct 2011 07:07:40 +0000 (07:07 +0000)]
Introduce SourceManager::getFileLoc which returns a file location
taking into account macro arguments.

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

12 years ago[libclang] Allow using getDeclCursorUSR function with a Decl* and not a cursor.
Argyrios Kyrtzidis [Wed, 12 Oct 2011 07:07:36 +0000 (07:07 +0000)]
[libclang] Allow using getDeclCursorUSR function with a Decl* and not a cursor.

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

12 years ago[libclang] Make MakeCXTranslationUnit usable outside CIndex.cpp.
Argyrios Kyrtzidis [Wed, 12 Oct 2011 07:07:33 +0000 (07:07 +0000)]
[libclang] Make MakeCXTranslationUnit usable outside CIndex.cpp.

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

12 years agoconstexpr: don't consider class types with mutable members to be literal types.
Richard Smith [Wed, 12 Oct 2011 05:08:15 +0000 (05:08 +0000)]
constexpr: don't consider class types with mutable members to be literal types.

The standard doesn't allow this, but mutable constexpr variables break the
semantics so badly that we can't reasonably accept them.

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

12 years agoRemember to set the location in EmitGlobalVariable to the current decl
Eric Christopher [Wed, 12 Oct 2011 01:11:30 +0000 (01:11 +0000)]
Remember to set the location in EmitGlobalVariable to the current decl
if we're going to delete the setLocation as we did in 141732.

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