Rafael Espindola
44938a738a
Fix invalid jump scopes again. This time without trying to find out if an
...
incomplete type has a destructor or not.
llvm-svn: 166895
2012-10-28 02:44:03 +00:00
Rafael Espindola
c74634fe48
Add a testcase from the previous bootstrap problem.
...
llvm-svn: 166894
2012-10-28 02:25:27 +00:00
Nico Weber
729f1e2a1c
Fix crash on missing namespace name in namespace alias definition -- PR14085.
...
Patch from Brian Brooks <brooks.brian@gmail.com>!
llvm-svn: 166893
2012-10-27 23:44:27 +00:00
Fariborz Jahanian
0c58ce9346
objective-C arc/mrr: Patch for the new block variable layout meta-data.
...
It is currently off (so no tests). This is wip.
llvm-svn: 166892
2012-10-27 21:10:38 +00:00
Chris Lattner
d5705d1b1c
Currently the initial value of Tok is dependent an the stack contents
...
and could cause the Parser to crash on the first ConsumeToken().
Patcy by Bas van den Berg!
llvm-svn: 166891
2012-10-27 19:49:20 +00:00
Rafael Espindola
bd2c99b77c
Revert 166876 while I debug a bootstrap problem.
...
llvm-svn: 166878
2012-10-27 16:49:47 +00:00
Rafael Espindola
2ea126e73e
Reapply 166855 with an early exit on null QualTypes.
...
llvm-svn: 166876
2012-10-27 14:56:08 +00:00
Mahesha S
19a429e7e6
Reverted back the changes made in 166868 and in 166869
...
llvm-svn: 166871
2012-10-27 10:44:42 +00:00
Mahesha S
5d61097dd9
Feature:
...
OpenMP support.
Sub-Feature:
Support for "#pragma omp ..." registration with
Preprocessor.
Files Changed/Added:
* include/clang/Basic/DiagnosticGroups.td (C)
* include/clang/Basic/DiagnosticParseKinds.td (C)
* include/clang/Basic/TokenKinds.def (C)
* include/clang/Parse/Parser.h (C)
* lib/Parse/Parser.cpp (C)
Test Cases Changed/Added:
* test/Preprocessor/pragma_omp.c (A)
* test/Preprocessor/pragma_omp_ignored_warning.c (A)
llvm-svn: 166869
2012-10-27 09:05:45 +00:00
Mahesha S
6a682be48b
-------------------------------------------------
...
Feature:
OpenMP support in CLANG:
Sub-Feature:
Support for option -fopenmp
Files Changed/Added:
* include/clang/Driver/Options.td (C)
* include/clang/Basic/LangOptions.def (C)
* lib/Driver/Tools.cpp (C)
* lib/Frontend/CompilerInvocation.cpp (C)
Test Cases Changed/Added:
* test/Driver/clang_fopenmp_opt.c (A)
-------------------------------------------------
llvm-svn: 166868
2012-10-27 07:47:56 +00:00
Mahesha S
34a26623a6
Removed an extra blank line.
...
llvm-svn: 166867
2012-10-27 07:23:58 +00:00
Rafael Espindola
bb5d47ef15
Add a reduced testcase of the last bootstrap failure.
...
llvm-svn: 166866
2012-10-27 04:54:49 +00:00
Rafael Espindola
8c0739d332
Revert r166855. I can reproduce the bootstrap failure and have a testcase
...
to reduce.
llvm-svn: 166863
2012-10-27 03:06:02 +00:00
Argyrios Kyrtzidis
668bf82658
Add a test case for the stack overflow in rdar://12542261
...
llvm-svn: 166858
2012-10-27 02:13:28 +00:00
Rafael Espindola
c5f9943a60
Fix cases where we were not producing an error when a computed goto could
...
jump over destructor calls.
Fixes pr13812.
llvm-svn: 166855
2012-10-27 01:17:42 +00:00
Rafael Espindola
9c006de3d3
Move two helper functions to AST so that sema can use them.
...
llvm-svn: 166853
2012-10-27 01:03:43 +00:00
Rafael Espindola
b9d75ca84b
Refactor some code into a new findMaterializedTemporary function.
...
llvm-svn: 166849
2012-10-27 00:43:14 +00:00
Rafael Espindola
b413676cd7
Refactor some code into a new skipRValueSubobjectAdjustments function.
...
llvm-svn: 166848
2012-10-27 00:40:06 +00:00
Rafael Espindola
e7b11f5241
Delay codegen to after collecting all SubobjectAdjustment so that the collection
...
can be refactored and used in Sema.
llvm-svn: 166847
2012-10-27 00:36:38 +00:00
Eli Friedman
ef5df7b8eb
Fix typo.
...
llvm-svn: 166833
2012-10-26 23:25:42 +00:00
Eli Friedman
fc5b2effcf
Add missing safety check to an optimization for do-while loops. PR14191.
...
llvm-svn: 166832
2012-10-26 23:23:35 +00:00
Eli Friedman
a7137bc1c2
Fix indentation.
...
llvm-svn: 166830
2012-10-26 23:05:34 +00:00
Argyrios Kyrtzidis
c38395a0f7
In Parser::ParseDecltypeSpecifier, make sure the end location it returns
...
is at the end of parsed tokens when an error occurs, otherwise we'll hit
an assertion when trying to annotate the decltype tokens.
llvm-svn: 166826
2012-10-26 22:53:44 +00:00
Eli Friedman
0e84602d5c
Don't crash synthesizing an ObjC property with an empty struct type. <rdar://problem/12547611>.
...
llvm-svn: 166825
2012-10-26 22:38:05 +00:00
Douglas Gregor
1423a5cfd7
When an externally-supplied record layout has a size that clearly
...
doesn't include padding up to the alignment of the record, take this
as a cue that the alignment of the record should (conservatively) be
set to 1. This is similar to other the other cues we use to determine
that the record has a lower alignment, e.g., that the
externally-supplied layout places fields at lower offsets than we
would. Fixes <rdar://problem/12582052>; test case in LLDB.
llvm-svn: 166824
2012-10-26 22:31:14 +00:00
Fariborz Jahanian
9dd2e0872e
Add comment for my patch in r166809.
...
llvm-svn: 166823
2012-10-26 22:20:25 +00:00
Bill Schmidt
528d2f12b7
This patch is a follow-up to r166805. As suggested on-list, a check was
...
added to ensure no extra alignment code is added in the future.
llvm-svn: 166812
2012-10-26 20:34:52 +00:00
Fariborz Jahanian
5f8d32425d
Remove BLOCK_BYREF_LAYOUT_BYREF flags from list of
...
flags for __block variable meta-data.
llvm-svn: 166811
2012-10-26 20:33:59 +00:00
Fariborz Jahanian
2d26c29e0c
objective-C IRGen: for @implementation nested in
...
extern "C", its method definitions must be IRGen'ed
before meta-data for class is generated. Otherwise,
IRGen crashes (to say the least).
// rdar://12581683
llvm-svn: 166809
2012-10-26 20:22:11 +00:00
Argyrios Kyrtzidis
c2c77c42ef
[driver] Before applying the working directory check if the input path
...
is absolute.
llvm-svn: 166808
2012-10-26 20:09:24 +00:00
Bill Schmidt
4a2dcfe5ee
This patch addresses a 64-bit PowerPC ELF ABI compatibility issue with
...
varargs parameter passing.
A strict reading of the ABI indicates that any argument with alignment greater
than 8 may require skipping doublewords in the parameter save area to align
the argument, and hence require skipping GPRs. In practice, this is not done
by GCC. The alignment restriction is used for internal alignment of a
structure, but a structure with 16-byte alignment, for example, is not
itself 16-byte aligned in the parameter save area. Although this is messy,
it has become the de facto standard used in building existing libraries.
My initial varargs support followed the ABI language, but not the de facto
standard. Running the GCC compatibility test suite exposed this issue, and
indeed showed that LLVM didn't pass parameters self-consistently with my
original logic. Removing the additional alignment logic allows the affected
tests to now pass.
I modified the ppc64-varargs-struct.c test case to remove the existing test
for generation of alignment code, which is no longer appropriate.
Built and tested on powerpc64-unknown-linux-gnu with no new regressions.
llvm-svn: 166805
2012-10-26 19:59:03 +00:00
Argyrios Kyrtzidis
7ec3c09412
[options] Fix mishandling of aliased options that was introduced in r166444.
...
llvm-svn: 166801
2012-10-26 19:36:33 +00:00
Daniel Dunbar
197157613c
tests: Tweak unprintable.c to try another character which is hopefully even more
...
unprintable.
llvm-svn: 166798
2012-10-26 19:15:56 +00:00
Chad Rosier
0130f82ccc
[ms-inline asm] Add test case for r166792.
...
llvm-svn: 166793
2012-10-26 18:33:59 +00:00
Chad Rosier
0473d5429c
[ms-inline asm] Test case for r166790.
...
llvm-svn: 166791
2012-10-26 18:04:45 +00:00
Douglas Gregor
ceb32bf285
Match up anonymous structs/unions in the ASTImporter. Previously, we'd
...
only actually get the answer right if there was only a single
anonymous struct/union at that level. This is part of
<rdar://problem/11904570>; the test will go into LLDB itself.
llvm-svn: 166781
2012-10-26 16:45:11 +00:00
Ted Kremenek
808102685b
Add comments for RemoveRedundantMsgs, rename it to removeRedundantMsgs() per Jordan's feedback.
...
llvm-svn: 166778
2012-10-26 16:02:36 +00:00
Douglas Gregor
3c7380bfba
Eliminate some longstanding FIXMEs regarding variadic templates in the
...
ASTImporter.
llvm-svn: 166777
2012-10-26 15:36:15 +00:00
Douglas Gregor
069bbaf741
In the ASTImporter, don't try to emit a diagnostic if we're not
...
allowed to complain about a failure.
llvm-svn: 166776
2012-10-26 15:34:11 +00:00
Daniel Jasper
89cf9370bf
Remove clang-fixit from tools page as it is currently not planned as a
...
separate tool.
Review: http://llvm-reviews.chandlerc.com/D81
llvm-svn: 166766
2012-10-26 10:25:13 +00:00
David Tweed
89206b6214
These tests require an actual x86 registered target, so mark them as such. Tested on ARM.
...
Patch by Joey Gouly.
llvm-svn: 166765
2012-10-26 10:17:44 +00:00
Bill Wendling
208f61913d
Fix grammar-o.
...
llvm-svn: 166759
2012-10-26 07:02:46 +00:00
Alexey Samsonov
8bece2e957
Fix test suppressed in r166683 on 32-bit Linux
...
llvm-svn: 166758
2012-10-26 07:01:51 +00:00
Fariborz Jahanian
77599ce809
Declare type of flags to be used in a __block (byref)
...
variable descriptor captured by a block.
llvm-svn: 166746
2012-10-26 01:13:38 +00:00
Quentin Colombet
5ee5ca1dbc
Oz optimization level sets ForceSizeOpt attribute for each function
...
llvm-svn: 166744
2012-10-26 00:29:48 +00:00
Manman Ren
5750c1c07e
X86 SSE Intrinsics: update header for sqrt_ss, rsqrt_ss and rcp_ss.
...
There intrinsics pass through the upper FP values from the input.
rdar://12558838
llvm-svn: 166743
2012-10-26 00:25:10 +00:00
Bill Wendling
9d1ee1175d
Recommit Eric's code to validate ASM string's constraints and modifiers.
...
This code checks the ASM string to see if the output size is able to fit within
the variable specified as the output. For instance, scalar-to-vector conversions
may not really work. It's on by default, but can be turned off with a flag if
you think you know what you're doing.
This is placed under a flag ('-Wasm-operand-widths') and flag group ('-Wasm').
<rdar://problem/12284092>
llvm-svn: 166737
2012-10-25 23:28:48 +00:00
Richard Smith
3750e7776b
Fix the other occurrence of the problem fixed by r166731.
...
llvm-svn: 166735
2012-10-25 23:05:00 +00:00
Fariborz Jahanian
a3926ec195
Changing name of enum for block literal flags to represent
...
what it is meant for.
llvm-svn: 166734
2012-10-25 22:55:52 +00:00
Richard Smith
9421156acc
LLVM's hashing routines produce a size_t, and thus generate different values for 32- and 64-bit host compilers. This really needs to be fixed -- the IR generated should not depend on the host -- but this change will get the bots green again. Proper fix to follow.
...
llvm-svn: 166731
2012-10-25 22:27:30 +00:00