Created
July 10, 2012 05:19
-
-
Save drewis/3081262 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
project abi/cpp/ | |
eb789ea Fix for issue 28721. | |
project bionic/ | |
ec2ab73 Minor tweak to get memory around corrupted heap chunks dumped. | |
b7630f0 Use new debuggerd protocol. | |
e1dd3c2 bionic: import heaptracker as chk_malloc | |
7d2e24e bionic: introduce libc.debug.malloc.program | |
2481468 Print the corrupted address passed to free(). | |
c84ff11 Print the corrupted address passed to free(). | |
b23f193 Ensure that the port number and TXID are properly randomized. | |
08e72d0 bionic: add support for non-NEON memcpy() on NEON SoCs | |
08b51e2 Implement the "abort" stub in assembly for ARM. | |
b091dd9 libc: continue to use Android's custom linker script | |
ed87404 Update f_accessory.h kernel header | |
94179a5 linker: remove STB_LOCAL hack | |
baeacba add linux/sw_sync.h | |
6b99103 add linux/sync.h | |
4a9d6e5 Fix segv when unwinding stack past __libc_init. | |
d515ce4 Bionic: Fix wrong prototype of system call clock_nanosleep | |
41070dd bionic: Fix wrong prototype of system call getresuid/getresgid | |
e5bf068 bionic: fix NULL parameter failure in getcwd() | |
ee18fb4 libstdc++: Fix x86 thread-safe one-time-construction implementation. | |
f0ec06b Add faccessat to syscall list | |
e54cc75 Update unistd.h for new syscalls | |
0613dce regenerate linux/fb.h | |
1a78fbb Initialize TLS before any application code is run. | |
470835b Move end of __on_dlclose up | |
03273f8 __on_dlclose should be aligned | |
ad7ff82 Revert "linker: remove STB_LOCAL hack" | |
7f03d23 Revert "linker: remove STB_LOCAL hack" | |
cd15bac Fix segv when unwinding stack past __libc_init. | |
bd0383a libm: fix invalid result of function remquo/remquof | |
61ff834 linker: remove STB_LOCAL hack | |
0fdc190 Update linux/input.h to version 3.4. | |
07a387e libc/kernel: update cleaned v4l2 header | |
17ed54d libc/kernel-headers: Auto generated files for netfilter/xt_IDLETIMER | |
8c4f3ce linker: surround "debug_verbosity" by "#if LINKER_DEBUG" | |
3a7ea52 linker: enable -fvisibility=hidden | |
8f78ddb Update to tzdata2012c. | |
ddb2f13 Revert "libc/kernel: Add rules to autogenerate device specific kernel headers" | |
82fa43f [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture. | |
faca92f Handle pthread-related changes (mutex/atfork) | |
2ab5bfd Add auto-generated headers for USB FunctionFS | |
126601d Fixed to #include correct 32-bit headers; Refreshed libc/kernel headers | |
cb08204 libc/x86: ensure the stack 16-byte aligned when tasks created | |
eaae810 Initialize mspace->least_addr properly in the mmap path. | |
b8e1e96 bionic: pass MADV_MERGEABLE on private & anonymous mmaps | |
2f33c5a Update the libc kernel includes to support the newer mman for KSM support | |
d1860ad fnmatch.c: Update to version in OpenBSD HEAD | |
a677907 string.h: add __attribute__ ((pure)) to string functions | |
884147c libc/kernel: Add rules to autogenerate device specific kernel headers | |
21eab51 New additions/bug fixes required/found when porting perf. | |
d73b5ca linker: fix off-by-one error in GNU_RELRO handling | |
34e89c2 bionic: fix atfork hanlder_mutex deadlock | |
6625986 linker: initially reserved memory as PROT_NONE | |
ad812ef Add in auto-generated if_alg.h header | |
1a82369 Update kernel headers and add syscall "perf_event_open" | |
06823da Revert "am be741d47: am 2f460fbe: am 73b5cad9: Merge "bionic: Fix wrong kernel_id in pthread descriptor after fork()"" | |
d8bc6e7 bionic: Fix wrong kernel_id in pthread descriptor after fork() | |
c59ba45 Use new binary code format | |
ca9a071 Re-throw signals | |
654325d Update bionic kernel headers using update_all.py | |
4b29af0 Revert "Update bionic kernel headers using update_all.py" | |
06e1831 Prevent potential stall on dns proxy operations. | |
3df3e67 Log the thread id and name for fatal signals. | |
94a85f6 Update bionic kernel headers using update_all.py | |
9ec0f03 Add relro support | |
fa3f72e Revert "Reference __dso_handle in PIC way" | |
be101bf Revert "Reference __dso_handle in PIC way" | |
93cb308 Reference __dso_handle in PIC way | |
dd8e404 Upgrade to tzdata2012b. | |
69ea1c0 Upgrade to tzdata2011a. | |
53d161a update stddef.h | |
9921947 Eliminate duplicate constants | |
67e7a93 Eliminate duplicate constants | |
ec37237 update stddef.h | |
1fa7b45 libm: cherry-pick one patch from freebsd to fix logb() denormals issue | |
93b8f94 Revert "Use the new NativeDaemonConnector style." | |
906dbea libc: Add __aeabi_llsl and __aeabi_llsr to libgcc_compat | |
1fb6662 Revert "Use the new NativeDaemonConnector style." | |
c5393b2 bionic/x86: fix one potential deadlock in __set_tls() | |
f1a17e7 libc: Add __aeabi_llsl and __aeabi_llsr to libgcc_compat | |
58b2c16 Trivial fix in comment | |
e19d702 Redesign dlopen() locks to be recursive per thread. | |
058d6d8 Update bionic to know users and isolated uids for uid string representation. | |
b69060f Clean up the remnants of SuperH support | |
f39a3fe Allow C++ to call fdprintf | |
1625c7a Use the new NativeDaemonConnector style. | |
177a770 linker: fix x86 build | |
5fbf2e0 libc: Define new symbol visibility macros | |
70b1668 remove obsolete SuperH support | |
f5d1693 Fix recursive ELF constructor check | |
e1414aa libc: remove global lock from recursive mutex implementation. | |
1fc5176 Log debuggerd connection failures | |
52764f5 Increase the size of the system-wide dns cache | |
738b175 Make sure __u64 is defined even for strict ansi or -std=c99 | |
b57db75 libc: Fix recursive mutex lock implementation. | |
bb44055 Move variable declaration on its own line | |
861b42a Use the AT_SECURE auxv flag to determine whether to enable secure mode. | |
3452e30 Add new suspend-block input ioctls. | |
5eb686d Add extended attribute (xattr) system call wrappers to bionic. | |
ea29cd5 Eliminate duplicate copies of constants. | |
d6045cb Don't generate sys/linux-unistd.h | |
b6f40f0 update personality.h | |
87043f9 res_send: Avoid spurious close()s and (rare) failure | |
28a7c35 execvp: bcopy() is deprecated. Use memcpy() instead | |
c61f990 Fix misspelled Python variable name and typos | |
208898e libc: remove private declarations from <time.h> and <resolv.h> | |
11f3d5a libc: Copy private C library declarations to private/ | |
e83c56d Execute .preinit_array before any shared object initialization functions. | |
e30e909 sreadahead: adding readahead system call into bionic libc | |
a37f372 readdir: fix interface to kernel getdents64 function | |
85aad90 Add the posix_memalign(3) function to bionic | |
a5cb76b libc: x86: Use SSE2 or SSSE3 optimized routines when possible. | |
7c0c379 implement pthread mutex deadlock detection | |
af96d4d x86: libc may use the gcc flags from TARGET_linux-x86.mk | |
022d303 libc: optimize pthread mutex lock/unlock operations (1/2) | |
6c6de44 libc: optimize pthread_once() implementation. | |
7d03c9c pathconf: dead loop in bionic function __2_symlinks | |
177ba8c Prevent deadlock when using fork | |
e4a21c8 signal: Align the sigset_t size passed to from user space to kernel. | |
cb1df91 string: Fix wrong comparison semantics | |
253b763 get rid of unused "main" function. | |
89d3fdc MALLOC_DEBUG: enable the option libc.debug.malloc = 10 | |
e480fc8 bionic: fix pthread_{create, exit}/signal race condition | |
31e72bc bionic: fix __get_tls( ) crash issue | |
897815a bionic: add machine type check | |
495f16c update capabilities.h | |
f1a39dc libc: Fix typo that broke NDK compatibility. | |
ca6fe7b Request both v4 and v6 dns when on secondary net | |
10c8ce5 Add tgkill syscall. | |
5f64df4 ASLR: enable pthread stack location randomization | |
0fec6b9 libc: provide atomic operations will full barriers for NDK apps. | |
e31bfae bionic: Do not use <sys/atomics.h> for platform code. | |
8180b08 linker: Fix the computation of si->base | |
9831ad3 libc: speed-up flockfile()/funlockfile() | |
9bf330b libc: fix the pthread_sigmask implementation | |
468319c Make the linker relocatable. | |
0aa8289 generate PIC code. | |
7939908 linker: set LOCAL_NO_CRT := true | |
8e8a7b1 Revert "Make the linker relocatable." | |
994e9a5 Make the linker relocatable. | |
f3dbdbe Update to tzdata2011n. | |
bcb2eda Update to tzdata2011m. | |
d9ad623 Add linker support for PIE | |
project bootable/bootloader/legacy/ | |
b1fde5c Moves us from e=3 to e=65537 | |
project bootable/diskinstaller/ | |
d2a0ffa vbox_x86 builds: force-set the vdi UUIDs | |
6d3fad1 vbox_x86: use cache.img | |
e05d6d1 vbox_x86: have separate system and data disks | |
f4190db editdisklbl: remove stale include-file reference | |
bbed54b Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
6c9c90f Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
da8aa5f Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
project bootable/recovery/ | |
69f4b67 fix timed progress bars in recovery | |
e5d5ac7 minor recovery changes | |
038818c Update merge for SELinux to compile | |
6e960cd Add NOTICE file | |
516e4e2 Change the format command to always take the mount point as an argument. | |
779701d Extend recovery and updater to support setting file security contexts. | |
acd73ed fail edify script if set_perm() or symlink() fails | |
4870479 run minadbd as shell user, remove unused code | |
098d1f6 remove unused code from minadbd | |
703ed15 run minadbd as shell user | |
35a35a6 remove retouching code from updater | |
b07b293 fix build | |
1c43c97 fix failure to free memory | |
74a6279 libz is a superset of libunz, so we don't need both. | |
1a11449 Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used. | |
48b5b07 allow recovery UI to ignore certain keypresses | |
336a994 allow recovery UI to ignore certain keypresses | |
e83b7cf support "sideload over ADB" mode | |
6639248 always initialize usb product, vendor, etc. for adb in recovery | |
9270a20 support "sideload over ADB" mode | |
0a7b45a recovery: convert all usages of $prop to ${prop} | |
e6ef63f Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
210f887 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
adb5c2f Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
d9428e3 mount cache before sideloading from external storage | |
32a0a47 move key processing to RecoveryUI | |
d538eb7 fix verifier test | |
a4e88e4 move key processing to RecoveryUI | |
daefc1d C++ class for device-specific code | |
bd8e7fb verifier_test needs to provide a UI object | |
b88aea8 temporarily remove verifier_test binary | |
211aebc refactor ui functions into a class | |
7d0542f C++ class for device-specific code | |
28ce47c turn recovery into a C++ binary | |
7440630 refactor ui functions into a class | |
10e418d turn recovery into a C++ binary | |
project build/ | |
39865ff JRO03C | |
7f8c15f JRO03B | |
b435a8c 4.1.1 | |
95497ec JRO02D | |
b04e932 JRO02C | |
4a3e68d JRO02B | |
2513bf5 JRO02 | |
792ba3b JRN90 | |
e0e910e JRN89B | |
f973ced docs: better message for download page when os detection fails | |
bbd80f6 JRN89 | |
28fe266 JRN88 | |
810e288 docs: fix overlapping sidebar bug, but I think this re-introduces a bug in IE where the sidenav position moves slightly left/right during scroll, but it's a worthwhile compromise and will investigate a diff solution for that later. | |
03c972c docs: misc css | |
3ae5998 JRN87 | |
af1a370 JRN84D | |
58cdcd1 JRN84C | |
4b06007 JRN84B | |
795683d JRN86 | |
16cd5c0 JRN84 | |
9ada226 docs: darker font color | |
6a7a66b docs: try darker text and shorter line height | |
d786a29 docs: adjust homepage carousel styles | |
8a6fb02 JRN83D | |
67cff69 JRN83C | |
25659b0 docs: update sdk template to support new ndk doc layout | |
db7d1d3 JRN83B | |
412eaf2 docs: style changes for notes | |
f9b799b cherrypick from ics Change-Id: I07b59de3f2e4a5fef2e8722d7f7ab159ded8b2df return old analytics script | |
ba18963 JRN83 | |
e4d8f1b Massive clobber of all template files in developer site for new design | |
fd6d004 JRN82C | |
2afa4c5 JRN82B | |
486d6e8 JRN82 | |
30ac57a JRN81C | |
ff64a92 JRN81B | |
5f42586 JRN81 | |
f4d15cf JRN80C | |
fde5719 JRN80B | |
03bb085 Remove references to packages that don't exist any more. | |
ae25ec1 More flexibility to keep/remove R.class in static Java library | |
cab8934 JRN80 | |
2f78c04 JRN79C | |
5bd0baa JRN79B | |
7be7b42 JRN79 | |
5b0b2a4 JRN78B | |
87888c7 JRN78 | |
e770754 add uiautomator into system image | |
583216a JRN77 | |
43ca4a4 Remove the user tag and legacy prebuilts for the srec modules. | |
175026a JRN75E | |
fe79d01 JRN75D | |
ccfa22e JRN75C | |
43843b6 JRN75B | |
74aba61 Allow additional vendors | |
91f3d74 JRN75 | |
291b58d JRN74C | |
0445111 JRN74B | |
d3acbf2 JRN74 | |
11ee14d JRN73 | |
9657c61 JRN72D | |
3b123c0 JRN72C | |
2715ac8 JRN72B | |
fc57a28 JRN72 | |
18cb32b JRN69D | |
a9efae3 Add atrace to core.mk | |
13a099d JRN69C | |
7765a8a JRN69B | |
a63502c JRN69 | |
1f61e09 JRN68B | |
efe02ce add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK | |
adca40c JRN68 | |
04e7264 JRN67D | |
099f4ae JRN67C | |
fd9f8bc add mini.mk for common configurations for mini products | |
84f4b69 JRN67B | |
989d99a JRN67 | |
0296c83 JRN66C | |
9715049 Add LegacyCamera to SDK product | |
c5c3c70 JRN66B | |
90beb4f Add some known binary owners | |
66b114d JRN66 | |
71004f8 Clean common intermediate files if overlay changed | |
2c6cb07 JRN65B | |
a1fe1ab JRN65 | |
81ae93a JRN64 | |
28a1817 Don't use .. to reference the target file. | |
e7af5e2 Add Live Wallpapers to AOSP builds | |
1fb843b JRN61B | |
689f117 Fix rild running in Nakasi. | |
1544817 JRN61 | |
e581d86 change location of apns-conf.xml and vold.conf | |
c41c5f4 add add-to-product-copy-files-if-exists for pdk | |
23398c8 JRN60B | |
01efddb Make make make faster. | |
1347ee6 JRN60 | |
70efb21 JRN59D | |
0dcdc13 JRN59C | |
3e93aea add platform.zip from platform-java to dist | |
d9a65fd JRN59B | |
82eb708 Fix typo. | |
2e05f1d JRN59 | |
f26c49d JRN54F | |
117bfe3 JRN54E | |
d8de82f ignore touch error happening from broken symbolic link | |
98d83b5 JRN54D | |
fc3b84a JRN54C | |
567b3e4 JRN54B | |
816b9fd enable PDK to use platform JAVA API | |
ea1d824 JRN54 | |
8e3b307 JRN53E | |
7eb5051 JRN53D | |
8ad9c19 JRN53C | |
1bdbe64 JRN53B | |
3fbe1e2 JRN53 | |
9ccacd7 Set PWD to the absolute path of the top tree. | |
cbd9e14 JRN52B | |
4689e01 JRN52 | |
f39a761 JRN51C | |
166a113 JRN51B | |
1a59d4c JRN51 | |
3838dba JRN50 | |
9690bf6 JRN47E | |
e8a9636 JRN49 | |
a744652 JRN47E | |
f7eace6 JRN47D | |
06fc824 JRN48 | |
783908c JRN47C | |
159b9d4 JRN47B | |
81b2eb3 JRN47 | |
167cbb0 force version reset | |
6631b29 JRN47 | |
8246871 JRN46D | |
4ab2f9c JRN46C | |
838ebb2 JRN46B | |
ad13a75 JRN46 | |
4007faf Remove dependency of libvideoeditor_jni.so on static libs from video editor engine | |
129c58f JRN45B | |
c8bfb1c Revert "Remove dependency of libvideoeditor_jni.so on static libs from video editor engine" Fixed the broken build first. | |
6e371e4 Don't set or reference LOCAL_MODULE_PATH for uninstallable modules. | |
95d04d0 JRN45 | |
e85f05b Remove dependency of libvideoeditor_jni.so on static libs from video editor engine | |
267de65 JRN44C | |
5b2c7ae JRN44B | |
3ceecfa Check the well-formedness of an xml file before copying. | |
fe61a0b JRN44 | |
917fc02 JRN40I | |
b705c02 JRN40H take three | |
32f2436 JRN40H take two | |
99956ed JRN40H | |
3dbf4c9 JRN40G | |
e2bcb9e JRN40F | |
17f197f JRN41 | |
7bb0423 add copy of public cert used for signing to OTA packages | |
3742983 JellyBean is now 4.1. | |
a6862ca JRN40E | |
a1ff629 Now current is also a valid prebuilt SDK. | |
0ec188f Support to build against prebuilt current SDK in unbundled branch | |
9e8f70a JRN40D | |
b9c3d8a JRN40C | |
668a29b JRN40B | |
9eb5173 JRN40 | |
780c36e JRN39D | |
b8bc852 Add OMX IL FLAC encoder library | |
20e6e85 JRN39C | |
ecb1a56 x86: compile everything with relro / bind_now | |
125f01f JRN39B | |
4f48867 JRN39 | |
7e48e40 Add LLVM_AS to tools. | |
675b0eb JRN38B | |
c5fc790 Parse external/cibu-fonts/fonts.mk. | |
d9a9bde JRN38 | |
b2d9268 Add keyboard layout package to build. | |
9264e4a The 'localize' tool is dead. | |
d3763c4 Make audio downmixer part of the core platform | |
222237b JRN37B | |
667aa33 JRN37 | |
4348eb5 JRN36B | |
3d86eb1 JRN36 | |
7a54af9 JRN34B | |
e396df8 Fix the build. Exchange -> Exchange2 | |
876ce3a JRN34 | |
89898df Track libnativehelper move for PDK. | |
f822f5e JRN33F | |
b985e69 JRN33E | |
fffe1d5 use the file uid/gid/mode saved in the target_files | |
12b152b JRN33D | |
8867a14 JRN33C | |
b0a58da JRN33B | |
48469a6 JRN33 | |
218fe74 JRN32D | |
2afad40 JRN32C | |
5ff168f JRN32B | |
39bf18f JRN32 | |
af9bd9c JRN31B | |
8600994 JRN31 | |
9a6c8c2 JRN30C | |
000e89a Strengthen dependencies on LOCAL_REQUIRED_MODULES | |
6d558a5 JRN30B | |
dfb1b67 JRN30 | |
8b033d4 26D take two | |
412d8d2 JRN26D | |
0987f03 Add Development/scripts to path. | |
86f90ef JRN26C | |
f8dc89b Use split-long-arguments to touch pdk platform.zip files | |
b8d2d71 JRN26B | |
83dbd2f Option to keep the generated R class in static Java libarry | |
233d460 ARM: compile everything with relro / bind_now. | |
8ea01b7 JRN26 | |
a69e619 Build libstagefright_soft_mpeg4enc.so by default | |
9a9400b JRN25B | |
4c24d41 JRN25 | |
64f642d Fix pdk build. | |
3ec1f68 JRN24B | |
d517795 Build libstagefright_soft_h264enc by default | |
2bea2e6 Set timestamps of files from platform.zip to current time | |
58228e2 JRN24 | |
68f1c77 Make export_includes depend on the module's definition makefile. | |
e1a42cc Whitelist audience | |
7151e9d JRN23B | |
7b0946d JRN23 | |
4e82d1f On linux, always use the prebuilt host toolchain | |
ebb351e enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build | |
b9566c0 Revert "enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK" | |
a50ef1c Switch to new locations of toolchains | |
4e960a3 JRN19F | |
74bc051 Move pdk fusion platform.zip file under vendor/pdk | |
f66f347 Split target/product/sdk.mk into sdk.git | |
b132a54 JRN19E | |
6b719da docs: update sidenav-width-adjust script so Training classes save the width for the Resources section | |
9283168 enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK | |
c856e31 Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields. | |
422a365 Fix build problems with gcc-4.6.x. | |
ecd054c Add goldfish audio hw to board/generic_x86 | |
6e417bc JRN19D | |
76b0139 docs: update doc template to make the Resources side nav wider (+40px) | |
5ededc0 JRN19C | |
48ccb18 JRN19B | |
5d4bcb4 Use an https URL | |
aad195e vbox_x86: add a 256M ext4 cache partition | |
c312f31 build: separate dist tools and ota tools | |
4049130 build: remove unused ota tools | |
7826101 enable recovery img build for PDK | |
7c6f117 JRN19 | |
21adee0 Move pdk fusion platform.zip file under vendor/pdk | |
616e596 Write out export_includes whenever the module is built. | |
0c50c08 JRN18C | |
c32af65 Revert "Write out export_includes whenever the module is built." | |
40c34f3 Write out export_includes whenever the module is built. | |
685df30 JRN18B | |
0703b96 JRN18 | |
08f5e9a Add back ARM_EABI_TOOLCHAIN. | |
49e213e JRN17B | |
b2d24a5 JRN17 | |
1e420b6 Add smoke tests to sdk build. | |
1cb4fa6 JRN16C | |
600bd23 JRN16B | |
dc790b0 Default ro.carrier to unknown | |
4f613f8 JRN16 | |
55f3f85 Fix problem with audio policy configuration file. | |
a6b2505 JRN12D | |
1c9ee24 JRN12C | |
dbff3f5 Whitelist widevine | |
6577da0 JRN12B | |
6c70362 Allow packages to place manifest files in any directory | |
843bc2c Add MDNS to the build. | |
dc8f8e4 Merge event-log-tags from platform.zip with local *.logtags | |
2dbae81 JRN12 | |
477e189 JRN11B | |
a0d8a6a core.mk: Add rule for init.usb.rc | |
40937f0 JRN11 | |
d0c6327 Fix audio broken for sdk builds. | |
7a2664d JRN10C | |
303d876 Revert "ARM: compile everything with relro / bind_now." | |
b3789be Revert "ARM: compile everything with relro / bind_now." | |
b3700ab Merge "SDK: Also read sdk/build/tools.OS.atree" | |
50e91ab JRN10B | |
7d0ede7 Update gdbclient for x86 target | |
4534d81 Merge the NOTICE files when doing pdk fusion build. | |
64cd96c Bump DX Java heap to 2GB. | |
2aa9536 JRN10 | |
f50f4c5 More Clang tweaks to the build system. | |
df2056e fix broken OTAs; format() is called with wrong # of args | |
c4625ab Fix deps for notice generation. | |
020e491 ARM: compile everything with relro / bind_now. | |
f5fe0d4 JRN09 | |
1bf173c JRN05E | |
b9c8be9 JRN05D | |
090b8d7 JRN05C | |
56882bf Support the setting of file security contexts in OTA and update packages. | |
5042392 Pass the file_contexts configuration to mkyaffs2image and make_ext4fs. | |
277e68b init.vbox_x86.rc: mount data & cache partitions from /dev/sdb | |
df49771 Allow factory specific kernel commandline | |
11d3c44 Add new camera system include path to pathmap. | |
7ade79a JRN05B take two | |
2ec9320 JRN05B | |
a2209e2 JRN05 | |
48dfc6f JRN04C | |
8cf1c22 JRN04B | |
ce7d34c vbox_x86: update init.vbox_x86.rc, remove custom init.rc | |
7d3c9c9 JRN04 | |
b520df4 target/product: have the sdk product pull in the apns | |
cc6766f added audio_policy.conf file | |
edd5f70 JRN03C | |
fde6632 JRN03B | |
1048bd3 docs: revert the change that made "new" tags stick on the first line and thus allow them to wrap. | |
8245810 Revert "Update versions of the Eclipse prebuilt libraries" | |
6cc9c06 Add support for building with AddressSanitizer. | |
a7095e9 Include Clang headers from ".../include" directory. | |
ed26485 JRN03 | |
3f45b3c Support to run DroidDoc in unbundled builds. | |
30960a2 JRN02D | |
2109487 Changes to C++ protocol buffer compilation. | |
5a101e7 JRN02 | |
9ad36ef Remove base_intermediates from LOCAL_C_INCLUDES | |
82b836f Support to build pdk and pdk fusion. | |
fb7d523 JRM89D | |
4c289e5 Generate platfrom.zip for build goal "platform". | |
f5a97d7 Moving notice file generation to a python script (it was getting fairly complicated in bash), update HTML output to have a table of contents, and fix typos/bugs in notice file CSS | |
06e758a config: add documentation for managing kernel-headers | |
8e4042c Revert "core: the device/board/product kernel headers will be auto-generated" | |
10a1e47 JRM89C | |
f5172c7 Switch default gcc toolchain from 4.4.3 to 4.6. | |
a996e0b JRM89B | |
971c246 Remove some dist targets from PDK builds | |
5eed15e docs: Android Design: v3 update (CSS changes) | |
51cf729 Include new raw audio decoder. | |
405acb8 JRM89 | |
3a7ede2 install drm libraries and drmserver to the core product, which covers sdk build | |
0f22e8c JRM88B | |
b877542 don't build apicheck for PDK builds, removing dependency on doclava | |
0b7d3d6 Moving libRS | |
bbd4998 Add samsung_arm as an owner | |
b4e05b6 JRM88 | |
8f4c311 telephony: remove default apns_conf.xml | |
3d0743f JRM87B | |
4c45699 Allow make 3.82 to be used under Cygwin 1.7 | |
fe97fe9 Multi-Project Commit: Move of filterfw out of system/media (3 of 7) | |
f396f56 Fix build | |
10e0b15 JRM87 | |
d905491 mv wilhelm | |
97e023c move hardware feature definitions | |
33666ad docs: re-add android design icon, which had been removed from original location | |
4fb621d JRM86B | |
9bf081e Add hardware API libs and SSL engines to gdb path | |
546e26f JRM86 | |
55daae9 Skip host system directories in Clang include path. | |
e7b0dbb audio configuration file path change because it is relocated | |
c49ee71 Added /frameworks/av/include to the default include search path | |
7a59605 Introduce TARGET_BUILD_PDK for selecting build tweaks for the PDK | |
ee6bddc move ndk headers to frameworks/native | |
8f8f0d4 Add build.prop to factory ramdisk | |
a3f122a Fix build: Revert "SDK: Enable monitor in sdk product." | |
62304f1 Make sure compiler flags also pick up correct toolchain. | |
f0813c2 Fix missing xml configuration files for sdk builds | |
0bf8073 build: move Zip* from libandroidfw to libutils | |
aef279d JRM81C | |
dfbe79b Don't expose the compiler dependency. | |
2245d17 Point to new linux prebuilt toolchain for SDK build | |
b71e2df Add LOCAL_CLANG variable to switch C/C++ build environment to Clang. | |
74160ed SDK atree: support HOST_OUT location. | |
0022a03 SDK: Enable monitor in sdk product. | |
da11f87 JRM81B | |
d14d3b4 Add a comment about publishing licenses for third-party code | |
8f3670b fix build: make check_radio_versions.py okay with no args | |
9296f09 optional cross-check between OTA radio images and board-info.txt | |
d27e4f8 JRM81 | |
347e812 JRM79C | |
7022c52 JRM79C | |
e28ec41 JRM79B | |
94c8504 Update versions of the Eclipse prebuilt libraries | |
962b13d JRM80 | |
1319005 Define a basic llvm-link + clang environment | |
e25a519 Added media_codecs.xml file to generic_x86 and vbox_x86 configuration files | |
992a529 core: the device/board/product kernel headers will be auto-generated | |
f926990 core: allow product to provide kernel headers as well | |
9101918 JRM79 | |
15deb24 JRM75F | |
3316544 Revert "Swicth to toolchain gcc-4.6" | |
1d737c5 JRM75E | |
e5129bd Swicth to toolchain gcc-4.6 | |
e3e4b7a JRM75D | |
f2a98a3 Revert "Swicth to toolchain gcc-4.6" | |
c914cc9 Swicth to toolchain gcc-4.6 | |
9b9d3d9 JRM75C | |
0bc277c JRM75B | |
4e16f96 core: allow devices to provide their own device specific kernel headers | |
9ec15ec rename pdk builds: pdk1 to pdk_eng, pdk2 to pdk_rel | |
9ea6952 Move keystore from user_tags to core req | |
62fbd8b JRM75 | |
fefc17f Use pathmap.mk for system/media includes | |
6577f6f JRM74 | |
bf69aa3 Fix tests build. | |
160b670 Add build goal "tests". | |
aaf01f4 Make adbs work again on Darwin x86. | |
02b59ac JRM73C | |
468e449 JRM73B | |
c5f0497 Remove system partition files from the test zip file. | |
8fd1541 Make sure to copy codec setup files to their proper filesystem location on the emulator | |
c778fda JRM73 | |
0e63fd3 Point to new linux prebuilt toolchain for SDK build | |
49932f1 Adding clean variables for some variables used in CTS. | |
c178ea6 JRM72B | |
519316e Fix build caused by 168380 | |
7fc7aad changes to add pdk1 / pdk2 build for PDK build - additional files will be added to pdk/build Bug: 6079146 | |
ad0f850 JRM72 | |
43ba688 Include the downmix effect in the platform | |
178a4a6 JRM68D | |
b0ff345 JRM68C | |
8c61c32 JRM68B | |
086b11c JRM68 | |
a125a3b Remove Camera package (it's merged into Gallery package). | |
1a5fc95 Rename help function in envsetup.sh to be hmm | |
5a4eb5f Update llvm-rs-cc build to use unified headers in all cases. | |
b2fbb38 JRM67B | |
975599a JRM67 | |
e204523 JRM66 | |
fb956ef update include paths to new location | |
bd118e6 add frameworks/native include paths | |
cdcea7a add a name for opengl tests include paths | |
266ac7f JRM65C | |
b9aa8d8 JRM65B | |
082aa25 JRM65 | |
7314933 Include CTS Build Rules | |
3ab307a SDK: Also read sdk/build/tools.OS.atree | |
e1a5c43 JRM61C | |
dfb025a JRM61B | |
0090b0b JRM61 | |
13dff61 JRM60B | |
495e585 Revert "Remove unused notice_files target" | |
620a527 Remove unused notice_files target | |
e1778dc JRM60 | |
1807e70 don't generate retouch commands in OTA scripts | |
ed6b815 BUILD_HOST_64bit=1 to build host tools in 64-bit | |
55fe8ee JRM59 | |
9849041 JRM58B | |
276053b Use %zd instead of %d for variables of type ssize_t | |
a06a560 JRM58 | |
e4425ad JRM53D | |
7bed58d JRM53C | |
acf01ec Issue warning when "make snod" with dexpreopt enabled. | |
92ca609 Fix bug with the HOST_AR. | |
852575c JRM54 | |
e69fbdf JRM53B | |
756b530 JRM53 | |
0f9aec8 releasetools: Fix image size checking | |
87f4d5a Enable TLS register by default for ARMv7a arch | |
ed3550c JRM52 | |
9f763be frameworks/base refactoring | |
6125b52 JRM51 | |
6b0a355 frameworks/base refactoring: build fix | |
548f646 build: goldfish: add emulator Power HAL | |
1d27da7 Attempt to fix the emulator. | |
66ec6c8 build: Add default/legacy Power HAL | |
7295780 Add the default local_time HAL to the base product. | |
013a18d JRM47 | |
9986e1a Remove simg2img from user_tags.mk | |
6056432 Move AOSP to another fake version number | |
fe8d791 JRM46 | |
d9fc5d6 Remove generic_armv5 board config and product. | |
eaa3ba4 Make sure the emulator system image define the features it supports. | |
c04b56c Merge "Move Windows SDK whitelist out of main.mk" | |
ca85b44 JRM45 | |
f84ed93 JRM44 | |
67772b8 Linker script support for constructor priorities. | |
34eddf6 JRM40 | |
cd2150b JRM39B | |
33f2dd8 JRM39 | |
b9d5682 Adding shell commands for manipulating content via content providers. | |
5f1c9ba Add extra environment info to build output | |
49214a2 JRM38 | |
b7fc154 Add gcc_demangle to BUILD_TINY_ANDROID projects | |
80af599 JRM37 | |
77816b8 Add lint to all builds. | |
d79f950 Add annotations to the sdk build. | |
c3e73d3 JRM33 | |
df6a14f Add requestsync package | |
5dea692 Use @rpath and @loader_path to avoid absolute path | |
d8b5bb3 Include the amr wb encoder shared library in all builds. | |
80469e4 Delete unused var. | |
715686d Include the amr encoder shared library in all builds. | |
8d71d6c JRM32 | |
b4c2a64 Set install name with absolute path for Mac host shared libraries. | |
68eb22a JRM31 | |
756eda8 Add build.prop to factory ramdisk | |
29b3afa Increase java heap size. | |
7a93b48 Added libstagefright_soft_aacenc to all builds of all products | |
707328a Build should fail if any proto file fails compiling | |
3228210 JRM30 | |
160711d Add missing tools jar to the sdk product modules. | |
65f706a Add annotations to the sdk build. | |
5c97da7 Fix for "dexopt: No such file or directory" error | |
347f305 Move Windows SDK whitelist out of main.mk | |
7daf30d JRM26 | |
1e1c4d7 JRM25B | |
6bdc7a8 JRM25 | |
4bd8ead You know back when I said this thing about Ice Cream Sandwich MR2? | |
d25045b reset version to jb value | |
512ce9c You know back when I said this thing about Ice Cream Sandwich MR2? | |
4a9580a IRM25 | |
d146e49 IRM24 | |
c3dbeb5 Remove non-existent AlarmProvider to fix SDK build. | |
10622d0 IRM23 | |
fcf246c Workaround for lack of "-Wl,--whole-archive" in MacOS's linker. | |
545b799 prefer an explicitly-set TARGET_BOARD_INFO_FILE | |
20694df IRM19 | |
91332cb IRM18 | |
e5ff590 add device-specific hooks at start of OTA phases | |
16209aa IRM17 | |
df2b4b3 Compute TARGET_TOOLCHAIN_ROOT from TARGET_TOOLS_PREFIX. | |
81b4e62 IRM12 | |
1022e27 Fix build warning | |
4b5e4ba Remove mention of layoutopt/uix as they are gone. | |
e6f127d IRM11 | |
d75dbec Revert "Reference new location of SDK toolchain" | |
cb8f663 Revert "Point arm toolchain to the new gcc-4.6 one." | |
8e0f712 Add a module_path_check for vendor files | |
c726b8e IRM10 | |
1b834c6 Reference new location of SDK toolchain | |
ea91f0a Reference x86 toolchain in its new location | |
71b5cc1 Reference the new prebuilt ccache location. | |
9a11ad5 IRM09 | |
ca1df5a Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
5ea72ef Use the new location of the emulator kernel | |
a230c4d Reference kernel notice in the new location | |
1f87795 Point arm toolchain to the new gcc-4.6 one. | |
c7a10dd Include toolchain makefile based on the current config. | |
c0a6924 Avoid Rebuilding Core and VMTest Descriptions | |
c0b74df Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
3203891 Add hm/hmm/hmmm command. | |
fdf014d IRM05 | |
80cfc37 Partial fix for emulator under Lion. | |
934443b Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
d21af13 IRM04 | |
15fab1a Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
7d2ba7c Add default kernel and base for factory ramdisk. | |
aaa8f06 Default LOCAL_SDK_RES_VERSION to LOCAL_SDK_VERSION | |
13f4853 IRM03 | |
83785c7 IRM02 | |
5a46406 IRL90 | |
89fbc54 Add CSR to the list of known vendors | |
c0328b4 IRL89 | |
204c2b4 IRL88 | |
8f4ff3f IRL87 | |
29b6918 Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES | |
a66c512 Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES | |
d38c870 Get build system to work with Make 3.82 | |
d7a1a9b Get build system to work with Make 3.82 | |
e91918b IRL83 | |
4c54b9f We should include factory ramdisk if one shot makefile is NOT defined. | |
14eeea6 We should include factory ramdisk if one shot makefile is NOT defined. | |
9f0e3c9 Disable factory ramdisk if build with mm/mmm | |
9d5e83d Disable factory ramdisk if build with mm/mmm | |
931a099 Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES | |
9ce06f1 Don't run ranlib on MacOS 10.7 | |
c16dbcd Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES | |
60fe963 build: explicitly define dependency files | |
93a3241 IRL82 | |
0d75a0a Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES | |
fc444cf Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES | |
61db865 IRL81 | |
76bf62d Allow make 3.82 to be used under Cygwin 1.7 | |
0ae6d29 Add 2 SDK directories that can build under Cygwin/Mingw | |
b056d71 If setupwizard is disabled, don't force it to optional | |
c23c446 IRL80 | |
d1ee208 Add libaudioutils | |
8968653 Support to build factory ramdisk image. | |
5fc0057 Stop Building CTS VM Tests | |
193010c Print out ignored PRODUCT_COPY_FILES | |
0a099d9 Support to build factory ramdisk image. | |
5758b8e Remove the R/Manifest classes when building the static Java library | |
bf6c611 Don't remove R class to fix the build. | |
a8c9594 Unset HAVE_TLS_REGISTER for ARMv5 | |
d497a1d Add several module owners to the whitelist | |
a176f57 IRL76 | |
20e2083 Support to build static Java library with Android resource | |
6371da1 x86: Refine the way we configure the x86 build. | |
411616e IRL75 | |
e6b969f Add boot property enabling ADBD over QEMU | |
6da9ef6 Make java-event-log-tags.py create its output directory if it does not exist. | |
f5e9037 IRL74 | |
e109a1d Allow to build Java module from mere static Java libraries. | |
a2c1261 Set version numbers for AOSP - do not merge | |
dbb31be Restrict vendor modules to help AOSP product distribution. | |
fd626f2 Collect the GPL source files. | |
3a32946 IRL73 | |
3343b27 x86: The default ATOM BSP flags need to be in sync with the NDK ABI | |
ab4fbff Use ARM TLS register for emulator | |
f849c99 IRL69 | |
914f7a2 Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS. | |
b5542d3 IRL68 | |
8af0efd Improve handling of absolute paths in out directory | |
ffe03c9 Set OUT_DIR based on a common base path | |
4f2d7de IRL67 | |
59075b8 Make asm-3.1 an optional module, remove from grandfathered list | |
9bd0f4a IRL66 | |
0276d18 check entire recovery partition on startup | |
99bcbeb Print more info of the image size stats. | |
80866c9 IRL62 | |
68895a9 Add support for building specific modules with mmm using the following syntax: Build all modules: mmm dir Build a single module: mmm dir:module Build multiple modules: mmm dir:module1,module2 Or in other words: | |
4ca3807 IRL61 | |
37db6cf English must be the first language specified | |
b50bd7f Move the prebuilt NDKs to their own git project prebuilts/ndk/. | |
9978faf Move prebuilt SDKs to their own git project. | |
1b174cd IRL60 | |
dc2450c Build fix - include sdk/lint in build. | |
057fde1 Point OPROFILE_EVENTS_DIR to oprofile dir in source tree. | |
254ca70 IRL59 | |
d2cbcb4 Restore AOSP-specific pseudo-version-numbers. | |
293f939 Bypass alias for grep in the tapas command. | |
7bf82e0 Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields. | |
5f07480 Build system support to export include paths | |
8325af0 IRL48 | |
c486967 Remove BUILT_TESTS_ZIP_PACKAGE's dependency on the image files | |
c6e952f Don't build userdata.img for tests build. | |
c4a32d1 IRL47 | |
2a53317 SDK: pass $HOST_OUT variable to atree. | |
79a7a26 IRL46 | |
0fb3e79 IRL45 | |
5a967ac IRL44 | |
f9b556c Add a hash-bang as the first line of a shell script | |
0ab21d3 make gdbclient work on x86 | |
6e4e1bb Dev branch for ICS MR2. | |
9f8e8db Build cache.img on demand | |
cb48497 HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE | |
e915ab4 Place linker arguments after objects for gcc | |
d9e7d25 Place linker arguments after objects for gcc | |
598288e IRL41 | |
1bc444e IRL40 | |
aaea5c1 IRL39 | |
653a7e7 IRL38 | |
cf191b7 IRL37 | |
d9d2e7a x86: enable PIE for dynamically linked executables | |
e030aac IRL34 | |
d4495e9 Allow to set ANDROID_BUILDSPEC as path of buildspec.mk | |
ad2c1b4 Allow to set ANDROID_BUILDSPEC as path of buildspec.mk | |
c0debb9 Revert "Build cache.img." | |
12d232a IRL33 | |
4185447 stop using a custom linker script for static executables. | |
531bdb5 Build cache.img. | |
aaa0840 IRL32 | |
178ef92 Fix build. | |
bd93d42 Unify the user image building code | |
be60152 IRL31 | |
c72b140 Add a tool to let you enforce layering between packages in a java module. | |
478012e IRL30 | |
2b6aaa3 Add TARGET_COPY_OUT_* variables. | |
2d50524 main.mk: Allow overriding subdirs via make variable TARGET_SUBDIRS | |
a09c24d Add the default local_time hal implementation to builds. | |
090d360 IRL27 | |
5a86600 Remove last reference to layoutopt. | |
3282e9b Remove references to layoutopt from the build. | |
65216a2 Revert "Remove layoutopt; replaced by the more generic "lint" tool." | |
7a23d45 Remove layoutopt; replaced by the more generic "lint" tool. | |
c37f082 IRL26 | |
2da72c6 Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
489b6f1 IRL25 | |
04b4701 IRL24B | |
026a85b enable PIE for dynamically linked executables | |
59d2966 HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE | |
2b40757 Fix build problems with gcc-4.6.x. | |
b55a633 main.mk: Allow overriding subdirs via make variable TARGET_SUBDIRS | |
2e3ae1b Add the default local_time hal implementation to builds. | |
project cts/ | |
34e8c0f fix ValueAnimatorTest.testGetAnimatedFraction | |
9085d9c fix ContextWrapperTest#testSendOrderedBroadcast1 | |
8f6e76b add debugging message to fix MediaRecorderTest.testOnErrorListener | |
4ceaa3c reduce possible delay from 1 to 6 secs to 1 to 2.5 secs | |
dd778ec More threading issues fixed in audio effect tests | |
32788fc fix android.text.format.cts.TimeTest#testSetToNow0 | |
cd5fd05 fix wrong time comparison | |
f3d6f5c add missing assets for StreamingMediaPlayerTest | |
904d406 Fix AudioEffect.test4_3EnableStatusListener() | |
260e3ab fix missing rename from cts.stub to cts.media | |
ab4c456 AudioManagerTest: fix testVolume. | |
7751e0f Fix pattern issue in MonkeyTest | |
e351eb0 move activities for media to media package | |
6798264 Fix window focus change timing issue | |
d3e9461 Improvements for IntentServiceTest | |
0973bb5 Fix ValueAnimatorTest#testCancel | |
f4409dc Add wifi & p2p Concurrency test | |
a678d61 Fix WifiInfoTest flakiness | |
0756bbb work-around AudioTrack bug | |
15fc136 Add some error messages to ValueAnimatorTest | |
98a2e57 Fix more SlidingDrawer flakiness | |
fda4cc8 merge AOSP changes: media and graphics | |
5d04ecb testAllFilesInSysAreNotWritable: Add trace_marker exception | |
1562ac6 fix MediaRecorderTest.testOnErrorListener step 2. | |
00e35e7 DO NOT MERGE Update Test Expectations | |
dca99e6 DO NOT MERGE Update Test Expectations | |
cf2171c Fix SlidingDrawerTest flakiness | |
c5e6546 trial fix for MediaRecorderTest.testOnErrorListener | |
04d1280 Fix TextViewTest#testIsInputMethodTarget | |
67f748f fix wrong override | |
6a16e58 Disabled broken tests in StaticLayoutLineBreakingTest | |
2504acc Remove setMaximumTimeToLock Test | |
a0ebda8 DO NOT MERGE merge mediastress from master: skip test code | |
2c6d380 merge from ICS | |
0f6a860 DO NOT MERGE Fix flakiness in WebChromeClientTest#testWindows | |
8afc998 New StaticLayout line break tests | |
4be56f8 DO NOT MERGE Close hole in synchronize-protected member variable. | |
da429d7 Remove CTS Verifier welcome screen | |
cf1d115 Revert "Fix AudioManager.testRouting()." | |
8819e08 updating faces.jpg again | |
395214c More wifi direct CTS tests | |
37bf373 fix flaky opengl test | |
e217625 Increase timeout for IntentServiceTest | |
4c9583c FileSystemPermissionTest: add /data/data/com.redbend.vdmc/lib | |
2a1e521 fix AudioTrack testPlaybackHeadPositionAfterStop() | |
fa99801 fix wekelock issue | |
523f646 Enable AccessibilityService tests | |
d1e1b18 Updated Holo ProgressBar Test Assets | |
815af42 Remove CtsRootDeviceSetup accessibility steps | |
062adbb DO NOT MERGE Update Test Expectations | |
d6898df replace face detection image with better quality one | |
88274df Remove bad assert from a test. | |
09fa236 Flip condition in ApacheHttpClientTest | |
84d1b98 Check if accessibility is enabled in test | |
5c20d13 Disable AccessibilityService tests temporarily | |
0d47218 Increase time out for CTS | |
8d4e9ad Increase Bluetooth test timeout | |
1d89002 Poll for isTouchExplorationEnabled | |
f721464 Increase CTS test recents panel timeout | |
511f187 Increase Holo long timeout to 6 seconds | |
3b5d4ff Fixing a regression in the CTS tests due to a framework change. | |
537e918 chage activity to handle layout change | |
3cce4c8 DO NOT MERGE Update Test Expectations | |
cff25f5 Update Holo CTS calendar assets | |
e5a2b4d Camera: Add cancelAutofocus test case. | |
0aec054 Improve ValueAnimatorTest Reliability | |
20cd621 Fix AnimationTest#testSetAnimationListener | |
b4bca5b Remove flakey ObjectAnimatorTest | |
7ec2c07 AccessibilityEndToEndTest#testTypeViewFocusedAccessibilityEvent fails. | |
6f1d52d Improve OpenGL test reliability | |
ba43cd2 DO NOT MERGE Update Test Expectations | |
c2f6fd7 Fix Holo CalendarView (Feb) Assets | |
ea73a85 DO NOT MERGE Add libcore test expectations | |
ab362eb Fix PermissionInfoTest#testPermissionInfo | |
f6328f6 DO NOT MERGE Set CTS and CtsVerifier to 4.1_r1 | |
5b7fa18 Rewrite VelocityTracker tests. | |
64e22d7 Fix AudioManager.testRouting(). | |
b209dd7 Fix copy/paste error | |
1ca738e Release MediaFrameworkTest wakelock in onPause | |
bdc0b2c Fix BasicAdapterTest flakiness | |
1bde4c6 temporarily nuke RTSP tests until fixed DO NOT MERGE | |
1ea506e Remove flaky GestureDetectorTest | |
82b8e07 Try to improve ViewTest#testInputMethodConnection | |
25b8034 Retry flaky tests | |
8354f8d Increase MediaScanner test timeouts | |
60a2044 DO NOT MERGE Add shader tests to known failures | |
7fa4f52 JB Holo Assets | |
dadf5cf Updating the behaviour of accessibility text iterators - CTS | |
ff0de96 Add camera autofocus move callback CTS. | |
cae69bb Add a camera face detection test. | |
59069a7 New CTS tests for unstable content provider references. | |
becf878 Test case sensitivity behavior | |
2a58af7 Fix ViewTest#testWindowFocusChanged | |
3960f94 Add media provider/scanner tests | |
d9b9ff2 Fix InputMethodManagerTest flakiness | |
235639c FileSystemPermissionTest: add /data/install | |
008ffcf add playback THD / spectrum tests | |
e7afa6d Fixing the other half of the accessibility CTS tests. | |
6a3ac6d Fixing the accessibility CTS tests. | |
4810641 Add tests for frame callbacks. | |
af28273 Fix ViewDebug tests | |
2a44d12 change Gl error code checked | |
1dd1c68 DO NOT MERGE Disable webkitsecurity package | |
e081aa8 Force the favicon to be loaded before testing getLastRequestUrl(). | |
d096bce Fix testGetCurrentItem by fixing setUp and tearDown methods. | |
31ea7e1 Improve GPS test. | |
319bfa1 Fix NPE in android.webkit.cts.WebViewTest#testSetScrollBarStyle | |
49d5fd9 Discount previous title when checking newly-loaded title. | |
c14b13c Fix time-out in testOnFormResubmission | |
ce3e6c2 Adding a CTS test for the new global accessibility action. | |
813da65 change debugging message to print mode | |
1fe0897 Add CTS Verifier test for GPS. | |
1ff1e29 Fixing the build. | |
f00f897 change THD pass criteria to be in line with CDD | |
1ffdbd3 Fix AudioManager tests. | |
38983bf Fix BuildVersionTest#testReleaseVersion | |
cf00930 Improve spectrum testing for recording | |
3e031d9 CtsTestServer: Don't always use one port | |
5eba08f cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recording / playback works for test cases / test_io.xml - python processing baseline added. - spectrum algorithm implementated: calculate Transfer Function of device over host and check if amplitudes are within margain. Needs parameter tuning - spectrum test needs some improvements due to the non-flat response from ref microphone. - build is enabled only for linux host except the client code | |
34d6427 Revert "cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recordi" | |
fa0420d KernelSettingsTest: make sure suid_dumpable is 0 | |
9236145 Disable Keyguard in OpenGL Tests | |
4bbb5d7 cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recording / playback works for test cases / test_io.xml - python processing baseline added. - spectrum algorithm implementated: calculate Transfer Function of device over host and check if amplitudes are within margain. Needs parameter tuning - spectrum test needs some improvements due to the non-flat response from ref microphone. | |
edae19a Test clamp in CTS (full and relaxed precision). | |
c3fe017 BannedFilesTest: Add "sync_agent" | |
0b4aba1 Track rename of Uri.normalize() to Uri.normalizeScheme(). | |
67fbdc4 Fix DateUtilsTest#testFormatMethods | |
4a76540 CertificateTest Update | |
64baab3 Fix AssetFileDescriptorTest#testMiscMethod | |
40d5b6e DO NOT MERGE Fix NDEF testcase. | |
fabfb51 Adding a missing change to fix the build. | |
2f2ac94 Fix CTS test for updated API | |
a133c6c DO NOT MERGE Some Holo Test Improvements | |
75e1987 Fix AudioManagerTest.testVolume() | |
a76e8dc Now that MediaCodec marks buffers as having host endianness remove obsolete code. | |
7dddfd1 Fix bug #6293659 android.view.cts.ViewGroupTest#testSetPadding fails - DO NOT MERGE | |
d4c3a6d Fix ContentWrapperTest#testAccessDatabase | |
252c1be Make Baboons Extend Monkeys | |
bc1e126 MediaCodec now submits codec specific data automatically | |
1599c8d FileSystemPermissionTest: add more dirs. | |
6ce2ef1 Fixing a falure in AccessibilityFocusAndInputFocusSyncTest. | |
0a7facc Updated accessibility node info tests due to newly added members. | |
362948e Move CancellationSignal to android.os package. | |
b5a88dd Tests for READ_EXTERNAL permission. | |
b56d30c Fix WebHistoryItemTest | |
53f88f9 check for presence of camera before testing | |
f34f06e Fix AnimationTest#testRunAccelerateAlpha | |
2ebcb4f Get rid of zergrush reflection test | |
0fd4b3a Text traversal at various granularities. | |
c420132 Fixing the build. | |
f5efdc3 Fix Flakey Widget Tests | |
35eeb19 DO NOT MERGE Fix AutoCompleteTextViewTest Flakiness | |
e2fbd91 Fix Flakey View Tests | |
8b12675 API REVIEW: android.view.accessibility | |
5d871c9 Fix path-permission tests. | |
b4762a3 Fix EXCLUSIVE spans removal condition in unit test | |
6b8b6db Hide Paint textLocale APIs - DO NOT MERGE | |
e56ae2a Add manual camera preview format tests to CtsVerifier. | |
c7b1d2e Hide RTL related APIs - DO NOT MERGE | |
6ea50eb Making the test fail more gracefully. | |
ea34ca0 Making sure bitmap is not rescaled. | |
0eb4d6b Adjust to API changes requested by the api-council. | |
4ab9590 Ensure test works on silenced device | |
7b17574 Fix bug #6293328 android.view.cts.ViewTest#testLayoutDirection fails on JRN04 soju-userdebug | |
f9053ac Fix StreamingMediaPlayerTest | |
a3811b6 Holo Test Assets I | |
b7107a9 Tests for FieldPacker fix. | |
ec85873 Freeze ProgressBar | |
07a80d1 Updated SpannableStringBuilderSpanTest for correct MARK/POINT | |
88c0f66 CTS test for java codec APIs | |
8c96240 Updated an accessibility event test due to new event properties. | |
0e5b07a Updating CTS tests that fail due to small screen size. | |
10d131f Update the CTS tests to avoid failure on narrow screen. | |
961d1f2 fix MediaPlayerTest.testVideoSurfaceResetting() | |
d9d6b60 FileSystemPermissionTest: check pn544 and ttyO3 | |
673cc33 FileSystemPermissionTest: Don't stop early | |
5306fa4 Fix/expand gapless test | |
40beeca Make sure the EGLConfig is ES2-compatible | |
91b820c Remove ImageViewTest#testOnSetAlpha | |
04e5d78 DO NOT MERGE Update Test Expectations | |
f875688 Fix SweepGradientTest#testMultiColor | |
f2bfc97 Add wifi direct service discovery test to CtsVerifier. | |
0a5fd59 FileSystemPermissionTest: more directories. | |
da34b0e Removing hierarchical accessibility focus directions. | |
311dd42 Fix bug #6305010 PaintTest broken for setTextSize() | |
3273b82 Fix AnimationDrawableTest | |
380b385 FileSystemPermissionTest: add /data/data/recovery/HTCFOTA add /data/data/recovery/OMADM | |
5dfea06 Make sure default camera autofocus mode is auto. | |
a09eb53 Add camera exif image width and height tests. | |
8f54ce5 FileSystemPermissionTest: add /data/data/recovery/HTCFOTA add /data/data/recovery/OMADM | |
715840a Cts tests for webview file origin policy changes | |
e470100 Remove TimeUtilsTest#testWorld | |
5947eef Revert "Cts tests for webview file origin policy changes" | |
b75e6c7 Cts tests for webview file origin policy changes | |
272498f Bypassed two test cases for 4.0.3 builds | |
378f30e remove font from test | |
7e0eacb Fixed AnimationDrawable isRunning() logic | |
daebf14 Fix flakiness in testCacheResult | |
c56d87d DO NOT MERGE Fix cts build | |
2791bdf use front camera if rear isn't defined. | |
8593a36 Add test for album art | |
bfdf2a4 added cts tests for audio preprocessing | |
0649840 Removed removeAllIcons from tests. | |
c8925b3 Fixed SpannableStringBuilderSpanTest | |
3cb44ac Fix for MediaPlayerTest#testGapless | |
5a93d38 Adding CTS test for some actions for accessibility. | |
02161c3 Fix MediaPlayerTest#testPlayNullSource | |
fb51a2f Update column blacklist | |
f381563 Add a trivial test that exercises the LegacySensorManager. | |
08a6717 Used recent time for the last visit time in BrowserTest | |
d96d4e9 Have testAccessCacheMode wait for favicons to load. | |
7bc0320 Accessibility focus - CTS | |
1941c64 Fix SimpleSignatureTest to use getDeclaredClasses when checking API. | |
c0b150c Clean up Camera Analyzer UI a little bit. | |
d89e2c3 Add CTS unit test for Paint.setTextLocale() | |
bfa0da6 Fix alphabetical ordering. | |
b9ae909 Fix alphabetical ordering. | |
d59cd76 Added world writable dirs from Pantech Element | |
c1d2e7f Added world writable dirs from Pantech Element | |
8448c0c DO NOT MERGE Fix MediaStubActivity Layout | |
c1d6bd5 Updated SpannableStringBuilderSpanTest | |
84746ad Fix MediaStubActivity Layout | |
7a51d0e Tests for Element.FONT() + updated element count. | |
9202360 Fix AsyncTaskTest#testCancelTooLate | |
7da50e8 Fixed Bugs BugId: 6293426, 6292673 | |
ddb2192 Fix AvoidXfermodeTest | |
45b5750 Fix ContactsTest and ProviderPermissionTest | |
9e1bec7 Six Test cases for AttachShader - Written in opengl es c apis | |
5d51435 Fix wrong a static variable for output path name. | |
54e18c6 Fix GestureStrokeTest | |
7c1d125 Landscape Holo Test Resources | |
56bf023 Fix flaky testRequestImageRef and testRequestFocusNodeHref | |
e262927 Add tests for data access issue. | |
dd81428 DO NOT MERGE Update the NO_DELIVERY_REPORTS lists Add additional carriers that don’t support sms delivery support. CTS Bug Fix : This parameter("311230" // C SPire Wireless + Celluar South) adds in CTS source code This parameter("310600" // Cellcom) adds in CTS source code | |
fcae24c Remove Audio Quality Verifier | |
246a116 DO NOT MERGE Remove Audio Quality Verifier | |
ba89df3 Add missing provider for CTS tests. | |
6474786 Add directories. | |
073d547 Refactor, fix and expand CTS test for playlists | |
addef57 Fix Permission Tests | |
8f46ea7 NoReadLogsPermissionTest: Fix false positives. | |
b8ae506 Fix expected output of testIndexOf with start == Integer.MAX_VALUE. | |
dad1e96 NoExecutePermissionTest: Don't assume a heap is present | |
e1233df Minor naming refactoring | |
5cdea8d New CTS test for Span handling in SpannableStringBuilder | |
0c516ad Fix FilterTest#testFilterX Tests | |
f43c32d Fix AbsListViewTest#testGetFocusedRect | |
3836021 Relax WebView UA string check to ease transition to ChromeView. | |
730b62f Update the NO_DELIVERY_REPORTS lists Add additional carriers that don’t support sms delivery support. CTS Bug Fix : This parameter("311230" // C SPire Wireless + Celluar South) adds in CTS source code This parameter("310600" // Cellcom) adds in CTS source code | |
ec1dec2 Fix NetworkInfo_DetailedStateTest | |
2e0a6bb Turn up volume before running gapless test | |
e1cafc0 PIILogTest: remove | |
a81bcd6 Fix MediaPlayerFlakyNetworkTest NPE | |
d7e06ad Fix testVideoSurfaceResetting for Landscape | |
4fdb5de DO NOT MERGE Loop doesn't compare the whole bitmap image | |
ddbee9d Fix failing RTL unit tests | |
dd7e30e Add CTS unit tests for View textAlignment | |
c165b56 Add forgotten copyright statement | |
547712c DO NOT MERGE fix CTS issue for case testSetOnScrollListener | |
da69bc5 DO NOT MERGE Fix CTS case testScrollTo. | |
8cf1ead Loop doesn't compare the whole bitmap image | |
bf365d0 Test cases for OpenGL ES 2.0 compliance Ported from Khoronos Test Framework Attach Shader tests | |
bc4b869 Enable Mock Locations via ADB Content Command | |
827d671 Fix bug #4770292 Update CTS tests for ViewGroup margin | |
7e08e09 Fix bug #6222864 android.text.cts.HtmlTest#testUtf8 fails on JRM73B soju-userdebug | |
81bf43f Add CTS test for android.net.rtp. | |
fc46353 Update CTS for READ_LOGS permission change. | |
c05d681 Update tests for new Choreographer implementation. | |
a5e07f7 Add tests for yield transaction that actually yield. | |
2cae904 Add CTS test for TextureView.getBitmap(). | |
6d4ce28 Rename private methods in CameraTest to not start with 'test'. | |
1820d45 Added test for CVE-2011-3901, sqlite journal files being world readable. | |
e79bef3 Fix build | |
1f7a292 Fix build | |
6edd2ea Add CTS test for gapless playback | |
5daf323 InstrumentationCtsTestRunner Static Library | |
ef86a1b DO NOT MERGE increase frame rate check margin as there is no guarantee that the specified frame rate can be achieved. | |
3f40dc0 Add tests for setting foreign key constraint mode. | |
7268214 Add tests for new WAL mode flag. | |
c5c2488 CertificateTest Update | |
f40c91f Add test for MediaPlayer.setNextMediaPlayer | |
096195d increase frame rate check margin as there is no guarantee that the specified frame rate can be achieved. | |
3891b85 Run WebView methods on correct thread. | |
8369b87 Add /data/amit | |
b97bc58 fix CTS issue for case testSetOnScrollListener | |
3ee9b2e Fix CTS case testScrollTo. | |
94f2e43 Add more tests for enabling/disabling WAL. | |
c957189 Added security tests for webkit crashes. | |
a5c2c8a FileSystemPermissionTest: Add /data/internal-device | |
c249943 Fixed CTS TextViewTest didTouchFocusSelect | |
e3ef9ca Fix Broken PreferenceWithHeadersTest | |
fc19db6 Add more CTS unit tests for View layoutDirection | |
49fde7b First set of sampling tests. | |
3387617 Rename MediaPlayerStreamingTest | |
e22aa42 Fixed an incorrect test case where MediaPlayer.start() was called right after MediaPlayer.stop() was called. | |
f88df2f Test cases for PreferenceGroup, Preference, PreferenceFragment | |
259aa4b Verify asset files can receive query and fragments. | |
eefc5fd Move LocalUtil unit tests from Frameworks to CTS | |
082f61c Test <path-permissions> on unprotected providers. | |
b803f80 Automated accessibility CTS tests and added more tests. | |
8f11484 Move some Gravity unit tests to CTS | |
63d85b5 Add resource tests for configs that are the same. | |
d33633f Add CTS tests for new ClipData Intent feature. | |
c9352b6 Refresh RS CTS tests (updated headers + optmization level metadata). | |
7c157f9 Fix bug #4768303 Update CTS tests for View padding | |
b6d00d3 Add tests for new Choreographer callback token feature. | |
94c9437 Fix bug #4972463 Update CTS tests for TextView textDirection | |
26c57ed Add CTS tests for View layoutDirection | |
471beda Static Libs for Popular CTS Stub Components | |
f6dcf60 Rename remove callback methods. | |
28ae149 Add tests for new Choreographer behavior. | |
bd8d1f4 Initial test cases for DrmSupportInfo class | |
e89e974 Move CTS Build Definitions for mmm | |
59da788 Added more test cases to DrmEvent classes, DrmInfoRequest, and DrmInfo | |
5a26599 Add CTS test for SQLiteDatabase.deleteDatabase API. | |
88c2dcc Initial test cases for DrmInfoStatus class | |
501331c Test versioned RS bitcode in CTS. | |
490dc16 CTS Holo: Add +/- tolerance to bitmap comparison | |
2d5d043 Remove manual steps from the accessibility CTS tests. | |
01ae1e7 Fix testHtmlEncode | |
59a0205 Initial test cases for DrmInfo class | |
a504eb1 Initial test cases for DrmInfoRequest | |
dffdaca Add initial tests for DrmEvent, DrmInfoEvent and DrmErrorEvent | |
e3ad638 Remove yet another prebuilt junit jar from cts. | |
5401a9e Combine RS kernels in a single Script. | |
eeca343 Support testing non-root ForEach kernels. | |
6e6f1d2 Improved test cases in MediaRecorderTest.java | |
e763711 Add ability to read symbols for ReadElf | |
4ace4ab Add a CTS test for the header map populated by CacheManager.getCacheFile() | |
af31fd0 Implement tests regarding loading of network resources and data url images. | |
8d81e8d Tests for android.preference.Preference | |
f5cfb71 Modification of testSetHorizontalSpacing() | |
39f5f92 Add a CTS test for android.webkit.WebView.getVisibleTitleHeight. | |
84e9860 Add stub method for ViewParent | |
3620919 Update MessageQueue barrier API tests. | |
98439bb Fix a bad Looper test. | |
659a8e6 Fix resource leaks for Audio Quality Verifier | |
e9386c7 Update RS CTS to check API level 16. | |
2f33419 Check we get SecurityException from DNS lookups without INTERNET permission. | |
c0fa86b Make sure that creating a vector of non-primitive type throws an exception. | |
d5f0489 Simplify Choreographer API. | |
0e16c03 Account for Element.DataType.NONE in ElementTest. | |
e7fbfee Add tests for the Choreographer class. | |
b7349b9 Add tests for MessageQueue barriers. | |
ef231f9 fix build | |
75476e0 Bump invalid Usage type for new SurfaceTexture functionality. | |
c399486 Revert "Revert "Add proper CTS tests for array initialization."" | |
bc9b467 Revert "Add proper CTS tests for array initialization." | |
2105f75 Add proper CTS tests for array initialization. | |
a249242 Add more media provider tests | |
c17394e added a test case for time-lapse video recording | |
12f55d2 Added more test coverage and a test case for MediaRecorderTest.java | |
2f102b5 Fix CTS Proguard Build Issues | |
9fd1fdd add a new cts test for MediaRecorder.setOrientationHint() | |
b5eddba Move test to a different CTS test and expand it. | |
a78e3ec Monkeying Around | |
e8894cf Test video file is deleted when db entry is deleted | |
29c0350 Move AppSecurity Tests to hostsidetests | |
a77b408 Tests for ActionBar#addTab | |
6409c18 Add some cts tests for raw audio file formats: AMR_NB, AMR_WB and AAC_ADTS | |
3b32805 More image thumbnail tests | |
22ba1bc Remove Most of dx-tests | |
90d4504 Revert "Disable GL tests until we finish FIFO rewrite." | |
18a0e2a Refactor error checking on script/control side. | |
5982b42 Check that thumbnail is removed when db entry is deleted | |
678cdd6 Rename CancellationSignal using preferred spelling. | |
1b15fd3 Tests for ActivityManager#isUserAMonkey | |
4ac85cf Disable GL tests until we finish FIFO rewrite. | |
ef48a49 Test for array field setter. | |
c29ede0 Verify that RS compilation failures don't crash the runtime. | |
f78a333 More mediascanner tests | |
5dc8ba1 Committer: Rajdeep Dua <rajdeep@google.com> Test cases for android.preference | |
242ed91 Some Tests for ContactsContract.StatusUpdates | |
6f48426 Remove unnecessary copy of media resource. | |
7c9f67a Close files after reading them | |
349b8fe Fix typos | |
b6ebeb8 Fix testSetToNow0 test | |
0925bc0 Some android.database CTS Cleanup | |
38edd6a Use ContentProviderClient Instead | |
1f0afdf Add test to verify that adding and removing a nomedia file is handled correctly. | |
98acba0 Test versioned RS bitcode in CTS. | |
8597c02 Fix UserDictionary Test | |
37ef3df Fix a silly bug. | |
10ed073 Add tests for query cancelation. | |
c5268b5 Improve structure setting tests for RS. | |
e86ece2 Remove Test Annotations | |
f059cb2 Fix testFindNext flakiness. | |
4338156 Missing an explicit termination before return | |
a7176fb Update CTS tests for NDEF API changes. | |
f590a15 Fix Build | |
e1c1c47 CTS tests for Intent.normalize...() API's | |
5ec668d Fixing two issues in the accessibility CTS tests. | |
5f6d88e Add tests for new content observer API with change Uri. | |
229c2a8 Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after" | |
27a7185 FileCopyHelper Refactoring | |
91da497 Add stress test for native media player - Uses SurfaceTexture / OpenGl to display the rendered contents - repeat creating / destroying native instances for different resolutions | |
278962c Missing Commits from ICS MR1 | |
df9378a Don't Report Installed Apps and Properties | |
cb8e9c5 Some Tests for ContactsContract_StreamItemPhotos | |
1d67e19 Report Installed Apps and Properties | |
2018501 Add a MediaPlayerFlakyNetworkTest | |
87091b6 Fix CommonDataKinds IM Typo | |
066fb28 Option for Running Known Failures | |
f95948e Fix CTS WebViewTest#testFindAddress | |
e9b95a8 DeviceDefault ActionBar Tests | |
4682982 Remove ref to non-existent dir in xml-generator's Android.mk | |
63c5983 Update screen size and dpi in device info | |
6a7c5d5 Remove WebViewTest.testAddJavascriptInterfaceOddName() | |
81687a3 integrate media stress test : MediaPlay and MediaRecord only - media files are copied manually before test - one test class per each resolution and format - support of format is checked for each test case, and not-supported format will be just passed. | |
868438a Added test cases for android.animation Committer: Rajdeep Dua <rajdeep@google.com> | |
96fdfb7 Fix Missing VM Tests | |
be775f5 Some CTS Makefile Cleaning | |
2425d5c Test Update Ops for Stream Items | |
ad70404 Test for MediaStore_Video_Thumbnails | |
6069507 Support Older XML Formats | |
1cc3c4a Fix malformed CtsTestStubs manifest entries. | |
1a2a505 Exercise Contacts#openContactPhotoInputStream | |
780179c Tests for Contact Lookup Uri Methods | |
4771c9e Add GlAppSwitchTest - switches between two Gl-using apps and forces recreating GlContext - replica island is used for one GL app. - if something goes wrong and rendering is blocked, watchdog timer in each app will fire - fixed a bug in GlPlanetsActivity as the original code freed vertex / index buffer and did not create after pause resume : Buffers are just kept to reduce resume time for this test | |
4c64897 StreamItems CONTENT_DIRECTORY Insert Test | |
cdfaaa7 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
144a0c9 Fix CTS tests for setting AppCache path | |
656df69 Delete More Old CTS Test Runner Files | |
29d3478 Delete RefAppTest | |
2b1069b Disable spectrum test temporarily | |
8fb7136 /data/drm directories | |
d9423e0 Mark Deprecated Classes and Methods | |
8b0a3cf Tests for MediaStore.Files | |
57c35c3 Create helper script for running cts-tradefed-tests | |
11cd606 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
1cfcdc4 Fix Build | |
5df641c Move Test XML Generation from buildCts.py | |
aad26c3 Test ContactsContract_StreamItems Insert | |
c710283 Some MediaStore Tests | |
7eed6e3 Add non regression unit test for Paint.measureText() and long strings | |
2b763f6 Clean Up SearchRecentSuggestionsTest | |
33d9526 Tests for WRITE_SOCIAL_STREAM | |
81b693d Label and Resources Tests for CommonDataKinds | |
ef17ac9 Introduce CTS_SRC_ROOT classpath variable for cts-tradefed. | |
4824ba9 Tests for READ_SOCIAL_STREAM | |
ffdee92 Fixed a broken rtsp test case | |
37e7341 Some Coverage Tweaks | |
e409dce Remove PhoneNumberFormattingTextWatcherTest | |
bb7869a add OpelGl performance test as a separate package Currently runs two types of tests 1. rendering performance comparison with VBO vs without VBO This can also work as a stress test due to the amount of triangles used. | |
d12e7ab Terminate Looper if Video Snapshot Not Supported | |
89ae08c Add CTS-TF Plan Again | |
e3e4d7b Add camera test to ensure Datetime EXIF is localtime. | |
78970d0 Merge WaitForLoadUrl into WebViewOnUiThread. | |
937cf8a Define TAG in LoopbackExperiment | |
c1eacbb Remove onCreateDialog from private interface | |
6b77aa6 CTS test for voicemail content provider. | |
c0f0bd2 Define TAG in LoopbackExperiment | |
6960639 Create Dir in Makefile Instead | |
ad20737 Support Native Test Expectations | |
b287ea0 Add CtsEffectTestCases to CtsTestCaseList.mk | |
94747b0 Remove Duplicate CTS-TF Plan | |
35d1307 Remove onCreateDialog from private interface | |
68babe4 Flesh out NDEF cts tests. | |
9349ccb Remove VM Tests | |
f1e72cc EnvironmentTest: make sure TMPDIR isn't set. | |
1b9681d Enable and fix testAccessAllowFileAccess test. | |
87ff4df Make CTS and CTS-TF Plans Same | |
354ed32 Cleanup / fixes for CTS DebugTest. | |
92bed2d Fix Rezzz Warning | |
adb0f64 Added PII logging tests. | |
841a1e3 Release version only checked in release builds. | |
0c8a8bc Change tests to run WebView calls on the UI thread. | |
68ecbe7 Change tests to use WaitForLoadUrl. | |
ac8f864 Don't catch IllegalStateException | |
9c292f9 Fix Native Exes List | |
5a722c7 Add /data/data/recovery | |
0821639 add /data/local/tmp | |
f3044f3 Make zergrush test more reliable. | |
98caf9a Fix IssueReporter Bugs | |
7ca5743 Add CTS tests for getRemoteDevice(byte[]) | |
f859ea6 Track removal of JUnit from dx. | |
c1ca42f Report Test Failures to Remote Server | |
37993b2 add testMmapMinAddr | |
476a26a CTS Tests for the Media Effects API. | |
7499c18 waitForLoadComplete now uses callbacks instead of sleep. | |
8f955a9 Fix flaky WebViewTest.testFindNext | |
b04f7fe Delete More Old Test Runner Files | |
ccc0edf Fix flaky WebChromeClientTest.testOnJsBeforeUnload. | |
f0b5636 Fix flaky testCacheResult test. | |
66e57a3 Revert "integrate media stress test : MediaPlay and MediaRecord only" | |
ca06be8 Fixed timing issue with testRequestFocusNodeHref. | |
2720338 two more dirs | |
525855d integrate media stress test : MediaPlay and MediaRecord only MediaPlay test changed to use assets/video directory due to the limitation of 10 min time-out, video play test is separated to run one clip per each test case. MediaStressTestRunner simply puts multile MediaPlayerStressTest cases, and each invokation will play different clips. | |
a60dfed Updated the color checker detection code. | |
8a5fb5e one more dir | |
fa16077 add more directories. | |
bdcfc7c Couple buildCts.py Improvements | |
662a3cb Updated the exposure compensation patch. | |
501de53 Added tests for the camera's white balance modes. | |
c720407 Added the quality test for exposure compensation. | |
806b8ec Added quality test for camera's metering function. | |
527cfcd Added image quality test for the AE lock. | |
ad0d2e5 Added tests to look for a MacBeth color checker. | |
0ed3f71 Added test handler class and the main activity. | |
3e826a8 Included new base classes for Camera Analyzer. | |
523d04c Updated Cts Camera Verifier properties. | |
aa98071 Fix FD leak | |
030d60c Ensure /data/data isn't writable. | |
79c3156 Add Finish() calls after every ForEach(). | |
ee46436 Verify /proc/sys/kernel/kptr_restrict = 2 | |
00056a9 Small fix to PollingCheck | |
a224673 Texture compresison format test. | |
05a8fe2 Fixing up constants in CTS tests | |
b683513 Fix 4970300 OpenMAX AL and OpenSL ES libs checked in CTS | |
8ed5601 Move file, change loopback handling, docs. | |
0162547 Renaming DelayedCheck to PollingCheck | |
a9631ce Use Settings.ACTION_NFC_SETTINGS and Settings.ACTION_NFCSHARING_SETTINGS. | |
b32cc21 Better explain why writable dirs are bad. | |
204cf3d CTS sanity checks for ASLR. | |
0953b3b Fix build: remove CtsSetupTest. | |
f3af4df Manual merge cts-tradefed changes into master. | |
8e88654 Fix Build 2 | |
db579c6 Fix Build | |
91ef773 Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE | |
116f46f Adjust test start date | |
60b284a test for uri parsing | |
project dalvik/ | |
89cf125 Report GC pause times more accurately. | |
6fb6f30 Update test 089 expectations | |
0cea134 Fix: Issue 26627: Dalvik Heap Trim timer value after GC | |
259298d Make sure we have room for future Maps builds. | |
2b02fef Lose libnativehelper to its own project for the PDK. | |
e3b03b3 apps forked from zygote run in default cgroup | |
3897bab Fix a leak in the JIT. | |
7e2f0ea Fix a small memory leak. | |
6ad3f10 Output number of bytes used by LinearAlloc during dexopt. | |
5136911 Fix an array out-of-bound read in the JIT compiler. | |
7222596 Add a -XX:mainThreadStackSize= option. | |
ce6603b Add a -XX:mainThreadStackSize= option. | |
3ca3a08 Make sure we rethrow the same exception we started with. | |
95b0899 Support building Dalvik with AddressSanitizer. | |
51bb1c0 Make sure we rethrow the same exception we started with. | |
deb0790 Make indexOfCommon clamp start to count when start > count. | |
66a6e44 Throw ArrayStoreException instead of corrupting the heap. | |
c628d17 Dump the native stacks of threads in VmWait as well Native. | |
fa76cb5 Obvious mix of = and == | |
fa3b293 Transform static values eagerly rather than on use. | |
231611a Always call the native exit hook, even for halt(). | |
5094108 Compact merged dexes on their byte aligned size | |
b74e719 Replace malloc() followed by memset() to zero with calloc() | |
5bac60a Replace large calloc() with ashmem-backed anonymous mmap | |
9a05976 Fix verifier typing for null float arrays. | |
13c9f04 Add a test for a dalvikvm 'switch' bug. | |
aec9c8f Updates to the VM tests. | |
356839b Set SYSTEM_PAGE_SIZE from PAGE_SHIFT | |
3185a41 x86 mterp debug/profile fix (issue 5938080) | |
5da4362 Fix assert | |
0a6a598 Tweak Dalvik tests | |
5cc7450 Tweak UnsatisfiedLinkError | |
a5a1848 Update and extend Dalvik tests | |
f36ff04 Bug fix for control-flow construction involving nested loops. | |
3560a2d Remove stale assert | |
2a249c5 Fix to dex verifier to handle float types that look like Boolean. | |
5c80d7d Fix log macro name | |
d8a81cf cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use | |
4dfe64e Provide detail when methods or fields exceed the limit. | |
069df3c fix dvmDbgOutputAllInterfaces to include only direct super-interfaces | |
6d1a1df Fix a small memory leak. | |
c1a4ab9 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
e8e1ddc Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
c6284c2 Remove misleading and outdated documentation. | |
57dd2d5 Remove documentation that's now in docs/source.android.com. | |
4308417 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
ab35b50 Remove unsupported experimental opcodes. | |
1609c0c Remove dexmaker code from dx. | |
062bf50 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
26f9572 Introduces ProxyBuilder and tests. | |
7adb0bf DexGenerator: allow specifying dex cache dir. | |
95f4f01 DexOptions should default targetApiLevel to API_NO_EXTENDED_OPCODES | |
2cdb0f9 Don't throw an AssertionError on invalid input. | |
4cd7b39 Remove dx's copy of JUnit. | |
541a4c1 Admit to not supporting over 65,536 methods. | |
69c4756 Use libcorkscrew to format the stack trace. | |
0083c42 Fix DexMerger to emit dex files without extended op codes. | |
9f0f8b6 Be humane when there are more methods or fields than Dalvik can handle. | |
1375a15 Can't set variable to null with loadConstant. | |
517db3e This test fails with a class not found error. | |
c0a1885 Further refinement of card table clear | |
955c3a0 Fix reporting of initial pause time | |
668a92a Slight change to unwinder API. | |
4e12055 hprof-conv: Better error message when run on a 1.0.2 file. | |
fabd018 Disable dumping native stacks of non-Dalvik threads. Bug: 5544153 | |
b121230 Dump stacks for all native threads, not just those in JNI. | |
0c0624b Fix single-stepping resume mode in the interpreter. | |
5552e62 Optimize IndirectRefTable. | |
476157d Add a simple performance test for IndirectRefTable. | |
34987b4 Fix reference to non-existent function in debug code. | |
92c1f6f Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE | |
1663a6c Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE | |
b78eab0 Dump native stack of JNI methods when handling SIGQUIT. | |
project development/ | |
2eb9e37 docs: fix markup error in redirects | |
d8557b0 docs: add redirects for faq and notepad docs | |
6b78d89 docs: more redirects | |
e1ec055 docs: a bunch of new reidrects; for search, videos, hello views, and a bunch of easter eggs | |
14c3608 docs: submit latest set of redirects | |
672fa25 WiFi Direct Service Discovery sample | |
7fa6b8d Update SDK Windows USB driver definition. | |
8189fcf merge redirects file from ics and add redirects for tutorials | |
e8f7f5f Fix WXGA800-7in to be portrait by default. | |
1e49320 Update the API 16 files used by the SDK. | |
0c3d438 Fix NPE in BeamDemo if NFC not present. do not merge. | |
ddb532d Support lib is now in rev 9 | |
f5d811e Add Platform.CodeName to source.properties | |
8a8046a Initial commit of NsdChat application | |
35c48dc Update SDK revision files. | |
80df91c New API demos for retained fragments with loaders. | |
50d5736 Fix libutils test package path. | |
6cc9755 Update device for new location provider configs. | |
1e284c1 Remove outdated PDK. | |
2476301 Fix up .classpath for Email/Exchange/emailcommon | |
928c7d6 Add API 16 to the SDK API file. | |
9649bee Update API file with proper content. | |
58ce6f0 A few little tweaks to system ui flag demos. | |
5e20670 Remove the WaitEvent added in Tap and Drag. | |
7947d9f Updating the accessibility sample due to a security fix. | |
c26d421 Fix .classpath for eclipse. DO NOT MERGE | |
8cb9623 Put the compute samples back in the SDK. | |
cf39011 SDK: don't generate empty codename line in source.properties. DO NOT MERGE. | |
f2bc2a0 Work on issue #6475693 OnSystemUiVisibilityChangeListener reporting... | |
cb62e8b Add FLAC encoder to the list of media codecs. | |
6bd1ae5 Fix skin. | |
f5d3a23 Improvements to system UI demos. | |
77dc0d2 more fixes to monkey motion event timing | |
a8863a9 Eclipse classpath cleanup | |
ffb145c Follow framework API change in TaskStackBuilder | |
237448b fix how monkey adjust timestamps for motion events | |
8749a29 fix how monkey adjust timestamps for motion events | |
9089c7d Submit fixed script. | |
9cd1654 Add API demo for Activity.finishAffinity(). | |
0b28341 Fix Monkey key events. | |
f63ed9b Fix Monkey key events. | |
d71b64f Added software mpeg4 and h263 video encoder to sdk/emulator build | |
1632bc6 Added software h264 video encoder for emulator/sdk build | |
d5296c8 No longer using bindAppWidgetId | |
faa031a Fix GridLayout in support library. do not merge. | |
3c3cb46 Fix GridLayout copy into the SDK. | |
805b169 Move support library to r8. do not merge. | |
3fb225f Support for Windows SDK pre-requisite module list. | |
8957faa Add .classpath/.project/readme to gridlayout support package. | |
a185bad Fixing the build | |
01d30e1 Split build/targets/product/sdk.mk | |
d0e6543 Fixed compilation error #include <android/*h> | |
1583b7c Delete the fragment-UI sample in favor of the FragmentBasics sample for the 101 training class on fragments | |
d573ba5 Rename the activity lifecycle sample's directory | |
ba1636e Add new sample for 101 class on fragments. | |
4c5f2d2 Renderscript is deprecated. Removing from the sdk. | |
262cb24 Add skin for 1280x800@213dpi devices. | |
968c2e4 Fixed the XMLAdapters example | |
80d4ba7 Move emulator GLES from development.git to sdk.git | |
0819e42 Add skeleton implementation of a fake v2 camera device. | |
ee16c83 Revert "Revert "Multi-project commit, other commits weren't ready after all. (Revert)"" | |
16266ff Updated "Making your App Location Aware" class to include information on location provider enable check. | |
d187140 Add demo for new custom animation. | |
b62e28d Move emulator GLES from development.git to sdk.git | |
affcdfd adding media effects sample to sdk | |
32d9069 Get rid of isSentenceSpellCheckSupported corresponding to I0e931b7248f8c65268b60af599c07 | |
e6c0176 Fixed compilation error #include <android/*h> | |
eb1b7a6 Use new InputDevice.getVibrator() API. | |
6c5e9eb Update API demo to show new clip data types and conversions. | |
a4920b7 Improve GameControllerInput demo with input device listeners. | |
7dd80c2 Ensure Monkey uses sane timestamps for key events. | |
2af3f30 Ensure Monkey uses sane timestamps for key events. | |
1b9744a Update to follow API change. | |
99e94c0 Use new InputManager API. | |
800fbe1 change the way we fetch the test result file. | |
6ec6d98 Update libandroidfw test package. | |
f6c3400 Fix use of fitsSystemWindows, so padding doesn't conflict. | |
dab6072 Refresh development/ndk/platforms/android-9/arch-x86/include/machine | |
001a30f Use new input manager API. | |
a1e84ac Revert "Multi-project commit, other commits weren't ready after all. (Revert)" | |
e331666 Move AppNavigation samples around | |
f3785f1 Multi-project commit, other commits weren't ready after all. | |
5a35e72 Add skeleton implementation of a fake v2 camera device. | |
5318919 Camera emulator: Add timestamps to PreviewWindow output. | |
cd68d40 Support sentence level spell check in sample code of the spell checker | |
92abb63 Convert fp constants from double -> float. | |
a539e4e Update activity-lifecycle sample: Use unique package name | |
6ad1018 Use fitsSystemWindows for better demoing. | |
137dce1 Sample app for Android Training lesson: Making your app location aware. | |
87a714c uploading sample code for AU class on Activity Lifecycle | |
2bab013 Sample app for Android U class: Displaying Bitmaps Efficiently | |
d2d0d4f first draft of sample code for AU basic training class on fragments | |
202b652 docs: add GP Licensing redirect | |
40525ef Move stuff from prebuilt to prebuilts/tools | |
16c0f25 ndk: ANativeActivity: Fix 'clazz' member documentation. | |
f7541b8 Change video demo theme to dark. | |
2edb02a SDK: generate repo in xsd v6. DO NOT MERGE. | |
02b5347 Add new way to calculate FPS to monkey. | |
3f59495 Remove auto-gen project.properties | |
b2f2036 ndk: <dlfcn.h>: dladdr() takes a 'const void*' parameter, not 'void*' | |
00038de Native media sample app for NDK API level 14 | |
e43487b ndk: android-9: Add missing <sys/eventfd.h> header | |
ef0d31e ndk: <signal.h>: Increase _NSIG definition to 64 | |
015d054 ndk: <pthread.h>: formatting + updates | |
002d536 ndk: <unistd.h>: minor cleanup | |
3da072d ndk: <sys/cdefs.h> minor update | |
1fe0de6 ndk: minor header update | |
f4e62ff ndk: Fix ipv6 related headers | |
6c32dac ndk: Fix <sys/atomics.h> declarations. | |
5704b40 ndk: minor update to <netinet/...> headers. | |
554c5ec ndk: libc: Add RLIM_RTTIME to <asm-generic/resource.h> | |
34c6c85 ndk: arm: Update <asm/ptrace.h> and <asm/user.h> | |
e938d97 ndk: disable logs in release builds of native_app_glue library. | |
a79e56e Fixed inconsistent minSdkVersion and target= in NDK samples | |
0523af7 Fixed to #include correct 32-bit headers | |
93036ac Relax FP requirements | |
22d3d88 [MIPS] crt* Object files generated from .S files. The object files are generated with the assembler built from binutils-2.21 | |
718e73c MIPS platform files for building the NDK | |
adee1fd Update Full Screen Modes to demostrate more modes. | |
1a2ddb4 sdk doc change: Added KeyChain API Demo | |
c94da69 Refresh development/ndk/platforms/android-9/arch-x86/include/machine | |
8d83be9 Fixed win_sdk build due to rs relocation | |
697914d Docs: Fixing broken link in TtsEngine/_index.html | |
e46673a Multiple webviews could be a bad model for developers to follow. | |
a2a4669 Moving libRS | |
d6a3832 Update emulated camera to support HAL v2.0 modules and devices. | |
a8a0638 ndk: Add MIPS Platform files which contain C runtime headers and sources of crt* assembler files | |
f413515 Merge SDK support for source.properties templates. | |
a85a93f SDK: correctly zip sources.zip package. | |
46b6741 Support to generate screen rotation events. | |
64cd8f3 EmuGL: use custom egl.cfg in Google APIs add-on | |
29539e9 Fixed to #include correct 32-bit headers | |
a71d47a Add API demo for thumbnail animations. | |
75112fa add missing include | |
9c7b559 SDK source pkg: exclude all /tools/ and /tests/ directories. | |
d588246 EmuGL: Deliver every frame to a callback | |
e35ac78 Fix build - configure for schema-v4 output | |
8a33c36 Revert "EmuGL: Deliver every frame to a callback" | |
08d643e EmuGL: Deliver every frame to a callback | |
7678066 Added rules to build 64-bit libraries for 64-bit emulator | |
8aafafe Fixed crash and 64-bit porting issues | |
8f7e1f7 SDK: generate repo using latest schemas when available. | |
8c12262 Add flag indicating gpu support in emulator system image. | |
37bae21 Add flag indicating gpu support in emulator system image. | |
206ea39 Refactor with ToTargetCompatibleHandle() | |
a277cee Package control per user | |
f9e6097 Fixed inconsistent minSdkVersion and target= in NDK samples | |
967d1e6 Update animation sample to use new activity options API. | |
c9d6ede Change camera HAL to catch up with changes in emulator. | |
c06e37e ndk: Include limits.h in wchar.h as it contains the definitions for INT_MAX and INT_MIN. Without this fix, the following lines will fail when configuring gnu stdlibc++ library. (INT_MAX and INT_MIN are undefined.) | |
51cb3a4 Update to follow IActivityManager change. | |
a3f456f Added rules to build 64-bit libraries for 64-bit emulator | |
c65cfeb ndk: <signal.h>: include <asm/sigcontext.h> | |
27b71c7 Switched to use header files in /frameworks/native | |
913d903 Support lib: use /samples directory. | |
fd4a739 Fix # of arguments to startActivity | |
06f3f54 Add framework/native to fix build. | |
d069948 update Eclipse include paths | |
cc3332a remove dependency on apparently uneeded libs. might fix sdk build | |
e35bfe5 Minor makefile tweak to compile with elfutils-0.138 | |
83f4573 Fixes for runtest | |
f4a20e5 Add/fix copyright notices | |
2478dfd Work around a y-invert bug on Macs w/ Intel GPU | |
54934b0 Delete dead code. | |
7942a69 Add the new v7 support library project to the SDK. | |
94548b6 Add missing includes for threads.h | |
d3ed045 Rename resource drawable to drawable-nodpi for RsStates. | |
c7f0d89 remove HAL_MODULE_INFO_SYM const | |
eb611a2 SDK repo: fix to handle new and old xsd for support lib | |
e01feb2 We're configuring media codecs dynamically now. | |
9516dc5 SDK: generate repo using latest schemas when available. | |
b100b6f Fixed crash and 64-bit porting issues | |
bea50d3 SDK repo: use a template for samples/source.properties. | |
73421de Update the intent that monkey uses to launch application | |
9789239 Android native include paths and symbols for Eclipse IDE | |
a3b1c78 remove dependency on android_natives_priv.h | |
9ba4eff Add the camera functional continuous test. | |
9ada0ac Fix version metadata for java.lang.reflect.Field | |
88a2bd6 glesv2debugger: Remove obsolete files. | |
25dfd79 Fix runtest local.prop handling. | |
3c4c9f8 Remove the GlobalTime sample app. | |
b4ce1c0 SDK: Support generating XML with new name/vendor attributes. | |
b707698 Adding the mock camera activity test to continuous test. | |
3d3d642 Fix UNKNOWN keycode parsing in monkey. | |
97e2d1b Use IO stream | |
2753baa Add volley target to runtest. | |
3619336 Remove old development settings. | |
f06c958 Merge "Projects whitelisted for Windows SDK compilation." | |
baa8e96 egl.cfg can now only have a single entry | |
770fc91 Update SharingSupport demo for support lib API change | |
de48b21 Fix isolated process demo to work with new restrictions. | |
37f02d8 New API demo for isolated processes. | |
8f3f77f Add cleaned-up filter framework, camera, gallery back to .classpath | |
432b5a2 Fix app bug, where some memory could remain uninitialized due to early exit. | |
0a94feb Win SDK: add ext4_utils to project whitelist. | |
d174a02 Put Email back into eclipse .classpath | |
936e648 Fix findunusedresources to handle package name different from path | |
3f733fd Classpath cleanup | |
6dd4b91 Make sure __u64 is defined even for strict ansi or -std=c99 | |
2b53ba5 Projects whitelisted for Windows SDK compilation. | |
8e78aab Organize imports to resolve ambiguous type errors. | |
a983c2a Update NFC samples. | |
e42979c ndk: Remove obsolete header and library files. | |
4ce026b Updating the monkey to use a dedicated UI test bridge. | |
0da366d Use Map.Entry, not LinkedHashMap.Entry | |
12db436 Increase default runtest -j to 16. | |
a39865a Update create_test to new android_mk API. | |
70c13b1 fix the layout oddness that occurrs in portrait mode | |
af4519e ndk: Fix ipv6 related headers | |
e56aece ndk: API level 14: Add C library symbol files | |
c835796 ndk: API level 12: Add ARM libc symbol files | |
7d8f5ae ndk: API level 11: Add libc.so + libm.so symbol files | |
485ea2e ndk: <sys/stat.h>: Add utimensat() to API level 12 | |
a58e760 ndk: arm: Update <asm/ptrace.h> and <asm/user.h> | |
21fc12d ndk: libc: Add RLIM_RTTIME to <asm-generic/resource.h> | |
fe012f5 ndk: <dlfcn.h>: dladdr() takes a 'const void*' parameter, not 'void*' | |
8e28627 ndk: <wchar.h>: Add wcscasecmp and wcsncasecmp for API level 11 | |
47c55f4 ndk: <unistd.h>: Update for API level 11 + minor cleanup | |
bca6402 ndk: <time.h>: Add new time functions to API level 11 | |
3970aef ndk: <stdlib.h>: Add mkdtemp() for API level 11 | |
fed3dfb ndk: <signal.h>: Increase _NSIG definition to 64 | |
aa566ea ndk: <sched.h>: Add cpu_set_t and related functions to API level 11 | |
bea0525 ndk: <sys/cdefs.h> minor update | |
e4f2528 ndk: <pthread.h>: formatting + updates | |
42dddab ndk: minor header update | |
15af16f ndk: minor update to <netinet/...> headers. | |
e0ff988 ndk: android-9: Add missing <sys/eventfd.h> header | |
e882d4c Catch IOException for close | |
95cbc9e Fix runtest for CTS Tests | |
8ad367c Rename LOG_ASSERT to ALOG_ASSERT DO NOT MERGE | |
e4ee58f Reference kernels in new location | |
07ffdd5 Reference kernels in new location | |
5a622cb Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
6aff44c Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
98f56b1 ndk: disable logs in release builds of native_app_glue library. | |
fc2aded Fix headers | |
cad4194 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
40b0530 Stripping out geometry data, but keeping names and references instead of removing all geometric data. | |
112bc5e Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
8787983 Fix build on MacOS 10.7 / XCode 4 | |
a64f05b Allow d.a.c. to serve SVG files | |
714e516 Update default project icons, and add an xhdpi version | |
1bc7aaf Add code sample for ShareCompat | |
a98b9f2 Revert "Revert "Update the media_profiles.xml file to include..."" | |
7fb8be5 Update mkstubs from ASM 3.1 to ASM 4.0 | |
031b92f Pass white balance and exposure compensation to webcam emulator | |
15ee96f Fising the build | |
31ef1de Revert "Add missing -lX11 on the link line." | |
6f00e7f Update supported frame sizes for fake camera | |
904f692 ndk: Fix <sys/atomics.h> declarations. | |
f347e62 New compute sample for simple image processing. | |
8dca56b Add missing -lX11 on the link line. | |
d79eab5 SDK: source.properties templates. | |
e27055b Fixing vector element alignment issues. | |
b3f32a8 Fix build | |
50ab613 Fix temperature sensor | |
25e3c21 ndk: ANativeActivity: Fix 'clazz' member documentation. | |
4216f99 Bug 5560527 Inject the keycode_0 to the wakeupscreen test activity to trun off the screen. | |
76bd108 SDK: update SDK to API 15 | |
e14b1a2 Native media sample app for NDK API level 14 | |
acf9553 Change the test to user the listener mechanism | |
0ece08b Import revised translations. | |
fb5178a SDK: updating android Windows USB Driver. | |
629719e Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
7d95585 Adding a code sample for using AccessibilityNodeProvider to report virtual Views. | |
94a55dd SDK: package fastboot in platform-tools on 3 OSes. | |
12c0b21 Added white balance settings to the camera Emulator. | |
f87d80f Updated the Monkey runner to reflect changes to some private APIs it uses. | |
project device/asus/grouper/ | |
project device/common/ | |
8ffd5f8 Restore crespo4g | |
0f62f63 Build libdrmdecrypt in a different environment - DO NOT MERGE | |
1dedf14 Generate output even in case of error | |
01bbc97 Remove unsupported devices | |
d06dd40 Allow packaging factory images from a separate bootloader file | |
d1b8c70 Clean up device list - do not merge | |
9cb1b4a Fine-tune the generation of factory images | |
7e33db5 Add grouper | |
6d820c3 Remove unused NTP_SERVER. | |
28b6c52 Ooops, override the right variable | |
36cbd9a Common part of the factory-image-generator | |
7e2521e Add manta | |
411fad5 Use parallel syncs. | |
b55ae8e Switch to blob lists. | |
1c4179c Add torospr | |
602a4b1 Move to plain file lists instead of complex scripts | |
9e47372 Restore parts that had been deleted by accident | |
4b57212 Improve self-extractor-generation scripts. | |
7837661 Force sort order to 'C' | |
51c5207 Revert "Cut support for crespo / stingray - do not merge" | |
project device/generic/armv7-a/ | |
project device/generic/armv7-a-neon/ | |
project device/generic/goldfish/ | |
f0397b6 copy files from development/data/etc to device/generic/goldfish/data/etc | |
985594c Remove obsolete dependency on libmedia | |
89845e0 emulator: Power HAL | |
eb15335 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
a450221 Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
project device/moto/stingray/ | |
cdb6b46 organize scripts with per-version sections to avoid merge conflicts | |
62d8f69 Update self-extractors for IMM76D | |
9586e8b Remove Camera package (it's merged into Gallery package). | |
44d8452 remove HAL_MODULE_INFO_SYM const | |
e7db86a auto-generated blob list | |
510dafd Remove old-style blobs handlers | |
109c006 auto-generated blob list | |
a141e38 auto-generated blob-handling scripts | |
456bad2 Self-extractors for IMM30D | |
c5efbc1 Simplify lunch menu | |
22da8cc add sideload-from-adb command to recovery menu | |
97ec2a4 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
de5d7ca Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
c909fa4 auto-generated blob list | |
56da0dd Remove old-style blob-handling scripts | |
c3b1680 Self-extractors for IML74K | |
b336720 Self-extractors for IML74G | |
6f94773 Self-extractors for IML74E | |
f9850da Self-extractors for IML74B | |
31ac44e Self-extractors for IML73 | |
c113dc3 Self-extractors for IML70C | |
567af05 convert stingray recovery UI to C++ model | |
52f5308 convert stingray recovery UI to C++ model | |
3ad07ed comment out references to ui_print | |
5e9abda MM/LTE Ril v6.5B | |
project device/moto/wingray/ | |
9bfb004 libaudio: add 12000 Hz capture sampling rate | |
3d459d1 Stingray: kernel prebuilt | |
b13767a fix for wingray PDK build | |
45af6f3 stingray: kernel prebuilt | |
5ede125 Update device for new location provider configs. | |
63b2db1 Only power-off option when long-pressing power button. | |
d7181aa stingray: kernel prebuilt | |
ebcf6f5 stingray: kernel prebuilt | |
600eac1 Remove background scanning | |
8d2cf3f Set sensible bitrate. | |
886ed23 Add FLAC encoder to the list of media codecs. | |
854a5b5 stingray: kernel prebuilt (netfilter, wifi,...) | |
26c2d42 Use the filesystem manager to mount and check filesystems | |
57ccb5e Updated media_profiles to standard bit-rates, added HE-AAC. | |
6f41842 Add USB audio HAL to the build | |
38301ec Update profiles for new AAC library / AAC-ELD | |
80c6fa6 Reduce /storage permissions to 0050. | |
46c1910 rename audio policy output flags | |
ee5fe4b audio: added usb audio hw module | |
e27cf1f Set ro.carrier=wifi-only | |
1a85e9a Organize external storage to enforce sdcard_r. | |
a8c2f0d stingray: kernel prebuilt | |
4d61699 stingray: kernel prebuilt | |
80937f8 stingray: kernel prebuilt | |
24cb787 stingray: kernel prebuilt | |
afc2371 organize scripts with per-version sections to avoid merge conflicts | |
fbe280c Update self-extractors for IMM76D | |
89f21de Allow user management on wing/stingray Settings | |
7072fc6 move hardware feature definitions | |
aa1cfaf wingray: update dalvik heap config location | |
7c1ce9e audio policy: added configuration file | |
701b4fb wingray: set density override to 160 | |
dc47516 wingray: set density override to 160 | |
af493c7 stingray: update kernel | |
729c92f Remove false references to frameworks/base | |
3f86360 fix the build | |
aaef81b stingray: kernel prebuilt | |
e8554db Prepare to move system/media | |
36ce859 audio policy manager refactoring. | |
a37d7bf stingray: update prebuilt kernel | |
b815680 Remove Camera package (it's merged into Gallery package). | |
18f0fb5 stingray: update kernel prebuilt | |
f71ba00 fix build. | |
ceb320b Media codecs are now dynamically configured. | |
916b3a2 stingray: update prebuilt kernel | |
0af3c16 stingray: update prebuilt kernel | |
8430267 Remove route setup from dhcp | |
da13957 stingray: update prebuilt kernel | |
bfffc47 auto-generated blob list | |
669bfc3 Add cleanspec entry | |
a282c73 Remove old-style blobs handlers | |
c323a8f Disable wi-fi direct | |
6d7a15b Fix support for USB ethernet adapters on Xoom | |
845dc77 Fix support for USB ethernet adapters on Xoom | |
d45af18 egl.cfg can now only have a single entry | |
47e9127 auto-generated blob list | |
a06872a auto-generated blob-handling scripts | |
0590381 Self-extractors for IMM30D | |
3515c42 stingray: Kernel prebuilt | |
7af1e29 Self-extractors for imm30b | |
6fc66bc Fix supplicant start | |
6c25462 split board-info.txt into AOSP and non-AOSP versions | |
bcdc1d6 stingray: wifi: Remove obsolete wifi.supplicant_scan_interval | |
7e468ef wingray: convert all usages of $prop to ${prop} | |
6ce04a0 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
12012f4 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
a94e75d Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
ca81990 auto-generated blob list | |
e26c4cf Remove old-style blob-handling scripts | |
8ecdc59 Self-extractors for IML74K | |
1560bdb Remove unnecessary config overlay settings. | |
9ca1d16 Self-extractors for IML74G | |
37da03a Self-extractors for IML74E | |
09ad89b Self-extractors for IML74B | |
152c106 Self-extractors for IML73 | |
aee5be4 Self-extractors for IML70C | |
872f5f4 Revert "Disable wi-fi direct" | |
5c118cb Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
project device/sample/ | |
f5fd423 Reorder Rogers/Chatr to prefer Rogers | |
72fa8fd disable java build for PDK case | |
efd95e1 remove false dependency on libandroid_runtime for PDK | |
e7365b8 Remove mifare feature from device/sample. | |
703dc05 [sample] change apns-full-conf.xml | |
beb7cfd Update Orange apns | |
ee4e8b0 Update Vodafone IT APN names. | |
4ae8c09 change apn | |
92cfc7b Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
6a65737 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
9fdbd11 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
project device/samsung/crespo/ | |
afdc44a Update board-info.txt | |
c19dd36 prebuilt kernel (GPU, flush CPU cache workaround) | |
f7625e5 Revert "Add missing top level dependency for crespo libdrmdecrypt DO NOT MERGE" | |
f9abc11 auto-generated blob list | |
f08bab5 Add missing top level dependency for crespo libdrmdecrypt DO NOT MERGE | |
da0d2b9 Remap SEARCH key to ASSIST. | |
907fa55 libaudio: add 32000 Hz capture sampling rate | |
d3cffa5 prebuilt kernel (ext4 fix, wifi fixes) | |
e3fb64c prebuilt kernel (reduce unused FIMC1 buffers) | |
ff0da21 Decrease UI sound levels | |
97495d4 prebuilt kernel (ddk version number change only) | |
2084d15 Camera: Fix crash when cancelling autofocus outside of preview. | |
5bf3edc prebuilt kernel (USB audio fixes, rild perf workaround) | |
0326aaa prebuilt kernel (USB audio fixes, rild perf workaround) | |
2d76a06 Camera: Fix crash when cancelling autofocus outside of preview. | |
78897c5 Update device for new location provider configs. | |
ad917f1 crespo: kernel prebuilt | |
2372657 Set sensible bitrate. | |
fc3477b libhwcomposer: VSYNC_ACTIVE ioctl -> VSYNC_INT | |
73c3d77 prebuilt kernel (s3cfb VSYNC_INT ioctl fix) | |
c41743a Enable EGL hibernation on crespo | |
7527363 prebuilt kernel (DDK 1.8@905891) | |
0ed63d6 prebuilt kernel: wimax fix, ipv6 crash fix | |
5a5aa8e prebuilt kernel: wimax fix, ipv6 crash fix | |
3d779cc Adjust output to 2 buffers of 880 frames each | |
8fa0377 Add FLAC encoder to the list of media codecs. | |
2b749a4 prebuilt kernel update (mergedowns 3.0.31, netfilter, cpufreq, ...) | |
2db43af prebuilt kernel (DDK1.8@900138, merge from common up to 3.0.28) | |
db6230d Use the filesystem manager to mount and check filesystems | |
ab79c91 Updated media_profiles to standard bit-rates, added HE-AAC. | |
8c72ced enable triple buffering on crespos | |
1e50ab9 Add USB audio HAL to the build | |
58346d8 Update profiles for new AAC library / AAC-ELD | |
848f271 crespo libhwcomposer: handle vsync uevents | |
cb3eb57 crespo libhwcomposer: keep window 2 open | |
e63af0a prebuild kernel update (vsync, sched_trace) | |
f50a346 add a board config variable to disable 3x buffering | |
fe3ccce Reduce /storage permissions to 0050. | |
e26771a prebuilt kernel update (DDK 1.8@873556, netfilter, wifi) | |
d526098 rename audio policy output flags | |
c90b74d Simplify board-info for 4.0.4 | |
0ca5e27 Move Mifare feature to frameworks/native. | |
16af72a crespo: kernel prebuilt | |
d057d9d crespo: kernel prebuilt | |
b97b5bd update nfc path | |
cbd6918 kernel prebuild update (wifi, wimax, ...) | |
53c66bd Remove unused NTP_SERVER. | |
f8f5a19 Organize external storage to enforce sdcard_r. | |
0ef2975 libcamera: remove unused fimc_v4l2_s_ext_ctrl function | |
eda76f2 kernel prebuild (gpu: enable MMU pagetable write-protection) | |
acd7250 kernel perbuild update (DDK 1.8@869593) | |
ed5609f kernel prebuild update (enable XFRM for userland) | |
d6ba9f3 kernel prebuild update (mostly wifi and fimc fixes) | |
30a4fe1 Generate sojua and sojuk factory images in addition to soju | |
8834bb5 crespo: kernel prebuilt | |
fea11b2 crespo: kernel prebuilt | |
6ddbd8e kernel prebuild update (disable oprofile, enable perf) | |
cef7c03 crespo: Kernel prebuilt | |
5cd7e86 organize scripts with per-version sections to avoid merge conflicts | |
308dbe9 Distributables for IMM76D | |
ccc62ab move hardware feature definitions | |
b815eee crespo: prebuilt kernel | |
c7db296 crespo: update dalvik heap config location | |
7cd5cbe audio policy: added configuration file | |
cf8b12b kernel update (mostly: KSM, wifi, gpu:pvr:disable MMU write-prot) | |
0c32ada kernel update (mostly: KSM, wifi, gpu:pvr:disable MMU write-prot) | |
b3e372f Remove obsolete dependency on libmedia | |
5795042 crespo: start KSM on boot | |
f49a0a4 Kernel prebuild update (mostly DDK 1.8@840215 and wifi) | |
89d216e Prepare to move system/media | |
8174ff4 Switched to use header files from /frameworks/native | |
6804c66 audio policy manager refactoring. | |
c9316f0 Remove Camera package (it's merged into Gallery package). | |
fa61d0e prebuilt kernel update | |
aed5c95 crespo: prebuilt kernel | |
0c323f3 remove HAL_MODULE_INFO_SYM const | |
21a850d We now dynamically configure available media codecs. | |
81e7367 crespo: prebuilt kernel | |
7ae3620 crespo: prebuilt kernel | |
594566c remove uneeded dependency on libsurfaceflinger_client and libbinder | |
c249ff9 remove dependency on android_native_buffer.h | |
78f17c0 Remove ANAVMID EEPROM values. | |
6b99e6a crespo: prebuilt kernel | |
77800b3 Remove route setup from dhcp | |
4cdeceb auto-generated blob list | |
f48c08f Remove old-style blobs handlers | |
eb85be2 Fix supplicant start | |
dfc9a97 egl.cfg can now only have a single entry | |
8addb43 Do not use MediaDebug in libstagefrighthw. | |
dbdc778 Reduce NFC-DEP target timeout in ATR_RES to 8. | |
2c4616c Self-extractors for IMM30D | |
ea648a2 kernel prebuild update (mostly bcmdhd) | |
da87da6 Fixed some race condition in OMX_Init and OMX_Deinit calls | |
1232ac7 new kernel + wifi prebuilt | |
9c9480f Self-extractors for imm30b | |
942f348 crespo: Kernel prebuilt | |
b61fc77 Fix misspelled symbol name. | |
1171489 wlan: Fix tethering interface name | |
db0763d Fix the incorrect min bit rate setting for AMR NB. | |
14d7e18 wlan: Switch to CFG80211 | |
ca7d879 Fix build warning on uninitialized field avail_min | |
dee850c split board-info.txt into AOSP and non-AOSP versions | |
148c245 Fix SEC-OMX, for resolve two bugs. | |
17e987e crespo: wifi: Remove obsolete wifi.supplicant_scan_interval | |
e06d496 crespo: convert all usages of $prop to ${prop} | |
982fc24 add sideload-from-adb command to recovery menu | |
b1fef0d Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
21d2b1e Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
0edef62 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE | |
4493042 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
9ba8664 auto-generated blob list | |
06e019b Remove old-style blob-handling scripts | |
96a318f kernel + wifi prebuild update | |
f77f6df Remove libaudioutils, now in core | |
787a346 Self-extractors for IML74K | |
3c69a92 Self-extractors for IML74G | |
9f357c0 Self-extractors for IML74E | |
96ec529 Self-extractors for IML74B | |
aacb238 Self-extractors for IML73 | |
bc38bf8 Self-extractors for IML70C | |
f9b9570 Remove explicit desk dock orientation. | |
bcf3729 Fix broken build due to transition to ALOGV instead of LOGV | |
affccc0 convert crespo recovery UI to C++ model | |
eee3aab convert crespo recovery UI to C++ model | |
fc4d704 Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
4539e6b kernel + wifi prebuild update (DDK 1.8@300406) | |
project device/samsung/crespo4g/ | |
b0301b2 Update board-info.txt | |
4d8f81a auto-generated blob list | |
05312df Add "config_cellBroadcastAppLinks" to Crespo 4G overlay. | |
acb481a Revert "Turn Wimax off for the weekend build" | |
3840606 Revert "Turn Wimax off for the weekend build" | |
4387612 Use the filesystem manager to mount and check filesystems | |
fbe7d94 Reduce /storage permissions to 0050. | |
4a666bb Only list the 4.0.4 versions. | |
e73ead8 Remove unused NTP_SERVER. | |
1c47e25 Organize external storage to enforce sdcard_r. | |
a638a56 Package 4.0.4 images | |
1bfa550 Use the common implementation of the factory-image-generator | |
ec8c138 Generate factory-image package for sojus. 2.3.7 for now. | |
c35ffb8 organize scripts with per-version sections to avoid merge conflicts | |
0422104 Update self-extractors for IMM76D | |
d3bccde move hardware feature definitions | |
1652979 Turn Wimax off for the weekend build | |
bed58e2 Turn Wimax off for the weekend build | |
c948783 crespo4g: start KSM on boot | |
a081117 Update for new sprint radio | |
7c8b4c8 Remove Camera package (it's merged into Gallery package). | |
b498991 auto-generated blob list | |
49fa6f4 Remove old-style blobs handlers | |
e04eaaa Self-extractors for IMM30D | |
6bb4553 Simplify lunch menu | |
dff48fe wlan: Switch to CFG80211 | |
c0fbddf split board-info.txt into AOSP and non-AOSP versions | |
42ba798 auto-generated blob list | |
eb6ab69 Remove old-style blob-handling scripts | |
ef1feec Self-extractors for IML74K | |
fa08cfa Self-extractors for IML74G | |
36650ca Self-extractors for IML74E | |
8c03f7a Self-extractors for IML74B | |
725a456 Self-extractors for IML73 | |
f1270e6 Self-extractors for IML70C. | |
project device/samsung/maguro/ | |
33c5f33 Update board-info.txt | |
2730dc9 We should not auto convert multiple SMS to MMS messages | |
5eb91bb Only list the exact 4.0.4 versions | |
abf5a1a Add takju | |
8d3fceb organize scripts with per-version sections to avoid merge conflicts | |
4555fd1 Updated copyright/license for broadcom | |
0c5d1eb Update extractor scripts to IMM76D | |
2311cb2 require bootloader PRIMELC03 | |
89a35e7 move hardware feature definitions | |
9c33a4c Add broadcom license. Go back to IML74K. | |
0d26d4a Remove Camera package (it's merged into Gallery package). | |
fcaf8ef require bootloader PRIMELB02 | |
748cf6e auto-generated blob list | |
cec5432 Remove old-style blobs handlers | |
423cd87 Self-extractors for IMM30D | |
15bdcae Restrict the list of acceptable prerequisites | |
b2fba58 Self-extractors for imm30b | |
820a131 require bootloader LA03 | |
7126957 pvrsrvinit -> pvrsrvctl | |
19c62c3 auto-generated blob list | |
5e7e03f split board-info.txt into AOSP and non-AOSP versions | |
4351ff1 Move installation of fRom to /system/vendor | |
9e31844 Require bootloader PRIMELA01 | |
bbb0a0c Rename the makefiles used in self-extractors. | |
a10d8c2 Improve makefiles of distributable packages | |
4d9b9c4 auto-generated blob list | |
7550dcc Remove old-style blob-handling scripts | |
f898086 Self-extractors for IML74K | |
078a0b0 PRODUCT_RESTRICT_VENDOR_FILES=true for full_maguro | |
7c3e113 Self-extractors for IML74G | |
6587fbc Self-extractors for IML74E | |
a56f053 Add a CleanSpec | |
487230b Self-extractors for IML74B | |
e6bdcd4 Self-extractors for IML73 | |
ca58ed8 Self-extractors for IML70C | |
e5b8445 Generate downloads for icl53f | |
87048e3 Use the right sequence number for ITL41F | |
9ffd74a Generate factory images for itl41f | |
72aa63e Generate self-extractors for ITL41F | |
5afdd84 Package factory images for distribution | |
b3bc352 Also allow the MR0 baseband in AOSP - do not merge | |
project device/samsung/toro/ | |
e6b22a1 Update board-info.txt | |
3f4cf90 Add "config_cellBroadcastAppLinks" to Toro overlay. | |
d25b64b toro: overlay: fix Ethernet support | |
14f42c5 Only list the latest version (toro is unsupported in AOSP) | |
72919ab We should not auto convert multiple SMS to MMS messages | |
c34c9f5 Update for CDMA version FC04 | |
240700a DO NOT MERGE: Update for CDMA version FC04 | |
e045bf4 Update board-info.txt for new lte and cdma radios. | |
a085c4f DO NOT MERGE - Update board-info.txt for new lte and cdma radios. | |
94d72b9 Update for radio-cdma.I515.FC02 | |
90bd587 Update for radio-cdma.I515.FC02 | |
e62f03e DO NOT MERGE - Update for CDMA FC02 | |
f504ab3 organize scripts with per-version sections to avoid merge conflicts | |
1d7e931 Add proprietary blob to the distributable packages | |
080c9d1 Updated copyright/license for broadcom | |
243a9b2 Update distributable packages for IMM76D | |
ab12389 require bootloader PRIMELC03 | |
d7e6f64 move hardware feature definitions | |
ec28d99 Add broadcom license. Go back to IML74K. | |
855a5f9 auto-generated blob list | |
ae245eb Remove Camera package (it's merged into Gallery package). | |
407a55a require bootloader PRIMELB02 | |
8c1afe4 auto-generated blob list | |
e7156eb Remove old-style blobs handlers | |
58b1808 Self-extractors for IMM30D | |
3982c25 Simplify lunch menu | |
58d4b28 require bootloader LA03 | |
213fa4b pvrsrvinit -> pvrsrvctl | |
0b04795 auto-generated blob list | |
63d5f7e split board-info.txt into AOSP and non-AOSP versions | |
3f87a66 Prepare self-extractors to deal with two toro variants | |
3c615aa Move installation of fRom to /system/vendor | |
cabcac3 Require bootloader PRIMELA01 | |
70093fc Update toro self-extractors to new style | |
91acdf7 auto-generated blob list | |
cf60a3e Remove old-style blob-handling scripts | |
7752139 PRODUCT_RESTRICT_VENDOR_FILES:=true for full_toro | |
3d92021 Self-extractors for IML74K | |
a35ed79 Self-extractors for IML74G | |
9fa6834 Self-extractors for IML74E | |
fc33e80 Self-extractors for IML74B | |
37c59c4 Self-extractors for IML73 | |
0c1a5ae Self-extractors for IML70C | |
43613c4 wifi: Add calibration parameter to avoid 5GHz FEM Damage | |
a72cb82 Generate factory package for icl53c | |
f0fb3ee wlan: Update calibration file | |
5cf7945 Package factory images for toro | |
project device/samsung/torospr/ | |
aeba866 move hardware feature definitions | |
9564ba1 auto-generated blob list | |
b0ef3af Remove Camera package (it's merged into Gallery package). | |
306fd7f auto-generated blob list | |
f48ed3a Remove old-style blobs handlers | |
029811e Simplify lunch menu | |
5d3f101 auto-generated blob list | |
project device/samsung/tuna/ | |
cc170b7 tuna: kernel prebuilt | |
d0bb949 tuna: prebuilt kernel | |
2cbfd06 audio: fix in call audio path switch issue | |
67fde1a tuna: prebuilt kernel | |
25003bb tuna: prebuilt kernel | |
8b30685 audio: add 24000 Hz capture sampling rate | |
0b2b471 restrict /dev/dsscomp permissions | |
78081e5 tuna: kernel prebuilt | |
d84a8f8 audio: workaround for hdmi multi channel swap | |
3cbd1d4 tuna: prebuilt kernel | |
5e57291 tuna: prebuilt kernel | |
f8db617 New kernel prebuilt | |
4bf3d14 audio: add support for multichannel HDMI | |
8a1d4ed enable maguro PDK build | |
7724be5 tuna: kernel prebuilt | |
857594c tuna: prebuilt kernel | |
e7cc5bd tuna: specify key behavior for sii9234 numeric keypad | |
370d0c3 Update device for new location provider configs. | |
7cd304e Enable 5.1 AAC for tuna. | |
dc85a71 tuna: prebuilt kernel | |
007efa2 tuna: prebuilt kernel | |
51b2bc4 new kernel prebuilt | |
e804033 tuna: prebuilt kernel | |
219848f tuna: kernel prebuilt | |
7a44825 tuna: kernel prebuilt | |
5e2d6ee tuna: prebuilt kernel | |
359a416 audio: variable deep buffer size | |
69c1b18 new kernel prebuilt | |
8343e2f tuna: prebuilt kernel | |
a04bead tuna: Power HAL: Boost pulse CPU speeds on POWER_HINT_INTERACTION | |
4a1d1b0 tuna: prebuilt kernel | |
589b709 new kernel prebuilt | |
d6cc09e audio: fix media volume issues. | |
6366a3f Add FLAC encoder to the list of media codecs. | |
b694faf tuna: prebuilt kernel | |
54d7ec5 tuna: init.rc: add dhcpcd_eth0 service | |
f941dd2 tuna: overlay: fix ethernet support | |
6db83b3 tuna: prebuilt kernel | |
d99f286 tuna: prebuilt kernel | |
d27d66a tuna: remove triggering suspend from power hal | |
e5c8369 new kernel prebuilt | |
51f0e9c tuna: prebuilt kernel | |
97f3dcc tuna: kernel prebuilt | |
079bd66 audio: fix memory leak. | |
9e45c29 tuna: kernel prebuilt | |
a2dc21a tuna: prebuilt kernel | |
98fb2f5 Use the filesystem mounter to mount and check filesystems | |
4e7a573 audio: add support for deep PCM buffering | |
d0a7e7a tuna: prebuilt kernel | |
90d9cc5 keymaster: set delete_all to NULL | |
8acb868 Updated media_profiles to standard bit-rates, added HE-AAC. | |
ecc13f4 tuna: Power HAL: min sample time to 60ms, go hispeed load to 50% | |
c059339 tuna: Power HAL: Enable touchscreen input boost | |
221c3d1 tuna: Power HAL: turn off VSYNC power hint | |
47623d4 Adjust output buffer size and sample rate | |
3f762e3 tuna: prebuilt kernel | |
6930c8e tuna: Power HAL: Add version 0.2 | |
e834192 Add USB audio HAL to the build | |
d27e136 Update profiles for new AAC library / AAC-ELD | |
ef7439f tuna: Power HAL: Add VSYNC power hint -- DO NOT MERGE | |
aae0bb3 tuna: prebuilt kernel | |
6a79c6c Only use QVGA for mms in timelapse. | |
2e65359 Reduce /storage permissions to 0050. | |
33b692c tuna: prebuilt kernel | |
a783372 tuna: Power HAL: Set 100ms delay for moving above CPU 700MHz | |
d5b9786 tuna: prebuilt kernel | |
cdfaf83 rename audio policy output flags | |
7233787 new audio device API version. | |
cb8ba82 tuna: prebuilt kernel (locally built) | |
baa3585 tuna: prebuilt kernel | |
be67b67 Revert "tuna: prebuilt kernel (locally built)" | |
9dea725 tuna: prebuilt kernel (locally built) | |
2ec60c6 tuna: kernel prebuilt -- DO NOT MERGE | |
3505f7c Move Mifare feature to frameworks/native. | |
6bd5949 tuna: prebuilt kernel | |
ae0717d update nfc xml path | |
095e19a tuna: Add Power HAL | |
139959c audio: add dual mic support for pre processing | |
c3c9892 Remove tracing setup from init.tuna.rc. | |
415a179 Remove unused NTP_SERVER. | |
6ad18b6 Organize external storage to enforce sdcard_r. | |
2c80c7e tuna: prebuilt kernel | |
8cd0e4b new kernel | |
a18f3a2 tuna: kernel prebuilt | |
4af56bf Add sii9234 rcp keymap | |
b74801d Remove keystore.tuna.so from product build | |
792edf5 Remove keystore.tuna.so from product build | |
3dbd45a audio policy: added configuration file | |
915f5d0 audio: fix audio drop when speaker is selected 2. | |
2e879fc tuna: kernel prebuilt | |
22ab522 audio: fix error in capture path delay calculation | |
d08cb98 [Tuna] Add product specific definition to HDCP symlink | |
764ea44 tuna: kernel prebuilt | |
20ed985 tuna: kernel prebuilt | |
e862c9d tuna: prebuilt kernel | |
ae8408a tuna: prebuilt kernel | |
a5e1f12 tuna: kernel prebuilt | |
7d863c7 Add implementation of keymaster for tuna | |
01a2041 require bootloader PRIMELC03 | |
13dbe6c Allow user management in Settings for this device | |
4284270 move hardware feature definitions | |
1a7f789 Change dumpstate.h include path from frameworks/base to frameworks/native | |
24cabba tuna: prebuilt kernel | |
2e2b60b tuna: update dalvik heap config location | |
5b9819c tuna: kernel prebuilt | |
db6fb53 tuna: prebuilt kernel | |
9063d5e audio_channel_in_mask_from_count | |
b45f8eb tuna: kernel prebuilt | |
9168291 Prepare to move system/media | |
f64ebfa tuna: prebuilt kernel | |
9de9cad new kernel prebuilt | |
c9f1f56 new kernel prebuilt | |
2e1364e Remove Camera package (it's merged into Gallery package). | |
14a155c tuna: prebuilt kernel | |
0a84285 require bootloader PRIMELB02 | |
56222bf tuna: prebuilt kernel | |
8e50e80 lights: remove HAL_MODULE_INFO_SYM const | |
d8edac6 Codec components are now dynamically configured. | |
a699b9e tuna: prebuilt kernel | |
44e164b Remove route setup from dhcp | |
db654ff Remove ANAVMID EEPROM values. | |
18b7ded new kernel prebuilt | |
2848155 tuna: prebuilt kernel | |
600c52d tuna: prebuilt kernel | |
040efa4 init.rc: set things up for tracing | |
d175d9b new kernel prebuilt | |
d64d297 tuna: new kernel prebuilt | |
7baaa86 Fix memory leaks | |
46c7365 Add support for concurrent operation | |
b74f97a egl.cfg can now only have a single entry | |
599cf9c Reduce NFC-DEP target timeout in ATR_RES to 8. | |
ea632a6 tuna: Kernel prebuilt | |
6fa3e04 enable WAITFORVSYNC | |
1944c3f new kernel prebuilt | |
7afa32c Import translations. DO NOT MERGE | |
8a3262c Mark locale-neutral configuration strings translatable="false" | |
9de99f3 Fix incorrect min bit rate setting for AMR NB audio recording | |
465056c require bootloader LA03 | |
4ccf272 require bootloader LA02 | |
b963756 Use audio_format_t consistently | |
c8bb333 new kernel prebuilt | |
4a43539 split board-info.txt into AOSP and non-AOSP versions | |
10e3032 tuna: prebuilt kernel | |
e58be4e Turn off execute bit | |
cc703a6 tuna: convert all usages of $prop to ${prop} | |
d9733c4 Use audio_mode_t consistently | |
b66d968 Create /data/radio directory in post-fs-data section | |
9dc151a tuna: wifi: Remove obsolete wifi.supplicant_scan_interval | |
e3e7ab3 new kernel prebuilt | |
995ab74 add sideload-from-adb command to recovery menu | |
de11e11 Require bootloader PRIMELA01 | |
87efd3f Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
c0212a2 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
16d7059 Remove libaudioutils, now in core | |
1d6ed5a Clean up lunch menu | |
9f9c31b Get the kernel from ITF41F - do not merge | |
d3bf1fb Import revised translations. | |
247155b Revert AOSP to the MR0 kernel - do not merge | |
5e49422 Clean up lunch menu | |
5d52b35 audio: delete unused ril-client API. | |
8e912e3 new kernel prebuilt | |
466f531 Import revised translations. | |
418447e convert tuna recovery UI to the new C++ model | |
c946e8d convert tuna recovery UI to the new C++ model | |
6bf5009 Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
40489ac Import revised translations. | |
project device/ti/panda/ | |
9cd9cd2 Set sensible bitrate. | |
f39713c Use the filesystem manager to mount and check filesystems | |
8fceda2 Reduce /storage permissions to 0050. | |
b1bd16d rename audio policy output flags | |
c639b12 audio: update to new audio HAL device API. | |
b9cab25 Organize external storage to enforce sdcard_r. | |
0e75057 audio policy: added configuration file | |
cbe92e6 move hardware feature definitions | |
a7e22f9 panda: update dalvik heap config location | |
67bc508 Prepare to move system/media | |
005d3db Panda: Clean up the readme for Panda | |
66a3a11 Update documentation: audio is now working | |
6512433 Panda: Add a lunch option for userdebug | |
c752589 New PandaBoard bootloader | |
793defd PandaBoard prebuilt kernel | |
c74d0c7 auto-generated blob list | |
015b1b5 Remove old-style blobs handlers | |
2694781 egl.cfg can now only have a single entry | |
e532a40 Panda: Bluetooth: Add TI bluetooth firmware to panda | |
f7ff7b4 PandaBoard prebuilt kernel | |
3b160d0 Enable DHCP on eth0 during init. | |
f0ee15a [Panda] Make bluetooth available for Panda | |
a42c412 [Panda] Add boot initialization for Bluetooth components | |
3bc554a [Panda] Add device specific overrides for bluetooth | |
d842aec [Panda] Add bluetooth permission file | |
3744626 PandaBoard prebuilt kernel | |
cbd4fae Use new logging macro names | |
a6b213b LOG -> ALOG | |
ca19166 [Panda] Enable board specific audio HAL | |
a09009f [Panda] Add OMAP4 audio support for Panda | |
92996ed PandaBoard kernel prebuilt | |
3e6cfe6 panda: convert all usages of $prop to ${prop} | |
b93702f auto-generated blob list | |
fa804b2 Remove old-style blob-handling scripts | |
63b6b67 Updated usbboot that recognizes PandaBoard ES | |
83c631f PandaBoard kernel prebuilt | |
d5e4b51 Updated bootloaders that work on PandaBoard ES. | |
ccb1ba2 Panda kernel prebuilt | |
a38e069 Panda kernel prebuilt | |
5c8fc62 Remove libaudioutils, now in core | |
871cc85 Updated panda kernel | |
bc5ee76 Updated kernel | |
7a72ed1 Add a flag to use panda-specific gfx libs | |
2e0d124 update documentation | |
3caf3cb Point to the proper wifi makefile | |
c9f833a Enable wifi-related build config flags | |
b62237f Update README with notes on getting proprietary binaries. | |
a901e68 Temporarily disable WPA-related options | |
59ff61e Update for copying in WiFi firmware files | |
a57759f Add frimware files for wl1271 Wi-Fi chip | |
ba3238e Changes for enabling Wi-Fi on panda board | |
58ab99e New panda kernel prebuilt. | |
b851c91 Set size of cache partition | |
7ded373 New panda kernel prebuilt | |
7ce388c Add the proper license for binary packaging | |
1b4349e Add audio libraries to panda | |
94dd5b3 Panda: Fix the model and the manufacturer | |
c3908e8 Panda: Update the USB rc file for the VID/PID | |
52d454a Add permissions for video components | |
5b36f6c Remove kernel cmdline | |
929fb99 Add hwcomposer HAL to the device make | |
project docs/source.android.com/ | |
c3cee19 fix version number for older security features | |
be8b5b2 security: update Memory Management Security section | |
358da47 security: update docs | |
2b32638 Update the SHA-1 for repo. | |
f7fd0e8 Mention takju along with yakju | |
66426b3 Link to the new locations for Nexus binaries | |
f1694d3 Document known issues with TCP/IP settings | |
6c032a9 Document DNS issues | |
c97e885 Document VirtualBox network settings | |
50fc5ad Document build issues related to uncommon tool behaviors | |
51489a6 Document build issues related non-default compilers | |
b176fae Document that Galaxy Nexus doesn't have support for all the hardware | |
993d0b8 Document how to build the master branch for devices. | |
7d2ff82 Document known issue with false antivirus positives. | |
8eef6f4 Document the workaround for make snod on emulator builds | |
dfce7fc Document workaround for network issues | |
60c8141 Switch to https for most links | |
6ec0d89 Restrict possible radio versions. | |
2a179c3 Refine lists of version numbers | |
822f529 Mention Google Play instead of Android Market | |
c173c70 Add links to Gerrit | |
f6bacdc Remove notes about fixing a kernel header | |
0318a19 Clarify the list of factory images that are available | |
015de9c Document the emulator issue on MacOS 10.7 / XCode 4. | |
aa73c4f Add 4.0.4 to the list of builds | |
3aec3f4 Assume the location of the out directory | |
18dea52 Remove support for building with 32-bit Ubuntu | |
26ff704 Mention a few other projects where we basically only ever take upstream patches. | |
1cbb5ed Adding a PDF version of the Corporate CLA. Pretty much every submitter prints and faxes/emails this, so we might as well make life a little easier for them. | |
fc3d3c1 Make 3.82 is ok for ICS and beyond | |
e0cec46 Data Usage Docs in Android 4.0 for Systems Integrators. | |
8aae4f4 Recommend full_panda-userdebug for PandaBoard | |
4d4bd3a using-eclipse: fix typo | |
7553981 Remove references to gitweb from `submit-patches` | |
0190249 Fix branch creation example | |
c2680b7 Documentation: add JDK configuration note | |
8b4db15 Add usbboot rule for panda in 51-android.rules | |
7929ddf Add notes about building kernels | |
eef0004 Add notes about building on Ubuntu 12.04 | |
00e60e1 fix bullet point | |
9b6c876 update user manual revision to r2 | |
035b076 CDD update for Android 4.0.3 | |
9aaa52a Add instructions for fastboot on pandaboard | |
26d7fd0 fix broken format | |
388b7af Clarify that the CDMA situation is AOSP-specific | |
482fc88 updated version name missed | |
5003420 version update for downloads | |
0fc4d1d document update for media files. | |
cb33af6 Updated Android 4.0 CDD. Changes include updates for SDK level-15, optional NFC-V requirement and PAR ration in range of 0.9-1.1. | |
ee6360b Link to new privacy policy. | |
eca69c0 Remove mentions of CDMA devices | |
543b03f Add new key mappings from ICS MR1. | |
0ac7115 Revert "Merge "Known issue: can't repo upload"" | |
df3931c Known issue: can't repo upload | |
fd5f79e link to security faq page. | |
0e3ee32 Point to new Gerrit location | |
9171436 Use a better fix for 32bit x11 libraries on 11.10 | |
8d77794 Update the docs for ICS. | |
76adec6 Add instructions for creating mirrors | |
cb81c79 Add IML77 | |
2e2de67 Add section about using authentication to access AOSP | |
57a7910 Document some known workarounds for network issues | |
9d600e6 Clean up table of version numbers. | |
dc6e9ca Add known issue about cts-native-xml-generator | |
4c07af9 Add a section for known issues | |
93afea9 Clarify the process to manage devices with AOSP. | |
8bb9cf3 Add note about allowed versions of Make | |
42064a9 Gingerbread CTS r11 and update to the current branch on development page | |
a842527 Add CTS 4.0.3 Links | |
1a408da Increase max HD requirement to 90GB. | |
61142cb Add versions 4.0.1_r1.1 and 4.0.2_r1 | |
c95d7e6 IML74G -> IML74K | |
31cabc2 Add mention of toro | |
e6149c4 USB VIDs/PIDs for Xoom | |
70c6fbc 4.0.3 is now IML74G | |
f34289f 4.0.3 is IML74E | |
35f5101 Update for 4.0.3, Xoom, etc... | |
bdac766 Add support for sidebar3.md, and do general cleanups | |
91b9bab Provide `git clone` commands for kernel sources | |
34e9812 Add notes on using ccache | |
93b7626 Fixed links and the current CTS version | |
5f2afb1 Tweaks: new repo checksum, python version | |
59de1c2 Updated user manual and overview to point to 4.0 CDD | |
80fe839 New versions | |
56c7e22 add ASLR. | |
590a9d6 Add section on input devices. | |
6881b2c ICS CDD changes - Current, download and Nav link for sidebar | |
ec62033 Add USB IDs for PandaBoard. | |
49e1d83 Add libGL fix for Ubuntu 10.10 | |
f259650 Add alt attributes | |
7ecc607 Allow reuse of port 8080 | |
69835fd Update info for building on Ubuntu | |
3e466b0 Prepare ICS release. | |
b086324 Make note about .dmg.sparsefile extension | |
8b20337 Mention 2.3.6/2.3.7 as preferred versions for GB AOSP work. | |
64175aa Repo init must be on a case-sensitive filesystem. | |
c46da01 refine language around XCode and gcc versions | |
e68d2e4 Add packages to install for Ubuntu 11.10 | |
933c854 Remove instruction to add deb-src... lucid partner | |
9682628 Document that XCode 3.1.4 is required. | |
aeac48d Add mention of 2.2.3 | |
project external/aac/ | |
project external/antlr/ | |
324c464 Add full source for antlr project (version 3.4) | |
project external/apache-http/ | |
b975b95 Advertise HttpURLConnection in DefaultHttpClient. | |
719e149 Remove incorrect doc comments. The scheme registry may not be null. | |
project external/astl/ | |
0a397b4 Remove libs from static library modules. | |
project external/bluetooth/bluez/ | |
e73c02b Don't return a fallback value for Alias property of BT device. | |
635699a fix gpl build | |
99226bc audio: update to new audio HAL device API. | |
6c25fc5 send extra UUID property change notifications to help the upper layers change state | |
d6ae61e fix GPL build | |
3cd3a11 audio: use common string for A2DP sink address | |
141398b send extra UUID property change notifications to help the upper layers change state | |
62215e2 audio: fix wrong latency reported by audio HAL | |
d0cbf94 Use audio_mode_t consistently | |
80e611b Use audio_format_t consistently | |
6934b76 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
ae2da65 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
6ad49c1 Add missing LOCAL_MODULE_TAGS | |
999d00b Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
project external/bouncycastle/ | |
89b880f Added CertBlacklister. | |
c3ca927 Restore AuthorityKeyIdentifierStructure and SubjectKeyIdentifierStructure for Polo | |
e8ed366 Blacklist Digicert Malaysia intermediate CA | |
8dfe782 Blacklist two additional DigiNotar intermediate CAs | |
d1f1330 Add Chrome-style public key blacklist to CertPathValidator | |
project external/bzip2/ | |
c1e644e [MIPS] Only use prebuilt NDK libraries for ARM | |
project external/checkpolicy/ | |
project external/chromium/ | |
4534048 DO NOT MERGE Work around for use-after-free cert bug | |
86e0fcf DO NOT MERGE Convert exit calls to abort for Android | |
4f83513 Properly clean an exception to prevent a crash | |
d473d7a Disable TLSv1.2 and TLSv1.1. | |
fb29283 Disable TLSv1.2 and TLSv1.1. | |
7311583 Make SSL_CIPHER_get_id definition conditional on OpenSSL version | |
b2197ca Tracking openssl-1.0.1 upgrade | |
a7dee89 Import content and address detector support | |
4f3a742 Append client parameter to AutoFill server requests. | |
940e47a Fix for bug 5152544, remove warning from chromium port | |
6aec04f Part of fix for bug 5584571 Add HTTP request header with app name | |
ae2796c Part of fix for bug 5523834, backporting cache fixes | |
ea38098 Part of fix for bug 5523834, backporting cache fixes | |
d129b9e Part of fix for bug 5523834, backporting cache fixes | |
0a9239c Part of fix for bug 5523834, backporting cache fixes | |
7d2c383 fix for bug 5454586, fix up getDbThread() | |
project external/chromium-trace/ | |
project external/cibu-fonts/ | |
project external/clang/ | |
094004c Update README.android. | |
28c9e57 Migrate external/clang to CLANG-155088-20120419. | |
ab8f4da Changed title. | |
f7736ea Changed wording of availability. | |
b75f8de modern objective-c translator: Fix writing a spurious 'static' into the wrong place when rewriting a static function which declares block literals. // rdar://11275241 | |
eb382ec Implements boxed expressions for Objective-C. <rdar://problem/10194391> | |
13bffc5 PR 12586: Fix assert while running libc++ testsuite: deal with exception specifications on member function templates of class templates and other such nested beasties. Store the function template from which we are to instantiate an exception specification rather than trying to deduce it. Plus some additional test cases. | |
103f41d Revert some Hexagon builtin commits to match reverts done to LLVM in r155047. See the LLVM log for the primary motivation: http://llvm.org/viewvc/llvm-project?rev=155047&view=rev | |
a2c91e7 objective-c: Issue diagnostic when an implicit property accessor (getter) missing, instead of crashing. // rdar://11273060 | |
0ddb097 Suppress -Wunused-variable warning in -Asserts build | |
d448ce0 VerifyICE: Pass PartialDiagnostics by reference. | |
8b2a5d2 MIPS: Followup to r154606. Expand list of accepted MIPS target features in the MipsTargetInfoBase::setFeatureEnabled() routine. | |
241cbe4 fix GCC version comparison wrt. equal patch suffices (and squash two typos) | |
30318e6 Adds a FixedCompilationDatabase to be able to specify tool parameters at the command line. | |
6403683 Fix bad typo reported by I-Jui Sung. | |
2d01f2c As per John McCall comment: Follow up to r154924: check that we are in a static CMethodDecl to enable the Microsoft bug emulation regarding access to protected member during PTM creation. Not just any static function. | |
3acf764 fix display of source lines with null characters | |
6749dd5 Nicer display of unprintable source, and fix caret display for non-ascii text | |
074c191 Calling setVisibility directly only makes (some) sense when the visibility is explicit. | |
87162c2 PR12569: Instantiate exception specifications of explicit instantiations and explicit specializations of function templates appropriately. | |
9591697 Revert "Nicer display of unprintable source, and fix caret display for non-ascii text" | |
e1a6eac add missing parameter index to diag | |
70712b2 fix display of source lines with null characters | |
e9a3b76 Nicer display of unprintable source, and fix caret display for non-ascii text | |
54881cb Simplify calls to mergeVisibility* by passing in the LinkageInfo. No functionality change. | |
76a98be objective-c modern translation. Correct rewriting of block meta-data of block literals declared inside of extern "C" functions. // rdar://1131490 | |
e1430e9 Typo fix. | |
c661f14 Switches the JSONCompilationDatabase to use the YAML parser. This will allow us to delete the JSON parser from llvm. | |
82a9478 Fix to avoid warning. Also add header, and lincense information. | |
b2d899e Emulate a MSVC bug where the creation of pointer-to-member to protected member of base class is allowed but only from a static function. | |
0407a04 fix a typo | |
49a110d Convert vperm2f128 and vperm2i128 intrinsics back to using llvm intrinsics. Unfortunately, these instructions have behavior that can't be modeled with shuffle vector. | |
7d6c8a1 Attempt to fix test. | |
01561d1 Change ExprEngine::shouldInlineDecl() to be defensive in checking if the CFG of the callee is valid. Fixes <rdar://problem/11257631>. | |
26397ed Fix case where the alignment is overaligned, per Eli's suggestion. rdar://11220251 | |
07d2f56 Link to a tiny patch to libstdc++-4.7 to work around the <chrono> issues from the C++ status page. | |
e6975e9 Implement DR1330 in C++11 mode, to support libstdc++4.7 which uses it. | |
7fea7c8 Make sure EmitMoveFromReturnSlot is passing the correct alignment to EmitFinalDestCopy (and thus pass EmitAggregateCopy the correct alignment). rdar://11220251 | |
0ff258b Typo. | |
0e97681 Modern objective-c translator:'self' used inside block literal is imported. // rdar://11259664 | |
a9d45a3 [libclang] Make sure that when we have multiple @class references in the same line, that later ones do not override the previous ones. | |
43aa1c3 modern objective-c translator: translation of implicit cast to/from block pointer types. // rdar://11202764 Also, many more modern translator tests. | |
9a70cdd [analyzer] Fix a false alarm in SelfInitChecker (radar://11235991). Along with it, fix a couple of other corner cases and add more tests. | |
ffce11b [analyzer] +comments | |
5a389f1 [analyzer] Fixup for a test case. | |
93a4994 objective-c modern translator: buildit objc bool type for rewriter project will be BoolTy. // rdar://11231426. | |
9482a18 [libclang] Spelling range for a objc category should the category name range, not the class one. | |
3c6ed1b Remove support for -fast-math metadata for the moment. | |
2850376 Per Richard's comments on r154794, add the checks necessary to handle constant-folding relational comparisons safely in case the user is using -fwrapv or equivalent. | |
e9836a2 Revert r154749 for now at John McCall's request. | |
74e2fc3 Implement the last part of C++ [class.mem]p2, delaying the parsing of exception specifications on member functions until after the closing '}' for the containing class. This allows, for example, a member function to throw an instance of its own class. Fixes PR12564 and a fairly embarassing oversight in our C++98/03 support. | |
0f90590 Use ordering and the explicit visibility bit instead of modifying ConsiderGlobalVisibility. No functionality change. | |
2b5949e Readd lost "undef BUILTIN" to fix the build. | |
10e675d Generate fpmath metadata when -ffast-math. Note that no optimizations are hooked up to this yet. | |
7ac715f Hexagon V5(Floating Point) support. | |
48c2407 Remove unused method. | |
60c7707 Adjust for LLVM name tweaks requested by Chandler. | |
62d9f11 Add another constructor to LVFlags and use it to simplify the code a bit. | |
cefc3af Implement C++11 [expr.prim.general]p3, which permits the use of 'this' in the declaration of a non-static member function after the (optional) cv-qualifier-seq, which in practice means in the exception specification and late-specified return type. | |
275a850 Add note to hacking.html that running the test harness directly from the command-line requires making sure the relevant files are generated first. Patch by Matt Fowles, with some minor modifications. | |
a316988 Make constant evaluation for pointer comparisons work correctly for some uncommon cases. <rdar://problem/10962435>. | |
4762a2d use DEFAULT_SYSROOT | |
e275a18 The result of the Microsoft __uuidof operator must be considered a global lvalue during constant expression evaluation. Otherwise we would get this error in C++11 mode (because of a recent change): error: non-type template argument of type 'const _GUID *' is not a constant expression | |
377ecc7 Propagate alignment on lvalues through EmitLValueForField. PR12395. | |
c5086f0 Add 'env' in hopes of making this test pass on Windows. | |
b346d2f Implement the all_lookups_iterator for PCH as a follow-up to r153970. This includes a patch from Matthias Kleine with a regression testcase! | |
0740a25 Like for LLVM / shlib, we also provide a SONAME to libclang.so | |
b5491f3 Change _mm256_permute4x64_epi64 and _mm256_permute4x64_pd to use builtin_shufflevector instead of specific builtins. Old builtins will be removed from llvm now that vpermq/vpermpd are supported by shuffle lowering code. | |
030c7e9 Fix tests that weren't actually verifying anything. | |
6c22939 Correct indentation | |
6e67eed [clang.py] Implement TypeKind.spelling | |
2d7cb06 Use MDBuilder to help with metadata creation. | |
b1758c6 Use forward declarations for ASTDeclContextNameLookupTable and add a missing delete. | |
a9ab209 Actually, this tree isn't necessarily binary. | |
398a498 Recursively delete rewrite rope nodes when tearing down the tree. | |
5d2d046 %clang -cc1 -> %clang_cc1 | |
fe58720 PR12226: don't generate wrong code if a braced string literal is used to initialize an array of unsigned char. Outside C++11 mode, this bug was benign, and just resulted in us emitting a constant which was double the required length, padded with 0s. In C++11, it resulted in us generating an array whose first element was something like i8 ptrtoint ([n x i8]* @str to i8). | |
8590d86 objective-c modern translator: Make metadata definition for protocols static. // rdar://11248048 | |
f4dd858 [analyzer] Add .cxx and .txx as known file extensions to ccc-analyzer. | |
767f7c7 Consider visibility attributes last, so that they take precedence. I am working on a cleaner fix, but this gets the case in PR12552 passing. | |
8fb9fb6 Replace manual delete[] with OwningArrayPtr. | |
a2189d7 Don't leak vtable thunks. | |
d306cf7 Delete late parsed attributes instead of leaking them. | |
9bb1d34 Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'm thinking of generalizing it to be able to specify other freedoms beyond accuracy (such as that NaN's don't have to be respected). I'd like the 3.1 release (the first one with this metadata) to have the more generic name already rather than having to auto-upgrade it in 3.2. | |
13bb701 Parser: Don't manage TemplateAnnotationIds in a delayed cleanup pool. | |
bcadf96 ASTUnit: Don't clone the new DiagnosticConsumer, causing it to get leaked. | |
342742a c-index-test: dispose spelling string after use. | |
34f9dc4 Directly store TypoResultsMaps in the TypoEditDistanceMap, getting rid of manual deletion. | |
534986f Add an AttributedStmt type to represent a statement with C++11 attributes attached. Since we do not support any attributes which appertain to a statement (yet), testing of this is necessarily quite minimal. | |
9cdd1e3 Delete the TypoResultsMap when erasing the pointer to it. | |
38baeab Don't enter cleanups for unreachable variables. It's impossible to jump into these scopes, and the cleanup-entering code sometimes wants to do some operations first (e.g. a GEP), which can leave us with unparented IR. | |
653b7cf modern objective-c translator: Fixes translation of __typeof which is a regression by reverting r154360. // rdar://11233924 | |
c6b468e Avoid string thrashing when we can concatenate them in the final buffer. | |
b889614 Serialize and deserialize some missing bits from BlockDecl. | |
ba8be8c Kill the last vestiges of clangIndex | |
3082846 Remove clangIndex reference from clang-interpreter CMake build | |
87e154c Remove the unused, unmaintained, incomplete 'Index' library. | |
b20c46e modern objective-c translator: When translating call to 'super' use __rw_objc_super as type of the 'super' meta-data instead of objc_super. // rdar://11239894 | |
88507dd Make control flow more explicit for rebuilding property reference expressions without their OpaqueValueExprs | |
1050471 Remove the -cc1-level option "-pubnames-dump". Such things should stay out of the tree and use the tooling infrastructure. | |
f53bc31 super and class property reference expressions don't need to be rebuilt. Fixes <rdar://problem/11052352>. | |
00000b0 First set of tests for ARM homogenous aggregates. C only. C++ will follow. | |
eaf856d Step forward with supporting of ARM homogenous aggregates: - Handle unions - Handle C++ classes | |
51b9240 Implement __atomic_fetch_nand and __atomic_nand_fetch to complete our set of GNU __atomic builtins. | |
a1c4f7c PR12500: Improve the wording of the diagnostic for a redefinition of a name in the wrong namespace scope. Patch by Jonathan Sauer! | |
5e6c3f0 Support -Wc++98-compat-pedantic as requested: | |
b3440f5 all-std-headers.cpp: Include the C++11 headers when building with clang in -std=gnu++11 mode. | |
7444639 Fix a trivial oversight with apple-kext static local destructors and add a test case. | |
95e7aaf Mention atomics support in the release notes. Thanks to Nico Weber for the suggestion. | |
97b57a2 When we're flagging a protected scope to prevent jumps into the shadow of a block expression with non-trivial destructed cleanups, we should flag that in the enclosing function, not in the block that we're about to pop. | |
9d4e87e Now that we provide sufficient support for three C11/C++11 atomics implementations, mark the atomics-related parts of the C++11 status page as done. I've not marked 'Strong Compare and Exchange' done, since although we implement supporting builtins, we don't yet produce different code for the weak and strong forms. | |
d555222 C++11 no longer requires files to end with a newline | |
2c39d71 Implement the missing pieces needed to support libstdc++4.7's <atomic>: __atomic_test_and_set, __atomic_clear, plus a pile of undocumented __GCC_* predefined macros. | |
e2d87bc objective-c modern translator: beautify rewrite of struct __rw_objc_super; no functionality change. | |
f7728dc Config.h: Add another definition which the Darwin build (sometimes) uses. | |
3705084 Warn on 64-to-32 for source value of x bits where 64 >= x > 32. | |
6a86082 [analyzer] PCH deserialization optimization. | |
273ed98 [analyzer] Test case for r154451 (redefining system functions). | |
262acda objective-c literals: Issue warning and ignore when BOOL is not of an intergal type when boolean literals are used. // rdar://11231426 | |
7d00065 s/isAtomicConversion/tryAtomicConversion/g, per Jordy's suggestion. | |
47bfcca Fix some i1/i8 confusion within _Atomic(bool) in IR generation, both in general (such an atomic has boolean representation) and specifically for IR generation of __c11_atomic_init. The latter also means actually using initialization semantics for this initialization, rather than just creating a store. | |
83748e2 Include lambda capture init expressions in CFG. | |
c02af35 Add -Wuninitialized test for C++11 lambdas. | |
55331da Fix CFGBuilder to not include the body of a LambdaExpr in the CFG of the enclosing function. | |
10e1629 MIPS: Initialize MIPS CPU's name by default value. Otherwise MipsTargetInfoBase::getDefaultFeatures() might return an invalid features set with an empty feature name. | |
f7ecc30 Compute standard conversion sequences for conversions to atomic types. The second and third conversions in the sequence are based on the conversion for the underlying type, so that we get sensible overloading behavior for, e.g., _Atomic(int) vs. _Atomic(float). | |
9985038 objective-c numeric literal: type of boolean is that of typedef BOOL if found. // rdar://11231426 | |
5ce2827 modern objective-c translator. ifdef'out __weak and __block when rewriting. // rdar://11236342 | |
41a7e89 Fix the signatures for the _mm256_storeu2_* intrinsics. PR12532 | |
9bc0c29 Changed all direct calls to CompletionConsumer.reset(..) to go call CompilerInstance::setCodeCompletionConsumer instead, in order to change the SkipFunctionBodies flag accordingly. Also fixed setCodeCompletionConsumer to take a reset() to null into account. | |
6a91d38 Added a flag to the parser to skip method bodies. | |
f33d549 There's some code in the PCH reader that looks like it's needlessly complex, but turns out that it's actually needed for C++ modules support. Since simplifying it didn't cause any test failures, I'll add a test for it. | |
ff34d40 Implement support for 18 of the GNU-compatible __atomic builtins. | |
b92bd4b These functions too have no prototypes. Audited the rest of Sema for FunctionDecl::Create calls as well. | |
4f95f64 Testcase for previous commit. | |
43443de static functions have a need for mangled name debug information too. The mangler doesn't like non-prototyped functions so only use a mangled name for prototyped functions. | |
e5bbebb The copy and destroy helper functions aren't prototyped, don't call them so. | |
78d5d3b Implement clang_getDiagnosticCategoryText() to provide a way for a client of libclang to accurately get the diagnostic category name from a serialized diagnostic when the version of libclang used to read the diagnostic file is newer than the clang that emitted the diagnostic file. | |
104dbf9 modern objective-c translator. Fixes a mis-translation when of a __block struct object. // rdar://11230308 | |
16aac6f Add test for a construct we currently reject, constant-evaluating a load from a constant string. Given that gcc doesn't accept this, we should continue to not accept it, even though it was accidentally supported by clang for a brief period. | |
c3fa98f [analyzer] Another dynamic_cast false positive/negative. | |
7ea1c56 [analyzer] dynamic_cast Simplify null value generation. | |
06868aa [analyzer] Better test cases for explaining where tracking types of symbolic regions would help. | |
acee1c9 modern objective-c translator. Fixes a translation bug when first ivar in the list is a bitfield. // rdar://11229770 | |
994d73f Part of PR10101: after a parse error in a declaration, try harder to find the right place to pick up parsing. In C++, this had a tendency to skip everything declared within headers if the TU starts with garbage. | |
47f1165 [libclang] Apparently it's important to build in C89, sigh.. | |
d98ef9a [libclang] Introduce a couple of functions to make it convenient to get at the parameters (and their types) of a function or objc method cursor. | |
eba8cd5 [libclang] In cxloc::translateSourceRange make sure to handle locations in macro arguments correctly. clang diagnostics can provide fixits inside a macro argument now. | |
944b562 Update recently-added test to use new __c11_ form of atomic builtins. | |
fafbf06 Provide, and document, a set of __c11_atomic_* intrinsics to implement C11's <stdatomic.h> header. | |
5d70cfd Make __atomic_init() (soon to be __c11_atomic_init()) work with non-scalar types. | |
adf7c85 Clean up last commit as per dgregor's comments. | |
3a3c9b2 Allow c++ initialisers to initialise _Atomic fields. | |
93848e0 Add a triple to this test. | |
46853cb Try to fix the windows buildbots by making this test a little less dependent upon metadata ordering. | |
be6c686 Enable debug info for objective c implementations that may not have an explicit instance variable. | |
6ce48a7 Support C++11 attributes at the start of a parameter-declaration. | |
9793428 [libclang] Fix "error: conflicts with new declaration with ‘C’ linkage" that gcc emits but not clang. | |
e722ed6 [libclang] If displayDiagnostics is set (when calling clang_createIndex), make sure to output the errors that occurred even if we did not get an AST (e.g. because the PCH failed to load). | |
259052d [analyzer] Don't crash even when the system functions are redefined. (Applied changes to CStringAPI, Malloc, and Taint.) | |
e1b2abc AtomicExpr: make ASTStmtReader a friend and remove setters. Also fix saving of an uninitialized Stmt* in serialization of __atomic_init and add a test of atomics serialization. | |
edec2ee Fix quoting to allow shell expansion to occur for shell variables introduced by the test harness' expansion of %t. | |
88ec610 modern objective-c translation: writing container subscripting. // rdar://11203853 | |
a2c8d2e [analyzer] dynamic_cast: Better model cast from a reference. | |
15f4c98 [libclang] For clang_getOverriddenCursors make sure to report overridden objc methods for methods in categories of super classes. rdar://11220358 | |
e19f86e [analyzer] Add support for C++ dynamic_cast. | |
4335a48 [analyzer] + comments | |
69a30b8 When we determine that an initialization sequence failed due to an incomplete type, keep track of the actual type that was incomplete. Otherwise, we might fail to produce a diagnostic. Fixes PR12498. | |
abf65ce Improve the printing of __PRETTY_FUNCTION__ more provide more information and more closely match GCC's, from Nikola Smiljanic! | |
316551f Add a query macro for C++11 N3276, decltype does not require complete return types, from Michel Morin! | |
50fadd1 Improve diagnostics in C++11 when a non-type template argument for a non-type template parameter of pointer type is not a constant expression. | |
b2561c7 This test actually needs label names. | |
90f5f47 Include the Objective-C parameter- and return-passing qualifiers when providing code completions for Objective-C method declarations. Fixes <rdar://problem/11164498>. | |
c078337 For debug and coverage analysis if we're not optimizing go ahead and emit a relatively empty block for a plain break statement. This enables us to track where we went through a switch. | |
10ccf12 Don't include the ':' following code-completion suggestions for 'public', 'private', or 'protected', unless code completion patterns are enabled. Fixes <rdar://problem/11189132>. | |
e7ea28a objective-c: remove IsConstProperty as it does not seem to get called any more. Also add an assert in isModifiableLvalue. | |
0cc9fdb Add a target triple to test/Index/complete-synthesized.m. | |
28a83f5 [code-complete] Introduce CodeCompletionTUInfo which will be used for caching code-completion related strings specific to a translation unit (ASTContext and related data) | |
4296361 Rework implementation of null non-type template arguments based on Richard's feedback, to properly catch non-constant expressions and type mismatches. Finishes <rdar://problem/11193097>. | |
5915561 objective-c: add an assertion for property expression enterring IsConstProperty function. | |
2c6dbd7 Fix GCC's pedantic return-type warning -- this enum is fully covered. | |
970b226 Fix tautological FileCheck by moving the CHECK to an extra line. | |
e58e6f9 Don't link lib[std]c++ when -nostdlib is specified (Solaris driver). | |
e9b4d98 Pass -march, -mcpu, -mfpu to linuxtools assembler. | |
8250016 Express the number of ULPs in fpaccuracy metadata as a real rather than a rational number, eg as 2.5 rather than 5, 2. OK'd by Peter Collingbourne. | |
2b124ea EmitStopPoint already checks if we have debug info. | |
fc65ec8 Tidy. | |
c56298d Parsing of C++11 attributes: * Alternative tokens (such as 'compl') are treated as identifiers in attribute names. * An attribute-list can start with a comma. * An ellipsis may not be used with either of our currently-supported C++11 attributes. | |
6ee326a Disambiguation of '[[': * In C++11, '[[' is ill-formed unless it starts an attribute-specifier. Reject array sizes and array indexes which begin with a lambda-expression. Recover by parsing the lambda as a lambda. * In Objective-C++11, either '[' could be the start of a message-send. Fully disambiguate this case: it turns out that the grammars of message-sends, lambdas and attributes do not actually overlap. Accept any occurrence of '[[' where either '[' starts a message send, but reject a lambda in an array index just like in C++11 mode. | |
0e9bf71 Fix the testcase :-( | |
f1ee687 objective-c modern translator: rewriting specific implicit casts which is needed to produce good c++ code. // rdar://11202764 | |
c515154 Fix an annoying little bug I found while debugging another LTO issue. Gold requires the -plugin to come before any -plugin-opt options, we were passing them the other way around. With this one can run (for example): | |
2ca35e6 Remove -fobjc-default-synthesize-properties as the option to c-index-test. | |
63f5578 My original patch missed the virtual-base case for destroying base-class subojects. | |
12d8d80 Fix the access check performed as part of the determination of whether to define a special member function as deleted so that it properly establishes an object context for the accesses to the base subobject members. | |
ae7e939 Author: Daniel Dunbar <daniel@zuster.org> --- log message follows this test --- [tests] Fixup some tests to work in "CLANG_IS_PRODUCTION" mode. | |
16dc261 Implementing a test for the use of PWD to base finding the correct compile commands on, based on an idea by Jordan Rose. | |
e51fe09 objective-c: remove -fobjc-default-synthesize-properties from the driver. cc1 option remains though to invoke default property synthesis. // rdar://11209719 | |
e52e2e6 objective-c: Remove -fno-objc-default-synthesize-properties as the driver option. // rdar://11209719 | |
4f5b3ac Fixes a fix to finding the current directory: We currently want to look whether PWD is available - if PWD is available it will get us the non-resolved current path, while fs::current_path will resolve symlinks. The long term fix is to not rely on that behavior any more. | |
561d622 Revert r154321, pending more discussion. | |
eb52f86 Fix bugs found by -Wconstant-conversion improvements currently under review. | |
649ee3f Add -fobjc-trace to emit a call before and after each Objective-C message send for hooking in code flow visualisation applications. | |
e257179 Factor out ARM floating ABI determination to new routine | |
c3cb072 Make a modern Objective-C runtime the default target for *BSD. Don't yet change this on GNU/Linux, where the GCC runtime still tends to be used. | |
5081de5 Wire up -fpie and -fPIE to LLVM's newly added TargetOptions. No test case as we don't currently have any way of dumping target options or otherwise observing this. Another small step toward fixing PR12380. With this we generate TLS accesses using the static model instead of the dynamic model, but we're still generating suboptimal code under the mistaken assumption that the TLS offset might be greater than 2^32, and therefor not viable as an immediate offset of a segment register. | |
5e219cf Teach Clang about PIE compilations. This is the first step of PR12380. | |
9579422 Rephrase the preprocessor test to directly use CC1 and not bother testing any of the strange driver behavior. We already have some tiny tests for the driver behavior, and I'm going to expand them greatly in the next commit. | |
65ea45a FileCheck-ize this test. | |
49149fe Don't forget to evaluate the subexpression in a null pointer cast. If we're converting from std::nullptr_t, the subexpression might have side-effects. | |
b0afd5d ext_reserved_user_defined_literal must not default to Error in MicrosoftMode. Hence create ext_ms_reserved_user_defined_literal that doesn't default to Error; otherwise MSVC headers won't parse. | |
073a780 MIPS: Pass -mabi option to the assmbler when compile MIPS targets. | |
a2768be MIPS: Move code calculates CPU and ABI names to the separate function to reuse this function later. | |
3be55cd [Cygwin] Work around to flush stdout in a thread, or stdout in threads won't be flushed at exit. | |
b9abd872 Fix several problems with protected access control: - The [class.protected] restriction is non-trivial for any instance member, even if the access lacks an object (for example, if it's a pointer-to-member constant). In this case, it is equivalent to requiring the naming class to equal the context class. - The [class.protected] restriction applies to accesses to constructors and destructors. A protected constructor or destructor can only be used to create or destroy a base subobject, as a direct result. - Several places were dropping or misapplying object information. | |
79c5f95 test/lit.cfg: Please pass %INCLUDE% to clang.exe on Win32. MS-compatible clang may refer to %INCLUDE%. It fixes r154188. | |
a53ab5c [driver] In general, the driver claims redundant args and uses the last arg. However, the '-x' option has special handling and wasn't following this paradigm. Fix it to do so by claiming the arg as we parse the '-x' option. rdar://11203340 | |
b031eab Remove "parse error" in favor of more descriptive diagnostics. | |
f7ef931 more testing of objc's dictionary literal translation. | |
d2008e2 Implement support for null non-type template arguments for non-type template parameters of pointer, pointer-to-member, or nullptr_t type in C++11. Fixes PR9700 / <rdar://problem/11193097>. | |
e35abe1 modern objective-c translation: support for dictionary literals. This concludes // rdar://10803676 | |
bd61313 Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that when we generate a new ExplodedNode we use the same Expr* as the one being currently visited. This is preparation for transitioning to having ProgramPoints refer to CFGStmts. | |
d2953ce SourceManager: Vectorize ComputeLineNumbers for SSE2. | |
8491cb2 MIPS: Provide a correct path to the dynamic linker when build for MIPS 64-bit targets. | |
83cad45 Thread safety analysis: downgraded requirement that mutex expressions refer to a lockable type from error to warning. | |
b0f245c modern objective-c translator: translate array literal expressions. // rdar://10803676 | |
5f0a1c1 MIPS: Pass -EB/-EL argument to the assembler according to selected endian when compile for MIPS targets. | |
f439e00 [analyzer] Check that the arguments to NSOrderedSet creation methods are valid ObjC objects. | |
0121183 Test for r154189/PR12481 | |
30fa370 Use atexit when __cxa_atexit isn't available instead of adding a global destructor entry. For some reason this isn't enabled for apple-kexts; it'd be good to have documentation for that. | |
3f88f68 Rename GenerateCXXGlobalDtorFunc to GenerateCXXGlobalDtorsFunc. | |
7f39d51 Fix a Sema invariant bug that I recently introduced involving the template instantiation of statement-expressions. | |
40f45ee Clear environment variables that might affect Clang before running tests. | |
b2f6820 Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698> | |
aba3f0f MIPS: Move tests check float ABI macros definitions to the more appropriate place. | |
9f31437 Fix using Clang as a cross compiler installed on a host machine and not inside of a sysroot targeting a system+sysroot which is "similar" or "compatible" with the host system. This shows up when trying to build system images on largely compatible hardware as-if fully cross compiled. | |
6614845 zext ivar offsets if required (GNU runtimes). | |
cf2fa2f Fixed scoping error for late parsed attributes in nested classes. | |
7a52180 MIPS: Add tests for predefined macros for MIPS targets. | |
673720d Fix diagnostic text for r154163. | |
9df1b96 Restrict fixit for missing 'class' in template template parameters. | |
7947bb1 [analyzer]Fix false positive: pointer might escape through CG*WithData. | |
bf9658c Point the caret at the error for the 'expected namespace name' diagnostic in a namespace alias declaration. | |
bc1029b Implement C90 pedantic warning for duplicate declaration specifiers which are duplicated via a typedef. Patch by Tim Northover. | |
ae916a1 Properly implement the C rules for composite types for qualified pointers in conditionals. Patch by Tim Northover. | |
bf393be objective-c: Don't warn when a category does not implement a method declared in its adopted protocol when another category declares it because that category will implement it. // rdar://11186449 | |
856183c Enhance testing a bit to make sure that we're omitting the getter and setter when they're synthesized with the default names. | |
78af8fd Only emit the getter and setter names if they're not the default synthesized ones. Reasonable debug info size reduction for objc. | |
87b9c03 Make the variant of __builtin_shufflevector that takes the shuffle indexes as a vector actually usable. Patch by David Neto. PR12465. | |
6fd4505 Require that all static analyzer issues have a category. As part of this change, consolidate some commonly used category strings into global references (more of this can be done, I just did a few). | |
9091389 Move some MIPS target macro definitions from class Mips32TargetInfoBase to the base class MipsTargetInfoBase. These macros are applicable for both 32/64-bits targets. | |
e47029a Temporary workaround for bug#12457: turn the 'constexpr function never produces a constant expression' error into a DefaultError ExtWarn, so that it can be disabled and is suppressed in system headers. libstdc++4.7 contains some such functions which we currently can't evaluate as constant expressions. | |
85ff969 [Lex] Add support for 'user specified system frameworks' (see test case). - Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks. | |
9ee35f9 [Lex] HeaderSearch: Introduce a FrameworkCacheEntry structure to hold the FrameworkMap items. - No functionality change. | |
f535a98 Simplify. | |
a823545 Improve & simplify diagnostic for missing 'class' in template template parameter. | |
b98b998 Handle symbolicating a reference in an initializer expression that we don't understand. | |
04a18c9 Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex might not be a symbolic value. | |
bb3d20f Do not crash in the callgraph construction when encountering deleted function definitions. Fixes <rdar://problem/11178609>. | |
6b77ce8 [analyzer] Move stats calculation out of AnalysisConsumer destructor. The ASTConsumer does not get deleted with clang --analyze (for performance reasons), we still want the diagnostics to work. | |
907344e [analyzer] Change warding in a path diagnostic: "No method actually called because receiver is nil" -> "No method is called because receiver is nil" | |
cd86346 [analyzer] Add a coverage calculation to FunctionSummaries. | |
4f4705f [analyzer] Remove redundant if statement (pointed out by Ted). | |
a85cf39 Improve diagnostics for invalid use of non-static members / this: | |
4fd05dc Add triples to these tests to keep them working on Windows, where wchar_t is only 16 bits wide. | |
f76e7f7 RelNote improvements made to -Wliteral-conversion by r141955. | |
69f50e7 Fix assertions and wrong output from StmtPrinter's string literal printing. String literals (including unicode ones) can contain non-Unicode codepoints if they were written using \x or similar. Write those out using \x, but be careful that the following character can't be misinterpreted as part of the \x escape sequence. Convert UTF-16 surrogate pairs back to codepoints before rendering them. | |
e31b8fb Enable warn_impcast_literal_float_to_integer by default. | |
371a0c8 clang/test/Tooling/clang-check.cpp: Mark it as XFAIL also on cygwin. | |
5b4bf13 Allow a conversion from the empty initializer list {} to an std::initializer_list<T> so long as <T> is known. This conversion has identity rank. | |
3953911 Honor -fno-pic, -fno-PIC, -fno-pie, -fno-PIE. | |
30fe6ba [driver] When using the -mfpmath= option, add an error message when trying to enable neonfp on a CPU that doesn't support NEON. rdar://11108618 | |
397f327 Hardcode a triple to prevent the test failing on targets which don't support __thread. | |
1209386 Test commit to check commit access. | |
b4051e7 Implement C++11 [temp.arg.nontype]'s permission to use the address of an object or function with internal linkage as a non-type template argument. | |
465a899 Fix an oversight: don't run ARC optimization cleanup at -O0. | |
f80f2a5 Whitespace. | |
9931727 [driver] Add a static helper function for handling -mfpu= to remove some code duplication. No functional change intended. | |
d624a5b Reduce variable scope. | |
7a938fa [driver] Create a new -mfpmath= option, which is used to control whether clang uses Neon instructions for single-precision FP. | |
878f850 objc-arc: provide a warning when 'receiver' of a message is 'weak' in arc mode and opted-in with -Wreceiver-is-weak flag. // rdar://10225276 | |
bb811ca Look through chains of 'x = y = z' when employing silencing heuristics in the DeadStoresChecker. | |
e982cc0 modern objc translator. Add more rewriter specific option to cc1 with -rewrite-objc. // rdar://11143173 | |
15b7731 Remove unused argument. | |
0718952 Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output. | |
f54486a Move the computation of the lambda mangling information (mangling number + context) to the point where we initially start defining the lambda, so that the linkage won't change when that information is made available. Fixes the assertion in <rdar://problem/11182962>. | |
2d4476d Install arm_neon.h outside of the default include path. | |
8e86b2d objective-c modern translation. Remove commenting out of extern "C". // rdar://11169733 | |
e1fde1d Simplify test a bit now that it's not actually running cc1plus. | |
e23d0b2 clang/test/Tooling/clang-check.cpp: Mark it as XFAIL mingw,msvc for now. | |
01b8ca5 Tooling.cpp: Reorder inclusions according to the conding standards. | |
b175d0f Tooling.cpp: Don't refer to $ENV{PWD}. Use llvm::sys::fs instead. | |
9595dae Don't crash (assert failure) when generating blocks for C++ types with a non-const copy constructor. | |
92f7409 Updated release notes for tooling. | |
29b815c clangFrontend depends on clangEdit. | |
43d5aac Add the dependency on clang-check to clang-test, so clang-check can be integration tested. | |
cb971c6 Adds a tooling library. | |
c9aa9c0 Don't actually execute gcc during testing. | |
6fb522e Add a testcase for svn r153854. | |
9033092 Fix diagnostic typos: "non-template arguments" vs "non-type template arguments". No test updates: we don't appear to have any test coverage for these diagnostics! | |
5a5a971 For PR11916: Add support for g++'s __int128 keyword. Unlike __int128_t, this is a type specifier and can be combined with unsigned. This allows libstdc++4.7 to be used with clang in c++98 mode. | |
d280389 When performing template argument deduction for an initializer list, be sure to perform the argument type adjustments in [temp.deduct.call]p2, e.g., array decay. | |
a9b55a4 Dependent-sequence initialization of a single element can be direct list-initialization. Loosen an over-eager assertion to fix PR12453. | |
a06642a [preprocessor] In Preprocessor::CachingLex() check whether there were more tokens cached during the non-cached lex, otherwise we are going to drop them. | |
e14ba2c When computing the conversion sequence in overload resolution for converting an empty list to a scalar, be sure to initialize the source and destination types so that comparison of conversion sequences will work in case there are multiple viable candidates. | |
95e3872 If something already instantiated is reinstantiated as an explicit definition, keep the latter. | |
beeb460 ErrorUnsupported on array cookies in the MS C++ ABI code; patch by Timur Iskhodzhanov. | |
73f428c Enter an expression evaluation context when parsing statement-expressions. Prevents cleanups and such from being claimed by the first full-expression in the block. | |
8e59838 Fix dead store warning. | |
88fc181 Change BugReporter's usage of IsCachedDiagnostic to only impact pruning diagnostics emitted to the console, and leave it up to PathDiagnosticConsumer to unique reports with the shortest path. | |
74a1a1f Silence dead store warning, and fix indentation. | |
6c656c3 Remove dead assignment to local variable. | |
7b156dd Add feature check "cxx_local_type_template_args" describing support for templates with local template arguments, from Michel Morin! Fixes PR12337. | |
b0d06e2 Eliminate obvious use-after-free. Fixes PR12433 / <rdar://problem/11168333>. | |
173a37a Remove more redundant lookups. Add a new "all_lookups_iterator" which provides a view over the contents of a DeclContext without exposing the implementation details of the StoredDeclsMap. Use this in LookupVisibleDecls to find the visible declarations. Fixes PR12339! | |
893a6ea Don't treat synthesized ivars as being in the base class for the purpose of looking up visible decls. | |
6d858d9 Replace the workaround from r153445 with a proper fix. | |
b3f904f modern objective-c translator: rewriter linkage spec. // rdar://11169733 | |
14e6455 Correct handling of _Pragma macro inside a macro argument. | |
c8443e5 Rework ProgramPoint to bit-mangle the 'Kind' into both Data pointers and the LocationContext. After switching to PointerIntPair, it didn't look like a safe assumption to use the lower 3 bits of the LocationContext* field. Thanks to Jordy Rose and Benjamin Kramer for their feedback. | |
e62f048 [analyzer] Record the basic blocks covered by the analyzes run. | |
0ea6164 Add more constraint registers for mips. | |
ea32047 Change location information for synthesized properties to be at the property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Use the current scope location as a separate parameter so that we can match it up better in the line table with the beginning of the scope. | |
31b5762 Fix another false positive in RegionStore involving doing loads from symbolic offsets. We still don't properly reason about such accesses, but we shouldn't emit bogus "uninitialized value" warnings either. Fixes <rdar://problem/11127008>. | |
d9b7955 Fix potential null dereference in the static analyzer when inlining a call that has already been inlined. Unfortunately I have no test case. | |
f30c0a9 Reduce static analyzer memory usage by about 4% by packing the ProgramPoing 'Kind' field into the spare bits of other fields. | |
e6af660 PR10217 diagnostic fix: don't say 'copy constructor' when we mean 'copy assignment operator'. | |
219c2e2 Remove windows line endings. | |
5bdaac5 Finish PR10217: Ensure we say that a special member was implicitly, not explicitly, deleted in all relevant cases, and explain why. | |
460ef13 Correct error recovery when missing 'class' in a template template parameter. | |
e7d0bbf Silence -Wunused-variable in -Asserts build | |
0f6931a PR12438: Profile a reference to a type template parameter by depth and index, not by canonical decl. This only matters for sizeof...(Pack) expressions; in all other cases, we'd profile it as a type instead. | |
1c931be Implement DR1402: if a field or base class is not movable, the derived class's move constructor/move assignment operator are not declared, rather than being defined as deleted, so move operations on the derived class fall back to copying rather than moving. | |
582b395 Use -rewrite-legacy-objc as clang argument for translating objective-c's fragile abi, Use -rewrite-objc for translating objective-c's modern abi. // rdar://11143173 | |
99d43b4 Fix build by passing in the needed variable after r153860. | |
c5a89a1 Basic semantic analysis support for inheriting constructor declarations in dependent contexts. | |
651f3d4 Ignore unused --serialize-diagnostics option when using llvm-gcc. | |
70e24fc Properly handle explicit constructors in list-initialization. Fixes PR12120. | |
4a5f724 Analyzer: Store BugReports directly in a ilist instead of adding another layer of inderection with std::list | |
e2e8768 Fixed MacroInfo definition range for function like macros with empty body. | |
6c235bc Remove unused but set variable. | |
d76e1cd [arcmt] When fixing the "unassigned init call" ARC error, make sure to do a nil check for the result of the call. | |
d786f1a [libclang] Fix use-after-free bug when handling attributes indexing info. | |
86cff60 modern objective-c translator: writing container literals. wip. // rdar://10803676 | |
34ebe1e [libclang] Introduce clang_Cursor_getObjCSelectorIndex() function. | |
50651b9 Fix a pair of invalidation bugs when emitting protocol definitions in the fragile and non-fragile Mac ObjC runtimes. No useful test case. Fixes rdar://problem/11072576. | |
355bba7 Make sure we unique static-local decls across multiple emissions of the function body, but do so in a way that doesn't make any assumptions about the static local actually having a proper, unique mangling, since apparently we don't do that correctly at all. | |
ba1da14 [libclang] Introduce clang_Cursor_getSpellingNameRange(). | |
6c4c36c PR10217: Provide diagnostics explaining why an implicitly-deleted special member function is deleted. | |
0f30a12 Revert r153723, and its follow-ups r153728 and r153733. | |
40afb7d [driver] Create a new L_Group for language options and add the -std= option to said group. Also classify the group as a CompileOnly_Group so that this option does not cause an unused argument warning when used with a link command. rdar://11153013 | |
0f9b18e modern objective-c translator: writing numeric literals. // rdar://10803676 | |
8b0fa52 If we encounter a friend class template for which we cannot resolve the nested-name-specifier (e.g., because it is dependent), do not error even though we can't represent it in the AST at this point. | |
d6d7582 Fix Clang headers installation. | |
49d26d2 Do the static-locals thing properly in the face of unions and other things which might mess with the variable's type. | |
5aeaca3 Correctly check argument types for some vector macros in smmintrin.h. Put parentheses around uses of vector macro arguments. | |
62a5c34 [analyzer]Malloc,RetainRelease: Allow pointer to escape via NSMapInsert. | |
3bbd8cd [analyzer] Do not inline functions which previously reached max block count. | |
29bbd1a Handle placeholder expressions in an ObjC for-collection loop. The way we handle this implicitly removes the ability to use property l-values in this position, but that's really okay. | |
26945ad ItaniumCXXABI.cpp: Don't use nullptr. Clang source tree should be pre-c++11-compatible. | |
96579c4 Revert previous commit changing location information to see if this is causing the gdb test failures on the bots. | |
5228982 Add _mm_minpos_epu16 to smmintrin.h. Fixes PR12399. | |
100c649 Forbid the block and lambda copy-capture of __autoreleasing variables in ARC, under the usual reasoning limiting the use of __autoreleasing. | |
5629646 Fix shuffle vector calculation for mm_permute_ps. Fixes PR 12401. | |
9993cc7 When emitting a static local variable in C++, handle the case that the variable already exists. Partly this is just protection against people making crazy declarations with custom asm labels or extern "C" names that intentionally collide with the manglings of such variables, but the main reason is that we can actually emit a static local variable twice with the requirement that it match up. There may be other cases with (e.g.) the various nested functions, but the main exemplar is with constructor variants, where we can be forced into double-emitting the function body under certain circumstances like (currently) the presence of virtual bases. | |
56ea377 Add a note about a missing optimization in the case of virtual inheritance. | |
3754f96 Missing piece of r153720: make sure the vtable pointer is handled correctly. | |
5fe61c6 ConstStructBuilder: fix offset math for base classes so it works correctly in general. Found by inspection. | |
38ac243 Make sure we perform the relevant implied conversions correctly for ObjC methods with related result types. PR12384. | |
9ee2002 Testcase for the previous commit. | |
7435054 Change location information for synthesized properties to be at the property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. | |
84392d0 The UTF16 string referenced by a CFString should go into the __TEXT,__ustring section. A 'normal' string will go into the __TEXT,__const section, but this isn't good for UTF16 strings. The __ustring section allows for coalescing, among other niceties (such as allowing the linker to easily split up strings). | |
b085d89 Add info to ObjCPropertyRefExpr to indicate whether the dot syntax property reference is going to message the setter, the getter, or both. | |
d046952 [libclang] A MemberRefExpr cursor for a property dot syntax should have as its location the location of the property. | |
66373dd [libclang] Have c-index-test output more information about a cursor with -cursor-at: | |
1ef28db Extend -Wc++11-narrowing to cover converted constant expressions as well as braced-initializers. <rdar://problem/11121178>. | |
4b81e74 [analyzer] Add a malloc cpp test file. | |
8322c23 Fix whitespace. | |
6903313 ARM backend knows about cortex-m4. The front end should too. | |
868e985 modern objc translator: avoid some duplicate declarations. | |
df8dc86 Refactor special member function deletion. No functionality change. | |
882784d Relax the test slightly so that it should pass on other people's computers. | |
17c8caf modern objc translator: additional test. | |
3a7d69b Call out to GCC-compatible runtime functions for atomic ops that we can't use LLVM intrinsics for. | |
2ebb98a Pass parameters in the correct order when assembling an AtomicExpr. | |
297976d modern objective-c translator: fix up assortment of visibility directives for a variety of exported meta-data symbols. // rdar://11144048 | |
649b4a1 Revert r153613 as it's causing large compile-time regressions on the nightly testers. | |
ecae596 Go back to using just the selector name for the getter and setter in the property debug info. Any more isn't necessary after all. | |
16098f3 Tidy. | |
c0b6dbe Make ModuleMapParser own its TargetInfo, so it doesn't get leaked. | |
51c0371 Add support for objc property decls according to the page at: | |
be5ff2f unwind.h fix for -fvisibility=hidden users. This fixes firefox build in a system with libunwind installed. Patch by Jeffrey Yasskin! | |
52f10d5 Don't try to parse a malformed parameter list after a constructor or operator name as a direct initializer. | |
9988f28 Reject 'template<typename...Ts> void f(Ts ...(x));'. Add a special-case diagnostic and a fix-it to explain to the user where the ellipsis is supposed to go. | |
0fd4a68 [arcmt] Fix a bug where a property in a class extension, that did not exist in the interface, got its attribute rewritten twice, resulting in 'weakweak' or 'strongstrong'. | |
dde3bdb Define __LITTLE_ENDIAN__ for le32, since "le" stands for little endian. Add a test for this too. | |
57cd1b8 When we can't prove that the target of an aggregate copy is a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204. | |
b684a42 Fix typo in my last patch. | |
e7ea4e5 Install clang++ whenever clang gets installed. | |
f962eb4 [libclang] Fix CIndexer::isOptEnabled(); not sure what I was thinking there. | |
b47dbcb [analyzer] Enable retry exhausted without inlining by default. | |
fb02784 Fix the type of wchar_t on Solaris. | |
a78eca2 objective-c: Improve diagnostics and provide 'fixit' hint when dictionary index is not of proper type. // rdar://11062080 | |
253955c [analyser] Stats checker: do not mark a node as exhausted if we will retry without inlining. | |
64ee9d0 [analyzer] Refactor: Use Decl when determining if the Block belongs to the root function. | |
a0786c9 CodeGen/CGDeclCXX.cpp: Twine-ize CreateGlobalInitOrDestructFunction(). | |
6960587 Unify and fix our checking of C++ [dcl.meaning]p1's requirements concerning qualified declarator-ids. We now diagnose extraneous qualification at namespace scope (which we had previously missed) and diagnose these qualification errors for all kinds of declarations; it was rather uneven before. Fixes <rdar://problem/11135644>. | |
1e1e972 When we form a new function/class template specialization, we first search for the specialization (in a folding set) and, if not found form a *Decl that is then inserted into that folding set. In rare cases, the folding set may be reallocated between the search and the insertion, causing a crash. No test case, because triggering rehashing consistently in a small test case is not feasible. Fixes <rdar://problem/11115071>. | |
6488dc3 Fix suspicious comparison reported by PVS-Studio! | |
81b5ac3 [libclang] Rename setBackGroundPriority -> setThreadBackgroundPriority. | |
8e7c48a [libclang] Fix gcc error. | |
fdc1795 [libclang] Introduce options to control the priority for the threads that libclang creates. | |
bbca564 [libclang] Put the CIndexer class in the clang namespace instead of having it at global namespace. | |
142bcb5 [libclang] For clang_saveTranslationUnit, if the AST to save has invalid nodes due to compiler errors, use a crash recovery thread to do the AST writing for protection. | |
82fe6ae Move the emission of strict enum range metadata behind a flag (the same flag as GCC uses: -fstrict-enums). There is a *lot* of code making unwarranted assumptions about the underlying type of enums, and it doesn't seem entirely reasonable to eagerly break all of it. | |
ba10306 Introduce a new libclang API to determine the parent context of a code completion item. For example, if the code completion itself represents a declaration in a namespace (say, std::vector), then this API retrieves the cursor kind and name of the namespace (std). Implements <rdar://problem/11121951>. | |
2259286 If we see '(...' where we're expecting an abstract-declarator, that doesn't necessarily mean we've found a function declarator. If the next token is not a ')', this is actually a parenthesized pack expansion. | |
b49a29f [libclang] Introduce indexing option CXIndexOpt_SuppressWarnings, which disables all compiler warnings. | |
5594704 modern objective-c translator: writing objc boolean literals. // rdar://11124775 | |
5903a37 [analyzer] Add an option to re-analyze a dead-end path without inlining. | |
14d8381 [analyzer] Fix a typo. | |
65552ca [analyzer] Stats checker: minor interprocedural tweaks. | |
1f5171e [analyzer] Stats: Only count the number of times we run path sensitive analyzes. | |
d1f853d Add better support for $fp and $sp for mips inline asm support. | |
db81d38 [preprocessor] Handle correctly inclusion directives that have macro expansions, e.g "#include MACRO(STUFF)". | |
e033578 objective-c modern translator: move all inithooks into a single array // rdar://11124354 | |
f78c0f9 Even more careful consideration of C++11 13.3.3.1p4. Fixes PR12241. | |
978fc9c Introduce a -cc1-level option -pubnames-dump, which simply dumps the list of identifiers that that 'public' names at the end of the translation unit, e.g., defined macros or identifiers with top-level names, in sorted order. Meant to support <rdar://problem/10921596>. | |
2610f90 Remove few if-then-else when both branches are the same. pr12357. | |
3f162c3 Commit patch reverted in r153454 with the modified test case that I forgot to check in. | |
9da31cb Update the ARC specification for several changes made in the last N months. This required a brief soliloquy about change in an uncertainly-versioned world. | |
5d8388c Add cross-referencing comments to ParseDirectDeclarator to note that isConstructorDeclaration also needs updating for any extension to the grammar of a direct-declarator. | |
de5b4fb Change RetainCountChecker to eagerly "escape" retained objects when they are assigned to a struct. This is fallout from inlining results, which expose far more patterns where people stuff CF objects into structs and pass them around (and we can reason about it). The problem is that we don't have a general way to detect when values have escaped, so as an intermediate step we need to eagerly prune out such tracking. | |
412e0cc When we see 'Class(X' or 'Class::Class(X' and we suspect that it names a constructor, but X is not a known typename, check whether the tokens could possibly match the syntax of a declarator before concluding that it isn't a constructor. If it's definitely ill-formed, assume it is a constructor. | |
3f71860 [driver] Put -cpp-precomp and -no-cpp-precomp under the clang_ignored_f_group. We don't currently support these options. rdar://11120518 | |
d3d7d4d [driver] Testcase for r153469, r153470, and r153478. | |
afc4baa [driver] Fix unused argument warnings. | |
ec09b3e [driver] -mkernel implies -fno-common, so claim the arg to avoid an unused argument warning. Part of rdar://11120518 | |
3d26550 [driver] -mkernel implies -fno-builtin, so claim the arg to avoid an unused argument warning. Part of rdar://11120518 | |
1f4c54d Forward-declared enumerations are now complete, except for an interaction between unscoped enumerations and class template member specializations, whose behavior is currently under discussion in CWG (and for which there is a preference to not implement the currently-standardized wording). | |
0724b7c Add a special-case diagnostic for one of the more obnoxious special cases of unscoped enumeration members: an enumerator name which is visible in the out-of-class definition of a member of a templated class might not actually exist in the instantiation of that class, if the enumeration is also lexically defined outside the class definition and is explicitly specialized. | |
5432ff2 [tests] Fix test failure in release mode. | |
165ce3c Simplify code, no functionality change. | |
ad11f1c Revert r153443 "objective-c modern translator: extern "C" exported", it fails in testing. | |
4cd7edf [analyzer] Malloc: Allow a pointer to escape through OSAtomicEnqueue. | |
54edd47 Test case for r153348. | |
8cb4a07 add tbaa metadata to vtable pointer loads/stores | |
1eb18af Move CodeCompletionBuilder's chunk adding methods out of line. | |
0179868 When diagnosing an invalid out-of-line redeclaration, don't permit typo correction to introduce a nested-name-specifier; we aren't prepared to handle it here. Fixes PR12297 / <rdar://problem/11075219>. | |
b12dc68 objective-c modern translator: extern "C" exported symbols. // rdar://11103982 | |
a8e0b97 Canonicalize the declaration we write to a PCH file for an InjectedClassNameType; otherwise, it won't be properly wired to the original (canonical) declaration when it is deserialized. Fixes <rdar://problem/11112464>. | |
dccb9bb Driver: Factor string vector push_back into a helper class and optimize it. | |
ecafd30 ThreadSafetyReporter: Manage diagnostics in a std::list. | |
38f0df3 Handle instantiations of redeclarations of forward-declared enumerations within templated functions. Build a redeclaration chain, and only instantiate the definition of the enum when visiting the defining declaration. | |
4ca93d9 Delay checking of dependent underlying types for redeclarations of member enumerations in templates until the template is instantiated. | |
b3dcbbd Since this change is generating a considerable amount of discussion (and possibly even a regression for known bad versions), I'm reverting it. | |
b3656d3 No longer hard coding paths to the MinGW include directories; using a regular expression instead. | |
6955da2 clang/lib/Analysis/CFG.cpp: Get rid of early insertion of placeholder to the map. | |
9260f61 clang/lib/Analysis/CFG.cpp: Fix memory leak since r153297. | |
269dd01 Bookkeeping. | |
b293f52 test/Driver/cpath.c: Escape a few args that contain %{pathsep}. | |
1eff209 Fix the tabs. Fix the spaces. | |
560ad31 Migrate external/clang to CLANG-153220-20120321. | |
7e42392 Simplify some users of DenseMap::erase. | |
790d295 remove declaration of _objc_empty_vtable no longer used in modern objc translator. // rdar://11105680 | |
74873c4 Fix copy and pasto. | |
249cd10 moderin objc translator: remove 'const' from remaining fields in _class_ro_t metadata. // rdar://11079898 | |
c3f8955 Add back r153360 with a fix for enums that cover all the 32 bit values. Thanks to NAKAMURA Takumi for finding it! | |
88a569a Revert r153360 (and r153380), "Second part of PR12251. Produce the range metadata in clang for booleans and". | |
d961ea9 Don't cast away constness. | |
539a230 On i386 the alignment of i64 is 4, not 8. | |
1fcf4f1 Bookkeeping in README.android | |
b000fb5 [analyzer] Tighten up the realloc() failure path note generation...make sure we get the right realloc()! | |
3bc75ca [analyzer] Restart path diagnostic generation if any of the visitors change the report configuration while walking the path. | |
0115349 [analyzer] Add a clone() method to BugReporterVisitor, so that we'll be able to reset diagnostic generation. | |
5d5ed59 [parser] If there are unmatched braces in a function definition, try to recover by returning the statements that we parsed so far, instead of dropping the whole function body. | |
e27af29 Second part of PR12251. Produce the range metadata in clang for booleans and c++ enums. | |
f602806 Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up some calling code to actually pass in a non-null type, to avoid a crash. | |
e78ec3e use EP_OptimizerLast instead of EP_ScalarOptimizerLate for ThreadSanitizer | |
fce79eb Make sure we don't accept an @interface inside another objc container just because there was an attribute in front of it. | |
30a2805 [libclang] Make sure we don't crash when trying to index code that managed to insert an @interface as top level decl contained by another @interface. | |
ec5a306 Revert accidentally-committed www changes (and an unused diagnostic); forward-declared enums aren't /quite/ done yet. | |
3343fad When defining a forward-declared enum, don't try to attach the definition to a previous declaration if the redeclaration is invalid. That way lies madness. Fixes a crash-on-invalid reported by Abramo. | |
ad8d8a3 Add support for MIPS' floating ABIs (hard, soft and single) to clang driver. | |
2098c1c Update checker build. | |
514f2c9 Avoid applying retain/release effects twice in RetainCountChecker when a function call was inlined (i.e., we do not need to apply summaries in such cases). | |
f102c45 Remove the vestiges of the C backend. | |
1af83c4 Support for definitions of member enumerations of class templates outside the class template's definition, and for explicit specializations of such enum members. | |
ccc6f36 [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, return from clang_getCursorLocation the start location of the method name. | |
e8018f2 corrected check::EndOfTranslationUnit checker name and added 'const' to declaration | |
8c6d360 [CFG] Cache boolean evaluations of expressions to avoid multiple re-evaluations during construction of branches for chained logical operators. | |
7608a80 Remove unused bits. | |
df474ec modern objc translation of block literal expressions declared at file scope. // rdar://11006566 | |
263e0a6 Small cleanup. | |
8ff6059 Use correct FileCheck regexp. | |
acb5310 When an MMX output variable is tied to the input variable, we have to implicitly cast the value to x86_mmx. This gives the ASM string the correct call signature. <rdar://problem/10919182> | |
bce35a2 line endings | |
e5a8aeb Make sure we correctly set the alignment for vector loads and stores associated with vector element lvalues. Patch by Kevin Schoedel (with some minor modifications by me). | |
5aac0b6 Fix static analyzer crash on code taking the address of a field. Fixes PR 11146. | |
638e2d3 [analyzer] Add the stat for the number of successfully explored paths. | |
749bbe6 [analyzer] Add stats useful for coverage investigations. | |
64394e2 [analyzer] Add inlining awareness to the block coverage computation (Stats Checker). | |
d13c2c2 modern objc rewriter: until we can translate block literals at global scope properly, issue diagnostics. | |
0d4cb85 Fix a comment: kPropertyType = 'T' not 't'. <rdar://problem/11095729> | |
2df089d modern objective-c rewriter: Fix up translation of property attributes. // rdar://11095151 | |
643586f [PCH] When we are replacing a decl in a chained PCH that is also a DeclContext, make sure to fully load its external lexical and visible declarations before re-writing it. | |
86029ea Update front page to indicate that we do, in fact, support some of C++11. | |
06911d4 "Teach" RetainCountChecker about dispatch_set_context, which can indirectly free its argument later. Fixes <rdar://problem/11059275>. | |
8bd37f1 Relax the FileCheck assertions in this test a touch. Previously the test relied on an artifact of how the inliner and subsequent passes in clang's -O3 mode happen to treat basic blocks and the labels for the basic blocks. In my work on the inliner, and changed this fundamental assumption, and the label that was being checked on the entry basic block will no longer appear in opt builds. There was no reason to expect the label to always be present anyways, much to my regret. | |
550f223 Fix broken CFG when an initializer is a statement expression that starts with a while loop (PR 12325). | |
564f4c5 During the instantiation of a class template specialization, that specialization is known to be incomplete. If we're asked to try to complete it, don't attempt to instantiate it again -- that can lead to stack overflow, and to rejects-valids if the class being incomplete is not an error. | |
9293fff Simplify DataRecursiveIntBinOpEvaluator::VisitBinOp() a bit and make sure we don't evaluate RHS if LHS could not be evaluated and keepEvaluatingAfterFailure() is false. | |
f5aa3f5 [analyzer] Malloc: drop symbols captured by blocks. | |
5cf6b6c modern objective-c translator: Change declaration of all objc_msgSend unctions to void parameters and void return. // rdar://11094890 | |
b778305 Change the binary operator data recursive evaluator to not stop at the first non-constant value encountered. This allows the evaluator to deduce that expressions like (x < 5 || true) is equal to true. Previously, it would visit x and determined that the entire expression is could not evaluated to a constant. | |
850f1b1 Remove unused variable, fix indentation. | |
54faba4 For enums with no tag name, display its location in the diagnostic instead of displaying ''. // rdar://11082110 | |
9354f6a fixes the diagnostic issued in // rdar://11069896 | |
cde7a1d Report the natural alignment of unsigned long long, not the preferred alignment. rdar://11054144 | |
1e0c952 Try to get cpath.c passing on windows, using lit's new ${pathsep} variable. | |
3d7c44e [analyzer] Malloc: Utter the name of the leaked variable. Specifically, we use the last store of the leaked symbol in the leak diagnostic. (No support for struct fields since the malloc checker doesn't track those yet.) | |
27b867e [analyser] Factor out FindUniqueBinding from RetainCount checker. | |
046c9e6 [analyzer] Re-enable the test disabled by r152969. (The fix was committed in r152982.) | |
57f6d19 Duplicated code is bad. At least make it consistent. | |
4e648e4 Allow void blocks to return witn a void expression in c-mode to match behavior with void functions in c. Issue warning with -pedantic. // rdar://11069896 | |
677a35b For Darwin, do not let -mcpu override the -arch option. <rdar://11059238> | |
4e825df modern objective-c rewriter: remove 'const' from pointer field declarations in several meta-data. // rdar://11079898 | |
1526f54 Removed repeated word (of of). | |
3ef963b Undo previous patch as I checked more than I intended. | |
7e725bc modern objective-c rewriter: remove 'const' from pointer field declarations in several meta-data. // rdar://11079898 | |
260a3e4 For the annals of subtle but terrible bugs: fix a longstanding bug in vtable layout where virtual methods inherited from virtual bases could be assigned the same vcall adjustment slot if they shared a name and parameter signature but differed in their cv-qualification. The code was already trying to handle this case, but unfortunately used the ordinary type qualifiers (which are always empty here) instead of the method qualifiers. This seems like something that the API should discourage, but I don't know how to carry that principle out in this instance. | |
247c719 clang-interpreter/Makefile: [PR12313] Update USEDLIBS to add clangEdit. | |
20f8939 RewriteModernObjC.cpp: Don't expose temporary std::string with StringRef. (StringRef)getName() can be used here. | |
4c7a6c6 Test case for rdar://problem/11055105, a bug with the instantiation of references to function template parameters in noexcept clauses when the instantiation is forced from a point during parsing when a block is in scope. | |
fde05e1 Close the paren. // rdar://11076938 | |
451b441 Update comment. | |
a62c380 numberWithFloat -> numberWithDouble. | |
12d47cc modern objective-c translator: insert couple of pragmas for optimization. // rdar://11079898 | |
2498885 Fixed typo. | |
62f1234 Added summary section for Object Literals and Subscripting, which contains the external link. | |
4b2fe6e modern objective-c translator: add static function to initialize the class pointer in the category structure. // rdar://11076938 | |
1cd89c4 More careful consideration of C++11 13.3.3.1p4. Fixes PR12257. | |
ca89371 Fix the other place where C++98 work for initializer lists was necessary. | |
452eac1 more modern objective-c meta-data stuff. | |
ca7f5bd Fixed typos. | |
7f919c8 Link to Objective-C literals documentation. | |
af39ba1 Objective-C literals documentation. | |
3739b32 Don't include FixIts with a null replacement range. Fixes <rdar://problem/11040133>. | |
fce8009 Fix a use-after-free in thunk emission. EmitThunk may call RAUW on Init, invalidating the pointer. | |
a03e40c modern objective-c translator: provide meta-data initialization via functions for certain pointer initialization fields. // rdar://11076938 | |
6181e56 Debug info: Tighten up uses of plain MDNode pointers which don't survive replaceOperandWith. | |
fd4ce2c modern objective-c translator: couple of minor changes to how meta-data is declared. // rdar://11076938 | |
c407f25 Test commit. | |
7cb2a1b objective-c modern translator: Refactor intername ivar names to one place and use it throughout. Also, change ivar name to avoid name collisions. // rdar://11079366 | |
db163c8 [avx] Define the _mm256_loadu2_xxx and _mm256_storeu2_xxx intrinsics. | |
acd76fe Add missing bitcast that was breaking Objective-C++ exception typeinfo (GNUstep runtime). | |
d967c6a Add test case for <rdar://problem/10553686>, which illustrates RetainCount checker working with inlined C++ template functions. | |
4cf2253 Fix crash when querying the CFG reported when using the thread safety analysis on code using multi-dimensional arrays. Fix by DeLesley Hutchins, and reported in PR 12271. | |
0822c5f [libclang] Have clang_getCursorExtent() return the range of the main file when the passed cursor is the translation unit cursor. | |
4bcf3d0 removed unused code in the modern objc rewriter file. | |
b455686 LanguageExtensions: Manually word wrap a line to reduce horizontal scrolling. | |
a7d66b5 line endings | |
3538f74 Use a simpler pluralization construct | |
55261af modern objective-c translator: fix type of objc_exception_throw declaration and its siblings. | |
6d2b131 test/Driver/cpath.c: Mark this as XFAIL:mingw32,win32 for now. | |
09c5c39 Fix a regression where ':' in CPLUS_INCLUDE_PATH and friends would no longer separate paths. | |
3e280b5 Add the missing compatibility warning for braced initializers as default arguments. | |
359487b An error can't be in a warning group. | |
393f98b [analyzer] Mark a failed-realloc's result as an interesting symbol between the realloc call and the null check, so we get nicer path notes. Fixes a regression introduced by the diagnostic pruning added in r152361. | |
4207eda Turns #import in MS Mode into an error. | |
07b49a8 Use character literals for vexing initialization fixit hints. | |
ef94588 [analyzer] Use a FoldingSet to cache simple RetainSummary instances, rather than explicitly keeping DoNothing and StopTracking summaries and nothing else. | |
957ff27 Replace a FIXME with a diagnostic when we can't resolve the nested-name-specifier for a class template declaration. Fixes PR12291. | |
42acead Diagnose tag and class template declarations with qualified declarator-ids that occur at class scope. Fixes PR8019. | |
f3aae58 [analyzer] Unify retain-count summary generation for class and instance methods. No functionality change. | |
44b8e46 Kill cocoa::deriveNamingConvention and cocoa::followsFundamentalRule. They are now just simple wrappers around method families, and method decls can cache method family lookups. Also, no one is using them right now. | |
e921b1a [analyzer] Remove duplicate work on deriving method behavior. No functionality change. | |
22e2f85 modern objective-c rewriter: further improvement in writing @synchronized statement; do not call locking expression more than once and support early exits in @synchronized's statement block (such as return). | |
8fe4525 StaticAnalyzer: Fix abuse of StringRef in r152962. | |
8e42f27 When determining the availability of an enum constant, also consider the availability of the enumeration type itself. Fixes <rdar://problem/10996386>. | |
74b7b2b [analyzer] Don't claim an object was returned with +1 retain count before counting autoreleases. Fixes PR10376. | |
7a4a9cd [analyzer] Add test case from PR10794 for using 'new' with Obj-C objects. | |
9c20b75 [analyzer] This test is breaking windows bots, make it darwin-specific. | |
2c085ed Fix crash on invalid code. I've tried to produce a reduced test case, but when I do the specific crash is hidden. Fixes <rdar://problem/11063594>. | |
fbd5874 [analyzer] Shorten the stack hint diagnostic. | |
2eb2729 Make the storing variable's name generic. | |
56a938f [analyzer] Create symbol-aware stack hints (building upon r152837). | |
076add6 [analyzer] +Comments | |
131579f [analyzer] Add a statistic for the number of times we reach the max number of steps in the work list. | |
c9b47f9 Escape % in diagnostic message when compiling LLVM IR. | |
9ab511c sink variable into assert | |
0821263 When "low alignment" is specified, then set the alignment of the aggregate's store to 1. This allows code-gen to select a more appropriate alignment. If left to zero, an alignment greater than the alignment of the pointer may be selected, causing code-gen to use instructions which require an alignment greater than the pointer guarantees. <rdar://problem/11043589> | |
b655bf0 Minor clean up of my last patch. | |
542125f modern objective-c translator: write @synchronized. // rdar://11063663 | |
b136049 Suppress macro expansion of NULL in NULL warnings. | |
9c6fde5 Skip through transparent contexts when deciding where to add a friend function. This fixes g++.dg/parse/friend5.C. | |
e052bda After r150615, which tablegens the group of a diagnostic as an index into the *.inc file, all diagnostic *.inc files depend on all other diagnostic *.td files, because a diagnostic group can be introduced at any of the diagnostic *.td files. | |
4053946 modern objective-c translator: writing @throw statement. | |
0961a01 Warn on flexible array members when in C89 mode, with -pedantic. This fixes PR 4307. | |
e55329d From Vassil Vassilev: Enable incremental parsing by the Preprocessor, where more code can be provided after an EOF. It mainly prevents the tearing down of the topmost lexer. To be used like this: PP.enableIncrementalProcessing(); while (getMoreSource()) { while (Parser.ParseTopLevelDecl(ADecl)) {...} } PP.enableIncrementalProcessing(false); | |
c5d3e80 Fix Objective-C compilation-time performance regression introduced in r152608. | |
ce612f5 Fix analyzer crash on analyzing 'catch' with no condition variable. | |
5214c7a test/Driver/linker-opts.c: Mark as XFAIL:cygming, using gcc linker driver. It should be aware of LIBRARY_PATH. | |
2befa8c Add test case for <rdar://problem/8808566>, which is now fixed by inlining support. | |
1425226 Based on sage feedback, chang -W#import-pedantic to -Wimport-preprocessor-directive-pedantic. | |
ff99320 Don't try to create "store atomic" instructions of non-integer types; they aren't supported at the moment. PR12040. | |
9ace587 Add warning flag for '#import is a language extension', -W#import-pedantic. | |
19ebac1 [arcmt] The hard-coded list of weak-incompatible classes is no longer necessary. rdar://10673816 | |
2af504b [arcmt] iOS is always safe to use 'weak'. rdar://10950825 | |
220419a modern objective-c translation: writing @try/@catch/@finally statements. | |
a43ef3e When a variable has a specified asm name, but isn't using the register storage class, the asm name doesn't specify a register. PR12244. | |
64f678e Fix help text. | |
0950ca0 Update checker build. | |
8ec588e [analyzer] If a metadata symbol is interesting, its region is interesting as well. | |
b122818 modern objective-c translator: writing @try/@finally statement. | |
fc055f9 [frontend] Fix how the frontend handles -fno-inline. AFAIK clang now matches the behavior of gcc with respect to the -fno-inline and -fno-inline-functions flags. | |
7b204d6 Include full plist output in FileCheck test. | |
11e35b6 Include full plist output in FileCheck test. | |
76b85ac Do not truncate expected plist output in FileCheck test. | |
d7b8314 [analyzer] Remove AggExprVisitor, a dead class that assisted in visiting C++ expressions with a "base object", because the CFG is now linearized. | |
4b911e6 Support deducing template arguments from nested initializer lists. PR12119. | |
afcd195 Support '%p' format specifier with block pointers. | |
aea3ece It was pointed out that a checking version of strdup isn't needed. So much for late-night hacking. :) | |
368a0d5 [analyzer] Allow checkers to supply call stack diagnostic hints for the BugVisitor DiagnosticPieces. | |
2b2bbee Provide the specific target type in the -Wnull-conversion warning. | |
4c14881 modern objective-c translator: rewriting of @catch-stmt. | |
0f5897b Document RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate(). | |
62d7fea [c-index-test] Make it C90 compliant. | |
13c20a7 [libclang] A couple of enhancements to c-index-test. | |
90226ac Make RecursiveASTVisitor to traverse certain statements using data recursion to avoid a stack overflow with extreme cases. | |
cc2f77a [Sema] Introduce a data recursive evaluator specific to binary operators. | |
649dfbc Remove hacky temporary fix of r151585. | |
30650eb modern objective-c translator: please symbols generated for @protocol expression into their own section. | |
cad313b When laying out an Objective-C object, consult the external source to complete the Decl if it hasn't been completed already. | |
684944e fix link | |
abc31ca [asan] update asan docs: mention CMake problem and to explain the status of MacOS 10.7 and 32-bit Linux | |
e87e851 Adding in newer MinGW header paths. | |
1ee9b0f Add the object size checking support for a few other builtins. | |
bd86ad5 Fix codegen for vld{3,4}_dup intrinsics. | |
1d23c42 Unpluralize -Wfoo-conversions warnings for consistency. | |
5cfc7d8 Unrevert r152761 (reverted in r152772) with a fix for the issue which was breaking bootstrap. No test yet: it's quite hard to tickle the failure case. The specific testcase for this wouldn't be useful for testing anything more general than a reintroduction of this precise bug in any case. | |
95187bd Reapply r152745 (reverted in 152765) now that compiler-rt is fixed. | |
7267839 Revert r152761 "Minor optimization to constant evaluation: don't bother computing expr source...", it breaks bootstrap. | |
6d96d3a Small cleanup: move trailing-return-type special-casing into getDeclSpecContextFromDeclaratorContext. | |
9ca33fd Revert r152745 as it's breaking the internal buildbots. | |
d75fb49 Minor optimization to constant evaluation: don't bother computing expr source locations for diagnostics we're not going to emit, and don't track the subobject designator outside C++11 (since we're not going to use it anyway). | |
878416d Remove a variable rendered unused by r152750. | |
0e3c989 Adding some more specific tests for enum declspec parsing, to prove that it really works. | |
8fbe385 [frontend] Add support for disabling the "inline" keyword using -fno-inline-functions. | |
88f7f75 modern objective-c translator: section info. and metadata for "non-lazy" class and categories. | |
f1c66b4 Instantiating a class template should not instantiate the definition of any scoped enumeration members. Later uses of an enumeration temploid as a nested name specifier should cause its instantiation. Plus some groundwork for explicit specialization of member enumerations of class templates. | |
59e7f4e '#if 0' out a variable that's only used in other preprocessor-disabled code. | |
47bfaf1 Provide -Wnull-conversion separately from -Wconversion. | |
10cde2f objective-c modern tranaltor. More section info. for misc. objc meta-data. | |
3183075 [analyzer] A fixup to r152734. Always initialize the flag. | |
c0765a0 No longer defining LP64 in 64-bit builds on platforms which are not LP64. | |
5a7120c When emitting a diagnostic about two-phase name lookup, don't do useless qualified name lookups into transparent contexts. | |
d53e877 Fix dereference of end iterator. Spotted by ASan. | |
9373937 [analyzer] Diagnostics: Supply Caller information even if the bug occurs in the callee. | |
de5d946 objective-c modern translator. Add the _class_ro_t.reserved field for 64bit targets. // rdar://11040024 | |
e711d7e [Analyser] Remove unnecessary recursive visits for ExprWithCleanups and MaterializeTemporaryExpr. | |
72ff6bb Remove clang-wpa example, which has been unmaintained for quite a while. | |
f6b8b58 Minor cleanup in attribute-related diagnostics, from Alexander Kornienko! | |
84407ba Parse brace initializers as default arguments. PR12236. | |
e5049d2 [Analyser] Removes more recursive visitations in ExprEngine that are no longer needed as the CFG is fully linearized. | |
7059a1c [Basic] Change DiagnosticBuilder to use a separate status variable to track whether the builder is active. - This may seem superflous, but actually this allows the optimizer to more easily eliminate the isActive() checks needed by the SemaDiagnosticBuilder and DiagnosticBuilder dtors. And by more easily, I mean the current LLVM is actually able to do one and not the other. :) | |
393eed7 [Sema] Fix SemaDiagnosticBuilder to be inline. - As with DiagnosticBuilder, it is very important that SemaDiagnosticBuilder be completely inline to ensure that the compiler can rip it apart and sink it to registers. | |
4ccf737 Remove trailing whitespace (especially after a \ which should be trailing) | |
5aed86c -arch is a darwin-only feature, use -target instead to make the linux buildbots happy again. | |
1671745 Add support to mangle templated member function names with template args. | |
1cdbfd3 Typo. | |
9648a9e objective-c modern rewriter. Do not add _class_ro_t.reserved field. // rdar://11040024 | |
4574c3d [driver] Clang should report an error for -faltivec on non-ppc. rdar://10963572 | |
3b10cfe When adding member functions to a class add any specializations of function templates as well. | |
e7591c5 Add a test case for PR8385. | |
6cc0969 [analyser] Refactor shouldInline logic into a helper. | |
fc544e3 [analyzer] Call enter/exit diagnostic should refer to caller/callee, respectively. | |
3054f09 [Basic] Fix up DiagnosticBuilder::{FlushCounts,Emit} to be inline. | |
4b1f684 Allow vectors to be constructed from constexpr function arguments in constant expressions. | |
cf3a6c4 Update test case to use not tool. | |
2dec85b [driver] Parse diagnostic args in the driver. | |
b990d03 [analyzer] Change the order in which we analyze the functions under inlining to be the reverse of their declaration. | |
7fe8dce [analyzer] Use BFS over call graph when analysing functions. | |
a2e589e [analyzer] Refactor CallGraph to use Recursive AST visitor when collecting function Decls. | |
aa56098 [analyzer] Use recursive AST visitor to drive simple visitation order in AnalysisConsumer. | |
9852083 [analyzer] Minor: factor out logic for determining if we should skip a function. | |
b6ee44d [analyzer] Move the check for parser errors out of the loop over Decls. | |
efe9c0d Fix the long double to be of width/align 64. Rename va_list_test to powerpc_types and add testing for the (long) double there. | |
00b4384 Spelling. | |
cefcbef [Basic] Make DiagnosticBuilder::{Clear,Emit} protected. | |
243d7ab [Basic] Eliminate DiagnosticBuilder::Suppress and matching ctor, this stuff is not used anymore (good thing we are still paying for it!). | |
06265bd [Basic] Make DiagnosticBuilder::{isActive,getLocation,getDiagID} protected. | |
53c83b3 [Basic] Fix ~Diagnostic() to not call Emit() when there is no diag obj (most commonly when the diag has been copied). - This eliminates a completely spurious call to Emit() which was in Sema::Diag(). Sob. | |
981e279 [Basic] Stop using a SmallVector<> for Diagnostic. This drops Clang binary size by ~%.3/~100k in my build -- simply by eliminating the horrible code bloat coming from the .clear() of the SmallVector<FixItHint>, which does a std::~string, etc. - My understanding is we don't ever emit arbitrary numbers of fixits, so I just moved us to using a statically sized array like we do for arguments and ranges. | |
bea6c0a Remove unused-but-set variable. | |
e3d175d Long double is just double on FreeBSD/{PPC,PPC64}. | |
e6dd683 Tweak linkage order for solaris. | |
9cda03f Ensure that default arguments are handled correctly in sub scopes. For example: | |
e37f484 Implement [temp.param]p5: the top-level cv-qualifiers on a non-type template parameter's declaration are ignored when determining the parameter's type. | |
7c5d28b PR11850 + duplicates: don't assume that a function parameter pack expansion is at the end of the parameter list. | |
b03a9df PR11925: A function can't have a variably-modified return type. Not even in C++. | |
65daef1 It never makes sense to do a lookup into a LinkageSpecDecl, so assert that we don't, and clean up the places that do it. | |
1b7f9cb Fix PR10447: lazily building name lookup tables for DeclContexts was broken. The deferred lookup table building step couldn't accurately tell which Decls should be included in the lookup table, and consequently built different tables in some cases. | |
4bd2654 [libclang] When there's a file error when saving the PCH, make sure to clear the error from raw_fd_ostream, otherwise we will crash. | |
23dde82 Make the error about assigning to lambda-captured variables clearer, and mention the existence of mutable lambdas. | |
a5f4441 [Sema] Prefer to use ObjCInterfaceDecl's protocol_begin()/protocol_end() iterators instead of ObjCInterfaceDecl::getReferencedProtocols(), because the iterators are safe to use even if the caller did not check that the interface is a definition. | |
cd707ab Fix crash at @implementation with a forward reference as base class. | |
78dae24 Alternate fix to PR12248: put Sema in charge of special-casing the diagnostic for assigning to a copied block capture. This has the pleasant side-effect of letting us special-case the diagnostic for assigning to a copied lambda capture as well, without introducing a new non-modifiable enumerator for it. | |
8ce6d21 [msvc] Honor %INCLUDE%. It should know essential search paths with vcvarsall.bat. | |
c38503b modern objective-c translator. @try/@catch translation. wip. | |
29af3c7 Add new analyzer diagnostic mode where plists can have bugs that span multiple files. | |
e881efe [analyzer] Include inlining call stack depth in plist output. | |
3d71715 Address some of the concerns by Chandler. | |
e8cb554 Update FIXME. | |
bdb8f3c Have clang pay attention to the LIBRARY_PATH environment variable. | |
860d9b7 C++11 [temp.deduct.call]p6 tweak: when given a set of overlaoded functions that includes an explicit template argument list, perform an inner deduction against each of the function templates in that list and, if successful, use the result of that deduction for the outer template argument deduction. Fixes PR11713. | |
71930e0 Make sure we treat variables captured by reference in lambda as modifiable lvalues. Regression from r152491. Fixes PR12248. | |
9a0b6b4 [Sema] -Add an invalid objc category to the DeclContext so that it can be serialized -Don't add methods of invalid objc containers to the global method pool. This protects us from trying to serialize a method whose container was not serialized. | |
d8b5ca1 ObjCBoolLiterals (__objc_yes/__objc_no) behave like C++ booleans (true/false). They are NOT objects. | |
40a777a objective-c modern translator: ivar offset symbols will reside in .objc_ivar$B sections. // rdar://11023490 | |
6f42669 Fix a crash-on-invalid found by -Wlogical-op-parentheses. | |
e45b9b7 Use ZeroLengthBitfieldAlignment for AAPCS, as well as APCS-GNU. | |
7796eb5 Fix parsing of trailing-return-type. Types are syntactically prohibited from being defined here: [] () -> struct S {} does not define struct S. | |
69730c1 Fix parsing of type-specifier-seq's. Types are syntactically allowed to be defined here, but not semantically, so | |
0be8fb5 Fix typo in comment, 'langauge' -> 'language'. | |
1ca052c objective-c modern abi rewriter: provide section pragmas for statically writter metadata. // rdar://11023490 | |
594f841 Document the weak-linking behavior of the availability attribute | |
74d2a9c Update library dependencies to add clangEdit on c-index-test and c-arcmt-test. | |
4e4d084 Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). | |
7c02cfe llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. | |
93a7067 Document the availability attribute | |
fc55a82 When template argument deduction is ignoring qualifiers, perform deep structural comparison of non-dependent types. Otherwise, we end up rejecting cases where the non-dependent types don't match due to qualifiers in, e.g., a pointee type. Fixes PR12132. | |
15dcec7 cxx_status: No compiler changes are required for 'minimal support for garbage collection'. Keep it in the table to match gcc's table, but mark it N/A. | |
8e55ed1 Add a missing 'template' keyword. | |
3e67814 [analyzer] Replace a static helper with existing logic. No functionality change. | |
5a7a5bb When determining whether an identifier followed by a '<' in a member access expression is the start of a template-id, ignore function templates found in the context of the entire postfix-expression. Fixes PR11856. | |
426d6ca Fix crash & accepts-invalid for array of arrays of user defined type. | |
dc72dc8 Updated the test so that it checks for ms-compatibility in addition to ms-extensions. | |
b017ea2 Adding namespace qualifiers to the visualizers and improving their behavior. | |
5cc6787 [clang.py] Implement Cursor.objc_type_encoding | |
5b31d55 No longer defining GNUC mode when compiling for Microsoft compatibility. This allows people's cross-platform compiler-specific macros to work properly. | |
bccda48 Clarify even further that the lambda-to-block-pointer conversion is only available in Objective-C++ | |
1f1988f [clang.py] Refactor get_tu and get_cursor test helper functions into util.py | |
e5658f0 PR12225: The requirement that literal operators be namespace-scope functions does not imply that such functions can't be declared at block scope. | |
09c9a56 Use VersionTuple to manage macosx versions in the driver. No functionality change. | |
4e494cf Simplify code. No functionality change. | |
ce0d897 objective-c modern rewriter: add __declspec(dllexport) to forward declaration of class metadata when they are defined later. | |
6991bc5 objc modern rewriter: Define __OBJC2__ in written file. // rdar://11024543 | |
9b20a90 Replace a map of boolean values with a set. | |
2f47c36 The type of a definition should not increase its visibility. Fixes PR12221. | |
f4b88a4 Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit. | |
1659c37 Slightly tweak this condition. "isTransparentContext()" was checking whether an enum is scoped or not, which is not relevant here. Instead, phrase the loop in the same terms that the standard uses, instead of this awkward set of conditions that is *nearly* equal. | |
8d17681 Could not find this in C99. Perhaps this rule comes from a DR, but in any case please annotate it with a note explaining why this wrong-seeming behaviour is correct. | |
f52757d Only make a call to a copy constructor elidable if in fact we are doing a copy. Fixes PR12139. | |
a346efa [Sema] A tag decl that is marked as invalid and is used in a decl-spec, should not impede creating a proper TypeLoc info for the decl-spec. | |
cb00cc4 Remove the part of test/Sema/pragma-pack-2.c that has irregular "#pragma pack"s. | |
dd2ecee Unify the BlockDeclRefExpr and DeclRefExpr paths so that we correctly emit loads of BlockDeclRefExprs even when they don't qualify as ODR-uses. I think I'm adequately convinced that BlockDeclRefExpr can die. | |
89da8cf Fix the dumping of BlockExprs. | |
e6adea9 test/Rewriter/rewrite-modern-ivars-2.mm: Add "-triple i386-apple-darwin9". | |
79a5501 Fix a use of the C99 PRI format macros not to conflict with C++11 UDLs. | |
540659e Make sure the accessors for overridden methods don't return inherited constructors. Fixes PR12219. | |
117591f objc modern rewriter: don't export @package ivar symbols. | |
337e4db [analyzer] fix regression in analyzer of NOT actually aborting on Stmts it doesn't understand. We registered as aborted, but didn't treat such cases as sinks in the ExplodedGraph. | |
edfac03 IRgen/ABI/x86_64: Avoid passing small structs using byval sometimes. | |
d1c84d3 Minor change to my last rewrite patch. | |
e57303c objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport) // rdar://11023563 | |
db762ef Qualifiers on a canonical array type go on the outermost type, not the innermost type. Fixes PR12142. | |
0069b84 Assign APValues by swapping from a temporary. Removes a bunch of unnecessary copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences on my constexpr torture tests are below the noise floor. | |
97c1fd6 objective-c modern rewriter. More fixes related to rewriting ivars in the modern rewriter. | |
7acf23f Teach RetainCountChecker about mixing method families with explicit annotations. Fixes <rdar://problem/10824732>. | |
8a4e182 Document the conversion from a lambda closure type to a block pointer in Objective-C++. | |
26b75c0 Improve diagnostics for UCNs referring to control characters and members of the basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done. | |
e7d6ca0 [Sema] Fix a diag change to include a range that appeared intended, but never actually happened. | |
df42354 Update comment after r152140. Clarify a bit too. | |
3fd5f37 [analyzer] Add support for NoRedundancy inlining mode. | |
a5d531f CallGraph: Add getNode() method, constify. | |
ba50b3e Allow serializing an invalid ParmVarDecl and don't set access to public for invalid ParmVarDecls. | |
8788b22 Revert r152430 "[AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY.", getTypeInfo() is totally not READONLY, which I should have probably noticed given that I made it so mere hours ago. Oops. | |
feb1f4a Add a helper to get a CXXConstructExpr from a CXXNewExpr. | |
216f78b Improve our semantic error recovery. | |
f9ff587 [AST] Mark Expr::Ignore*() functions as LLVM_READONLY. | |
29c6c6e [AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY. | |
4f31118 [AST] Mark Expr::getExprLoc() as LLVM_READONLY. | |
780249b [Sema] Remove dead getSourceRange() call, caught by Clang after marking LLVM_READONLY. | |
aa49a7d [AST/etc] Mark {getSourceRange(),getStartLoc(),getEndLoc()} as LLVM_READONLY. - The theory here is that we have these functions sprinkled in all over the place. This should allow the optimizer to at least realize it can still do load CSE across these calls. - I blindly marked all instances as such, even though the optimizer can infer this attribute in some instances (some of the inline ones) as that was easier and also, when given the choice between thinking and not thinking, I prefer the latter. | |
69e7692 Add user-defined literals to release notes. | |
509fb3e lldb support: under debugger support flag, when sending message to forward class, and assigning to an 'id' type var, message sends default to 'id'. // rdar"//10988847 | |
96a0014 [AST/Sema/libclang] Replace getSourceRange().getBegin() with getLocStart(). - getSourceRange().getBegin() is about as awesome a pattern as .copy().size(). | |
3d4144f [AST/Sema] Add {CXXBaseSpecifier,Declarator,DeclSpec,TypeLoc,UnqualifiedId}::getLoc{Start,End}. | |
8fbc6d2 [AST] Define a few more key getLocStart() implementations. - This cuts the # of getSourceRange calls by 60% on OGF/NSBezierPath-OAExtensions.m. | |
90e25a8 [AST] Reimplement Stmt::getLoc{Start,End} to dispatch to subclass overloads. - getSourceRange() can be very expensive, we should try to avoid it if at all possible. | |
396ec67 [AST] Add {DeclRefExpr,MemberExpr,ImplicitCastExpr}::{getLocStart,getLocEnd} methods. - There are probably a lot more of these worth adding, but these are a start at hitting some of the exprs for which getSourceRange().getBegin() is a poor substitute for getLocStart(). | |
406dac0 [AST] Add DeclaratioName::getLoc{Start,End} for consistency. | |
7b14026 [Basic] Rename LangOptions::NoInline to NoInlineDefine, to make things a bit more obvious. | |
15debc3 Harden test for 32 bit platforms, where size_t is unsigned int (not unsigned long). | |
f856264 -Wformat-non-iso: warn about positional arguments (pr12017) | |
ef9f298 Fix statement printing for raw and template user-defined literals. | |
9c1dda7 User-defined literals are done. | |
3a5032b Literal operator suffixes and regular names live in separate namespaces. | |
a9e88b2 Literal operators can't have default arguments. | |
36f5cfe Support for raw and template forms of numeric user-defined literals, and lots of tidying up. | |
8a26fc1 Remove accidental binary commit. | |
bc5419a [AST] Memoize ASTContext::getTypeInfo(). - On -emit-llvm-only of 403.gcc/combine.c, for example, we make 160k calls to getTypeInfo but only ever deal with 680 some distinct types. | |
5aba3eb Perform l2r conversions on delete operands before doing type-analysis; otherwise, we just completely do the wrong thing for placeholders. | |
71cba34 Make sure we update the static local decl address map when we are forced to rebuild a global because of the initializer. <rdar://problem/10957867>. | |
8b42ab7 Make sure constant emission handles initializer lists with strings correctly. Part of <rdar://problem/10957867>. | |
42f42c8 [AST] NestedNameSpecifier's ctor/dtor are trivial and should be inlined. | |
cd48592 [AST] Type::isVoidType() is trivial and should be inlined. | |
3d13c5a [AST] Reduce Decl::getASTContext() calls. - This function is not at all free; pass it around along some hot paths instead of recomputing it deep inside various VarDecl methods. | |
76aadc3 [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. Essentially, a bug centers around a story for various symbols and regions. We should only include the path diagnostic events that relate to those symbols and regions. | |
d95e0b8 [analyzer] Use call graph to determine order in which functions are analyzed. | |
6625335 [analyzer] Rework inlining related command line options. - Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods. | |
d277661 Call Graph: Only the root node is allowed to have an invalid Decl*. | |
e093404 Remove a test FIXME for a case which is already fixed. | |
3376277 Fix a couple of issues with literal-operator-id parsing, and provide recovery for a few kinds of error. Specifically: | |
1e5bc4f Don't crash when a statement in a block is ill-formed but introduces cleanups anyway. | |
49d5174 When checking the encoding of an 8-bit string literal, don't just check the first codepoint! Also, don't reject empty raw string literals for spurious "encoding" issues. Also, don't rely on undefined behavior in ConvertUTF.c. | |
188158d Turn explicit construction of temporaries using initializer list syntax into CXXTemporaryObjectExprs, not just CXXConstructExprs, which have a worrying tendency to vanish. Fixes PR12167. | |
56757e9 Untangle getUnderlyingDeclImpl, no functionality change. | |
2a6dc14 [utils/FuzzTest] Add '--stop-on-fail' to stop the script on the first failure without reverting the changes. | |
e13edcb [AST] Clean up NamedDecl::getUnderlyingDecl() change a bit. | |
a50a5cd Remove stray semi-colon. | |
7a8c758 [AST] APValue: Split the fast path of MakeUninit to be inline. - This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think it is the right thing to do. | |
3cb8e2f [utils/FuzzTest] The help message says that if you don't specify --max-tests "the script will run forever continually picking new tests to run", make it so. | |
00f1f27 [utils/FuzzTest] For --filelist the option type is string, not integer. | |
54e1c41 [Basic] PartialDiagnostic: Manual split out the cold part of freeStorage(), the hot path will typically profitably get inlined (based on what I see from the users of PartialDiagnostic). | |
6daffa5 [AST] Change NamedDecl::getUnderlyingDecl() to inline the fast (and incredibly common) path. | |
0250393 Replace MarkVarRequired with a more generic HandleCXXStaticMemberVarInstantiation. Suggested by Argyrios. | |
4fae2d9 Also test pr12104 with pch. | |
701ec8d Implement -fno-dwarf2-cfi-asm on linux too. | |
9168830 Ensure we don't print 123ULL_foo when printing a user-defined integer literal. | |
b453ad3 Add support for cooked forms of user-defined-integer-literal and user-defined-floating-literal. Support for raw forms of these literals to follow. | |
aae1d8b Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html | |
76e035a [AST] Change Type::isIntegerType to be inlined(). It is very popular. | |
2fb4ae3 Implement C++11 [lex.ext]p10 for string and character literals: a ud-suffix not starting with an underscore is ill-formed. | |
5bc37f6 Loosen the precondition of isCXXInstanceMember() to simply return "false" for declarations that aren't members of classes. Fixes PR12106. | |
9df08bb Spelling. | |
c2bd73b Sema: Don't emit a gajillion calls to sanity() -- an empty function -- in NDEBUG builds. Sheesh. | |
dd66be7 User-defined literal support for character literals. | |
ffea6b4 Fix -Wuninitialized to catch the case of a class being initialized with a call to its own member function. | |
29f98b4 [libclang] Fix a crash when serializing a preprocessing record that contains an #include entry that did not resolve to header file. | |
d78ef5b Streamline BalancedDelimiterTracker, by eliminating the duplicate paren/brace/bracket tracking (the Consume* functions already did it), removing the use of ConsumeAnyToken(), and moving the hot paths inline with the error paths out-of-line. | |
9ae3a36 improve on diagnostic when block captures uninitialized block variable. // rdar://10817031 | |
196b8cf Add a basic CallGraph to Analysis. | |
a34194f improve on diagnostic and provide a fixit hint when an uninitialized block variable is being called inside the block literal. // rdar://10817031 | |
044e645 [libclang] Enhance clang_getOverriddenCursors. | |
e286d9b Workaround module test failures by removing the version info from module hashes. | |
9ea396a Remove unnecessary include in ExprObjC.h | |
cbf8209 Be smarter in discovering list-initialization of temporaries. Fixes PR12182. | |
8013458 Correct the documentation to give a legal example of a raw string literal. | |
9fcce65 AST representation for user-defined literals, plus just enough of semantic analysis to make the AST representation testable. They are represented by a new UserDefinedLiteral AST node, which is a sugared CallExpr. All semantic properties, including full CodeGen support, are achieved for free by this representation. | |
b65e24a Test fix-it added in r152198. | |
e816c71 Add -Wc++11-compat warning for string and character literals followed by identifiers, in cases where those identifiers would be treated as user-defined literal suffixes in C++11. | |
946e272 Don't even try to directly emit the value of a DeclRefExpr if that declaration is not usable in a constant expression. ~2.5% speedup on 403.gcc / combine.c. | |
bef35c9 [PCH] Mark a PCH file with a flag to indicate if the serialized AST had compiler errors or not. | |
4a90e1a Correct test from r152189. | |
9e9c454 Make sure we consistently canonicalize types when canonicalizing TemplateTemplateParmDecls. PR12179. | |
458a7fb objective-c lldb support: don't perform ivar access control check when debugging. // rdar://10997647 | |
fddfbdb More git-svn compatible version string, by request. | |
485ea8e The constant folder's diagnosic mechanism is irrelevant for C; don't bother producing a C-only diagnostic. | |
8ba9a62 [driver] Don't try to generate diagnostic information for linker crashes. rdar://10993648 | |
8b8d953 Silence unused variable warnings. | |
e53ac8a Refactor Clang sema attribute handling. | |
29293cd AST: fix build since r152060 | |
047da19 [AST] VarDecl::hasDefinition() - Early exit if we find a strong definition. | |
60d302a [AST] FunctionDecl::getBuiltinID() - Eliminate spurious calls to getASTContext -- which is very much not free -- in the common case. | |
8e282c3 Fix horrific CFG bug where '@autoreleasepool' would be put in a dangling block in the CFG. | |
e5de376 Missing period. | |
53cb2b4 Whitespace. | |
ba66c6c Cleanup (style). Thanks to Argyrios for catching this. | |
84a9d9e commit access verified, revert change | |
e49e67e test commit access | |
00fd5dd CMake: Fix build to add clangEdit to USED_LIBS. | |
b82019b [objcmt] Add a triple to test/ARCMT/objcmt-subscripting-literals.m | |
ce9c831 Extended the UnknownAnyTy resolver to handle blocks with unknown return types. This allows LLDB to call blocks even when their return types aren't provided in the debug information. | |
1c31ee8 get rid of an unsued variable warning. | |
634a4b1 [driver] What was implemented in r152130 was actually -fno-inline-functions, not -fno-inline. Part of rdar://10972766 | |
7ba87f3 Just use memcpy directly, uninitialized_copy requires an <algorithm> include. | |
30660a8 Add new code migrator support for migrating existing Objective-C code to use the new Objective-C NSArray/NSDictionary/NSNumber literal syntax. | |
2a25396 Enable default @synthesize by default. | |
1a45a5f Add static analyzer support for new NSArray/NSDictionary/NSNumber literals. | |
b3f7542 And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. | |
ebcb57a Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting. | |
9f86af8 Whitespace. | |
6e2cdfd Minor fix for r152130. Put -fno-inline in f_Group. | |
250008b [driver] Add support for -fno-inline. rdar://10972766 | |
27949f6 Undo patch for // rdar://10735698 | |
f9aa363 AST: Move several Type::is...Type() functions to be inline. - These functions are both (a) very commonly called and (b) excellent candidates for CSE in the callers in which they are commonly used. - That isHalfType() is hot makes me sad, but it is trivially when inlined (and a huge waste of time when not!!!). - The extra IsEnumDeclComplete() function is a hack to break the cycle between Type.h and Decl.h, I'm not sure of how to do this more cleanly, but am open to ideas. | |
81e722e NamespaceDecl: Call non-virtual method inside virtual method, not the other way round. | |
9a2105b objective-c modern translator. Don't ignore unnamed bitfields when rewriting. | |
faa7fac Use newly introduced const-goodness of TinyPtrVector. | |
99831e4 User-defined literals: reject string and character UDLs in all places where the grammar requires a string-literal and not a user-defined-string-literal. The two constructs are still represented by the same TokenKind, in order to prevent a combinatorial explosion of different kinds of token. A flag on Token tracks whether a ud-suffix is present, in order to prevent clients from needing to look at the token's spelling. | |
c1b0f7f Use TinyPtrVector instead of UsuallyTinyPtrVector. | |
c112b9c Move clang/Basic/UsuallyTinyPtrVector.h to llvm/ADT/UsuallyTinyPtrVector.h. | |
097ebb3 [analyzer] add a diagnostic event when entering a call via inlining, within the callee, and add an edge. | |
2dd17ab [analyzer] 'Looping back to the head of the loop' diagnostics are prunable. | |
792777c Move include/clang/AST/UsuallyTinyPtrVector.h -> include/clang/Basic/UsuallyTinyPtrVector.h and add an erase method to it. | |
218fce0 [analyzer] Remove now-unused constant. No functionality change. | |
257c60f [analyzer] Fix unnecessary dyn_cast_or_null. No functionality change. | |
3ebdd85 Add some doxygen comments. | |
d42236e [tablegen] Make sure that the code that is determining the order of warning groups is shared to avoid any "misalignment" if indices. | |
e4d653b Teak CallAndMessageChecker to only warn about uninitialized struct fields in call arguments when the called function is never inlined. | |
8fbb4e6 [analyzer] Bump up the size of the functions that should be considered for inlining to 200 BBs. | |
6a5d30e Minor refactoring for previous patch for // rdar://10735698 | |
0cc323c static_assert: Allow any string-literal as the message, not just a character string literal, and adjust the diagnostic code to match. This also causes us to escape any control characters in the message. | |
a99f874 Teach SimpleSValBuilder that (in the absence of more information) stack memory doesn't alias symbolic memory. This is a heuristic/hack, but works well in practice. Fixes <rdar://problem/10978247>. | |
3610355 Merge with upstream Clang @152062. | |
02892a6 AST/stats: Don't effectively use an out-of-line function to return a static bool. Ugh. | |
7034fb6 ASTContext: Don't use nothrow specifications on the new operators for allocating from the ASTContext. - Doing so requires the compiler to generate null checks against the returned result, but the BumpPtrAllocator never returns null pointers. - The optimizer can usually eliminate such checks, but not always, so this gives us tighter codegen in some places. - It would be really nice if we could just use __builtin_unreachable or something to tell the optimizer that the allocator never returns null, but LLVM isn't currently that smart. | |
d38f795 [analyzer] Time the execution (per each TU) with -analyzer-stats. | |
3518058 build/compiler-rt: Stop forcing off -integrated-as for compiler-rt builds. | |
2835745 If the element type of an initializer list has a destructor, make sure we check it. Fixes PR12178. | |
abf9d90 patch to optionally warn for block implementations without explicit return types that return non-void values. // rdar://10735698 | |
a187c5c Add MCRegisterInfo to the MCInstPrinter factory function interface. | |
f420fe3 [analyzer] False positive in SelfInit - teach the checker about method calls with self as a parameter. | |
fb7f76f [analyzer] Malloc should assume that ownership is transfered when calling an ObjC method ending with 'NoCopy'. | |
52c1668 Avoid double lookup. | |
12fc4b0 Properly handle non-canonical underlying types in ASTContext::getUnaryTransformType. This can happen if, for example, an enumeration's underlying type is a typedef. | |
2bfdad1 Fix a -Wstring-plus-int warning. | |
713575a TargetInfo: create less temporary strings. | |
234fe65 Fix a small difference in sema and codegen views of what needs to be output. | |
b3c312c Fix a bug in the mangler where in 'namespace std { extern "C" {X;} }', X would not be seen to be in ::std::. | |
2a27818 [arcmt] -Make sure we don't change to '__weak' a __block variable used as output. -Make sure we don't apply __weak twice. | |
c6c5452 [preprocessor] Enhance PreprocessingRecord to keep track of locations of conditional directives. | |
bb66066 [preprocessor] Enhance the preprocessor callbacks: | |
d4f9f9d More tests for r152012. | |
5cc2c6e Lexing support for user-defined literals. Currently these lex as the same token kinds as the underlying string literals, and we silently drop the ud-suffix; those issues will be fixed by subsequent patches. | |
9d008fd [clang.py] Return bool from Cursor.__eq__ | |
a81d3d4 Remove a recursive visitation in ExprEngine that is no longer needed because the CFG is fully linearized. | |
77889c4 Silence a GCC warning about a set-but-not-used variable in release builds. | |
b4a7b1e Add tests for [over.literal]. Fix a few bugs which were exposed by the tests. | |
5bd20ff From his comment in PR12168, Eli seems confused about the alignment assumptions we're making. We only ignore implicit casts. Add a testcase showing that we get the right behavior with explicit casts. | |
d6e7356 add a testcase for PR12094 and fix a crash on pointer to incomplete type, reported by Richard Smith. | |
ec92bc7 Add a pile of tests for unrestricted unions, and advertise support for them. | |
1aa0be8 constexpr: Remove APValue/CCValue distinction. It is no longer useful given the resolution of core issue 1454. | |
7eb7d99 Remove unused variable. | |
3fd8087 Fix Typo in 'objc changes' anchor. | |
16412ef Avoid an unnecessary recursive loop between type canonicalization and NNS canonicalization which would (rarely) lead to memory corruption. While I'm here, simplify. Fixes PR12166. Not committing a testcase because it's impossible to reduce it. | |
7e86783 [analyzer] do not warn about returning stack-allocated memory when it comes from an ancestor stack frame. | |
1f73ae2 Factor bitfields of LangOptions out into a base class in order to make them trivially-copyable. 50KiB reduction in clang binary size. | |
e21dd28 Frontend: Default to creating output files using temporary files + rename. - This is a more reliable default, as it behaves better on failure and also ensures that we create *new* files (instead of reusing existing inodes). This is useful for other applications (like lldb) which want to cache inode's to know when a file has been rewritten. | |
12f28ab Frontend: Don't automatically create missing directories when using temporary files with createOutputFile() - This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating parent directories. | |
0d95dfc Thread safety analysis: expand set of expressions that can be used to denote locks. | |
a3ca41f Reinstate r151879, r151880, reverted in r151922, along with a bugfix for scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8. | |
067cc40 Unbreak the CMake builds following the CallGraph change. | |
ff1e9cc Add a test for the -Wstring-plus-int fixit note. | |
190f600 [analyzer] Rename clang::CallGraph into clang::idx::CallGraph + rename the corresponding files to avoid confusion. | |
4c55c54 Adding support for #pragma include_alias in MS compatibility mode. This implements PR 10705. | |
7ec419a Issue warning when late-parsed attributes have no declaration. | |
2287c5e Make late-parsed attributes follow the conventions of ordinary GNU attributes to a better extent, by allowing them in more places on a declator. | |
2a35be8 Thread safety analysis: handle CFG blocks which call functions marked as noreturn. | |
1cb2d74 Add -Wstring-plus-int, which warns on "str" + int and int + "str". | |
b0a6615 objc: When issue diagnostic about deprecated method, also issue the note if it is because message is sent to a forward class declaration in delayed diagnostic. // rdar://10290322 | |
4ba86bc [analyzer diagnostics] flush locations *before* popping the current path when visiting a CallEnter. | |
178a9b8 Fix an ABI problem with ptrdiff_t and intptr_t on PPC32 | |
7d613bf Move int<->pointer conversion warnings behind -Wint-conversions. | |
5a61e0c [Sema] Fix crash-on-invalid-code issue: | |
8235f9c [analyzer] Bound the size of the functions being inlined + provide command line options for inlining tuning. | |
f4c3db1 PR12094: Set the alignment of memory intrinsic instructions based on the types of the pointer arguments. | |
a0e005b Change diagnostic test for my last patch. // rdar://10961370 | |
c169e08 Revert r151879, r151880, "PR12145: Avoid emitting loads of constexpr variables in contexts where there" and "Fix buildbot: make this test less dependent on the value names in the produced IR." | |
edd1cae Use tabs instead of spaces. | |
f8e5d4c clang -v support for separate clang.git and llvm.git, patch by Andrew Trick. | |
b4f0bd6 Add the Solaris support directory to the header search when using libc++. | |
1658133 Ensure that we instantiate static reference data members of class templates early, since their values can be used in constant expressions in C++11. For odr-use checking, the opposite change is required, since references are odr-used whether or not they satisfy the requirements for appearing in a constant expression. | |
0524171 Fix buildbot: make this test less dependent on the value names in the produced IR. | |
a3cac5b PR12145: Avoid emitting loads of constexpr variables in contexts where there is no odr-use of the variable. Go slightly beyond what the standard requires for variables of reference type. | |
77d0944 [analyzer diagnostics] Change CompactPathDiagnostic to recursively compact diagnostics in calls into macro pieces. Also fix handling of macros within calls in the HTMLDiagnostics. | |
e853bb3 c/objc: problem originally reported as an objective-c bug. But it is in the underlying c part of clang. clang crashes in IRGen when passing an incomplete type argument to variadic function (instead of diagnosing the bug). // rdar://10961370 | |
48a8cd9 add documentation for -f[no-]thread-sanitizer and -f[no-]address-sanitizer to docs/UsersManual.html | |
cc2c4b2 Teach the analyzer to just ignore CXXBindTemporaryExpr. There's nothing special to do with it, since destructors are represented explicitly in the CFG. | |
f15e114 Moving tagging of '__experimental_modules_import' IdentifierInfo out of IndentifierTable::get() and into IdentifierTable's constructor. | |
8c72a7d Make CodeGenFunction::EmitBlockCopyAndAutorelease actually do what its name says. | |
3d32bb0 Update test for llvm assembly output change. Also add a fixme that this shouldn't be relying on assembly emission. | |
278f1f8 [analyzer] Turn inlining on by default for better testing exposure. | |
3c93122 Add a flag -fthread-sanitizer. This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit. | |
32ad2ee Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, and don't have time to push it forward in the near future. | |
b3d7275 [analyzer] Fix a regression introduced in malloc with attributes, introduced in r151188. | |
ad8de51 Reapply r151702 with a small fix for a failure to cut and paste correctly. | |
88530d5 Fix the isReferenced bit on parameters in a couple of edge cases. PR12153. | |
3638fab Remove test/Sema/many-logical-ops.c since it fails in linux variants. | |
b2c60b0 Move llvm/ADT/SaveAndRestore.h -> llvm/Support/SaveAndRestore.h. | |
9a0b705 Merge __has_attribute tests. Patch by Jonathan Sauer! | |
dca1761 StmtProfiler: Add a null check for child statements. | |
8a5e7fd Implement double underscore names support in __has_attribute | |
f9b6f2c Avoid examining the AST from the parser, and simplify somewhat. | |
10285d9 Revert r151800, which was committed without review and has correctness issues. | |
701e336 Fixing a buildbot complaint about nested templates. | |
7abe166 Implements support for #pragma include_alias in ms compatibility mode. Fixes PR10705. | |
6454a02 Added support for parsing declspecs on enumerations. Fixes PR8783 | |
23f0267 Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type. This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap. | |
5e4e58b Reject 'a = {0} = {0}' rather than parsing it as '(a = {0}) = {0}'. Also improve the diagnostics for some attempts to use initializer lists in expressions. | |
1d9f4c1 Correct an example of a feature name to actually use a feature name rather than an attribute name. Patch by Michel Morin! | |
f6e88d7 Fix regression from llvm-gcc where we should NOT emit a warning about __attribute__((NSObject)) on a property declaration. This is needed to have retain properties for non-object pointers. Fixes <rdar://problem/10930507>. | |
3edf02f [analyzer] Diagnostics - do not try to cleanup the path with macros, it will be done by the general cleanup later on. A Patch by Ted. | |
3f01c8a Tighten type-checking a bit to make it clearer how BuildCXXMemberCallExpr is used. | |
07a4b04 Move suport for redefining operator keywords from -fms-extensions to -fms-compatibility. | |
7251674 Change if...else if...else if... to a switch. | |
62ff528 [analyzer] when scanning FIDs in a PathDiagnostic, correctly recurse calls and macros. | |
f4fb07e Allow operator keywords to be #defined in ms-ext mode. | |
bab0d39 Test for my last patch. // rdar://10267155. | |
77bfb8b objective-c: provide fixit hint when atomic property does not have matching user defined setter/getter and a warning is issued. In this case, a fixit note is displayed. // rdar://10267155 | |
fd81978 Fix a couple -Wuninitialized warnings from gcc. Reported by David Greene. | |
8d6ff02 Serialization: Switch over to using the native SmallVector based BitstreamWriter ctor. | |
75a96d0 I referenced the incorrect rdar in my previous commit (r151745). Add the correct radar number to the test case for tracking purposes. rdar://10551066 | |
3f3335d Allocate TargetLibraryInfo for the CodeGen passes. Otherwise, it's instantiated by the BAA pass, which uses the default TargetLibraryInfo constructor. Unfortunately, the default TargetLibraryInfo constructor assumes all library calls are available and thus ignores -fno-builtin. rdar://10947759 | |
1aa4b9f Reverting test commit | |
f62a2b6 Test commit. Please ignore | |
ca23eb2 [analyzer] Malloc: A pointer might escape through CFContainers APIs, funopen, setvbuf. | |
956ecbd Revert r151702, "Add support for handling captured variables in lambda debug info.", which broke some -O0 -g tests. | |
41d476d Add -C when linking on Solaris so that the error messages are understandable by actual humans. | |
51ad9cd Tentatively fix PR12117. The test case from the bug now passes, and all existing tests still pass, but there may still be corner cases. | |
16f1f71 Reapply r151638 and r151641. | |
4fafeb6 Remove a recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized. | |
28cd22d [analyzer] Tweak the UnreachableCode checker to not warning about unreachable default blocks. Patch by Cyril Roelandt! | |
72b8b1e A couple minor bug-fixes for template instantiation for expressions which are sometimes potentially evaluated. | |
5840dd9 [driver] Emit an error when trying to use ARC on macosx earlier than 10.6 | |
0a0714d Add support for handling captured variables in lambda debug info. This currently doesn't handle capturing the 'this' pointer for any enclosing class. | |
441b3bb Add some iterators for grabbing lambda expression contexts. | |
c07b18e Formatting. | |
ac62601 Make the odr-use logic work correctly for constant-expressions. PR12006. | |
b732fce Sema/ObjC: Override search can generate a large search list, bump the base size of the SmallPtrSet way up to avoid commonly reallocating the buffer size. - I didn't see a good argument against it, so I bumped the limit to cover the max size we see during parsing Cocoa.h. | |
c52d9057 ASTWriter: Cache some DenseMaps we use repeatedly. - This reduces our total # of allocations building a PCH for Cocoa.h by almost a whopping 50%. - A SmallPtrMap would be cleaner, but since we don't have one yet... | |
13e6cb0 clang/test/Analysis/stats.c: Fix up r151656. | |
f41e875 clang/test/Analysis/stats.c: Mark this as XFAIL: mingw32. | |
b093955 Parse: Change PragmaPackHandler to use the preprocessor allocator. | |
8e0913d objective-c modern translator. Fixes misc. bug in writing the ivar offset symbol. | |
fc399c7 Remove stray semi-colon. | |
c60ccf5 Make sure list-initialization of arrays works correctly in explicit type conversions. PR12121. | |
f76b897 [libclang] Add a test I forgot to commit. | |
33d5b31 [PCH] Include a darwin-only PCH test on Cocoa.h. | |
32a9a75 Revert r151638 because it causes assertion hit on PCH creation for Cocoa.h | |
2422e82 Single- and zero-element initializer lists to scalars are list-initializations. Fixes PR12118. | |
56d8fd0 [analyzer diagnostics] Refactor filtration for PathDiagnosticConsumers that don't support cross-file diagnostics into a common place. Currently enable this filtration for Plist diagnostics as well. | |
c89f4b0 [analyzer diagnostics] start prototyping stripping PathDiagnostics of unnecessary cruft caused by path inlining. | |
15f8777 Modern objective-c translator. rewriting ivars of aggregate type. | |
e7e0168 [analyzer] Leaks should be uniqued by the allocation point in the closest function context (RetainCountChecker). | |
c568543 Prefer bitcast+GEP over ptrtoint+sub+inttoptr: it's semantically equivalent here, and generally nicer to the optimizer. | |
212000e [analyzer] Retain release: drop the line number info from the leak message. | |
c299428 [analyzer] Stats: Add the stats about remove dead bindings, correct the test. | |
670326f [driver] Add support for -g2 and -ggdb debug flags. rdar://10947759 | |
7dbefe1 Add -lm by default on Solaris. | |
d706a8d It turns out -fno-cxa-atexit just produces broken code, so disable it on Solaris and we'll ship a __cxa_atexit implementation... | |
bf359c9 Un-break clang based on r151638 - What was meant to be a trivial variable name change went horribly wrong and I forgot to retest afterwards. | |
fbcf040 Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped. | |
f911242 [AST] When we @synthesize a property with a user-defined ivar name, make sure to record the source location of the ivar name. [libclang] When indexing @synthesized objc methods, report the @implementation as the lexical container. | |
792db26 [libclang] When indexing an objc property, also provide information about the getter/setter objc method entities that the property is associated with. | |
d7c15a6 [AST] Associate the getter/setter methods to a property of a objc class extension. [libclang] Index the getter/setter methods of a property of a objc class extension. | |
165329c Some more Solaris fixes. Now successfully building libc++ on Solaris with clang (and linking clang against it). | |
85fdea0 Remove stray semi-colons. | |
cd7a099 Basic coverage test for conversion-to-block-pointer for lambda expressions. | |
721aa37 [analyzer] Leaks should be uniqued by the allocation point in the closest function context (Keychain API). | |
07d39a4 [analyzer] Fix Malloc False Positive (PR 12100) | |
cae40c4 Implement IRGen for the retain-autorelease in the lambda conversion-to-block-pointer outside of ARC. Testcases coming up soon. | |
4c62b55 [analyzer] teach analyzer about ObjC literals, thus trimming out a false positive with the malloc() checker involving comparing literal addresses to nil. | |
033d300 Re-enable the Darwin ARM integrated assembler. | |
7752d29 [analyzer] Leaks should be uniqued by the allocation point in the closest function context. | |
e2133c8 Fix a test case that was added in r151570. The redirect of output was broken so no testing was actually done. Further, the commands produce no output. The redirection has been fixed and the test has been disabled. | |
e739a29 [analyzer] Don't generate an explicit ExplodedNode for StringLiterals; have the SVal lazily generated from Environment::getSVal(). | |
062a82c Hack in a loud error for PR12086. Better than a silent miscompile. | |
c1b66e6 When evaluating integer expressions include a check for sub-expressions depth and error if we exceed a max value, to make sure we avoid a stack overflow. | |
3306ec1 After numerous requests, have Objective-C 'method declared here' notes mention the actual method. This looks better within an IDE, where text isn't always regurgitated in the presentation of a warning. Fixes radar 10914035. | |
adfb535 Implement a FIXME for conversion sequence distinction. Should fix PR12092. | |
8ec5ce2 Fix documentation typo. | |
81fb169 [analyzer] Add -analyzer-stats, which hooks up LLVM stats tracking. | |
92b670e Fix a couple bugs in the way we handle array indexes in array bounds checking. Specifically, make sure we don't ignore explicit casts in indexes, and make sure we use unsigned extension/comparisons on indexes. Fixes <rdar://problem/10916006>. | |
d45d361 Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h" to make it more widely available. | |
0d8ab2e Convert initializer lists to temporaries in CreateBuiltinBinOp. Allows assignment of init lists to built-in types and resolves PR12088. | |
fce4715 Add missing code for compound literals of complex type. <rdar://problem/10938628> | |
d411a4b Revert testing code I committed by mistake in r151464. | |
361ae9a Just drop the bitfield from ExtProtoInfo, this struct isn't even heap allocated so it doesn't hurt. | |
1ebae62 Speculatively attempt to work around a hypothetical but unreproduced MSVC issue in r151494. | |
07d1642 Test case for r151429/r151430, which ensures llvm.lifetime intrinsics are not being emitted at -O0, but are emitted when optimizations are enabled. | |
1b1a507 Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitialized. | |
af3db7d ObjcInterfaceTypes are also complete types for the type cache. | |
ae93daa Make this test a bit more robust for debug info changes. | |
79363f5 Ensure that we delete default constructors in the right cases. Don't delete the default constructor of a union if it has a const member with no user-provided default constructor. | |
d8e4dac Fix decltype crash-on-invalid, if we don't find a matching ')' for an ill-formed decltype expression. | |
dbe01bb Tests for r151508. | |
c56ab43 Half of PR12088: parse braced-init-lists on the RHS of assignment operators. | |
e75f330 [clang.py] Test Cursor.__ne__ | |
d162cf1 Reorder members to save padding. | |
bb8a897 Move CharacterLiteral, FloatingLiteral and UnaryExprOrTypeTraitExpr flags over into Stmt. | |
9121932 Make clever use of padding to shrink IntegerLiterals. | |
0840f23 Bit pack StringLiteral. | |
bbf4b22 Reduce padding in MemberExpr. | |
3654c69 CompoundLiteralExpr: Pair a bool with a pointer. | |
a72c352 Shuffle members of DesignatedInitExpr to avoid padding. | |
0e2e13f Bit pack ExtProtoInfo. | |
a6c1068 Move FullSourceLoc::dump into the .cpp file, the used attribute made us emit this into every TU that includes SourceLocation.h. | |
5ed7dd6 Okay, makes sense to change all the occurences to match clang.EXE. | |
f58b388 Allow any file extension for the clang binary in the linux-header-search test. | |
ea7c1e2 Don't assert when trying to diagnose why a class with a constructor template is non-trivial. | |
2229d57 Add the critical crtbegin.o files necessary for any of the tests in r151482 and r151484 to work. Sorry about the fallout... | |
079d2bb A follow-up to r151482 which added support for powerpc and powerpc64 Debian multiarch libraries, this should in theory add support for those platform's header search rules. I don't have a system to check this with, so review appreciated. I've added the corresponding tests referring to the debian multiarch tree. | |
9a561d5 Ensure that we delete destructors in the right cases. Specifically: - variant members with nontrivial destructors make the containing class's destructor deleted - check for a virtual destructor after checking for overridden methods in the base class(es) - check for an inaccessible operator delete for a class with a virtual destructor. | |
155c54c Add support for PPC and PPC64 multiarch toolchains on Debain. | |
03f6878 Make sure we don't try to produce a definition of an implicitly-deleted function | |
8818955 Update release notes and language extensions pages to note that support for generalized initializers is available. | |
e653ba2 Special members which are defaulted or deleted on their first declaration are trivial if the implicit declaration would be. Don't forget to set the Trivial flag on the special member as well as on the class. It doesn't seem ideal that we have two separate mechanisms for storing this information, but this patch does not attempt to address that. | |
2fa975c Revert r151460 as it is not enough to address the issue. | |
faf4ef6 Richard Smith pointed out that there already is a proposal for init list mangling. | |
8ed2091 When evaluating integer expressions handle logical operators outside VisitBinaryOperator() to reduce stack pressure for source with huge number of logical operators. | |
d1dc3aa Initializer lists are now supported. | |
19b1a6e CodeGen support for global variables of type std::initializer_list<X>. | |
babcf9d Fix crashers on unexpected std::initializer_list layouts. Found by inspection. | |
b76ffc5 Better mangling for new-expressions. Also, although we can't mangle arbitrary initializer lists yet (we will need this), turn the crash into a controlled error. | |
f186879 Temporarily revert r151288: ARM: enable the integrated assembler by default for Darwin. | |
ee7a198 CMake: install libclang.dll to $CMAKE_INSTALL_PREFIX/bin. | |
13a140c ArrayRef'ize various functions in the AST/Parser/Sema. | |
5297d71 Accept __has_feature(__feature__) as a synonym for __has_feature(feature) (and likewise for __has_extension). Patch by Jonathan Sauer! | |
d390de9 Fix r151443 to only apply C++11's exception for non-static data member access in cases where we would otherwise disallow the access, and add a -Wc++98-compat diagnostic for this C++11 feature. | |
2c8aee4 PR11956: C++11's special exception for accessing non-static data members from unevaluated operands applies within member functions, too. | |
7a9f492 Fix assertion (too few Diag arguments) when diagnosing a deleted operator delete | |
dfefb84 Teach CXXRecordDecl::hasIrrelevantDestructor to check the base classes and data members for deleted or user-provided destructors. | |
f5cd5cc Fix a regression from r151117: ADL requires that we attempt to complete any associated classes, since it can find friend functions declared within them, but overload resolution does not otherwise require argument types to be complete. | |
9875962 Prevent llvm.lifetime intrinsics from being emitted at -O0. rdar://10921594 | |
64bee65 Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure). | |
e1d4330 Don't record nested macro expansions in the preprocessing record, it can only bring pain when dealing with preprocessor abuse (see: boost). | |
e571578 RetainCountChecker: don't adjust the retain count when analyzing a ReturnStmt unless we are in the top-level call frame. We can do more later, but this makes the checker self-consistent (and fixes a crash). | |
63787f0 [arcmt] GC migrator: don't try to remove redundant __strong, it does more harm than good. | |
a66eccb Improve the diagnostic in ARC mode when a conditional with an Objective-C type and void* is used. <rdar://problem/10486347>. | |
bcf38f2 Trying to increase my Ohloh ranking with trivial tweaks | |
d08d599 Bugfix: bogus warning -- "invalid use of non-static data member", when a class is forward declared, and the reference to the data member in question does not occur within a method body. | |
4a59bc2 Simplify check per Eli's comment | |
9b42afd Add test for C++ DR899. | |
3cd89ad [analyzer] Malloc: reason about the ObjC messages and C++. | |
ed878af Implement C++11 [over.match.copy]p1b2, which allows the use of explicit conversion functions to initialize the argument to a copy/move constructor that itself is the subject of direct initialization. Since we don't have that much context in overload resolution, we end up threading more flags :(. | |
5a13d4d Fix a stupid mistake in r151133. Reported to me by Joerg Sonnenberger. | |
61dab36 Remove FIXME: as Eli points out, the behavior here is now correct. | |
a98a285 For the purposes of building LLVM types, a forward-declared enumeration type with a fixed underlying type is complete. Fixes <rdar://problem/10916155>. | |
c7b5543 Back out __decltype warning from r151377: we should either warn on all the GNU __keywords or none of them. | |
a08c2fb Make helper static. | |
359c89d When checking whether a reference to a variable is an ICE, look at the type of the declaration, not at the type of the DeclRefExpr, since within a lambda the DeclRefExpr can be more const than the declaration is. | |
f329527 Minor modern rewriter bug showed up during testing against a large project. | |
221c27f C++11 [class.ctor]p5 says that A defaulted default constructor for a class X is defined as deleted if [...] - X is a union and all of its variant members are of const-qualified type. | |
62348f0 Fix comment: correct predicate name, reformat comment. | |
69015c2 Change the text of a FIXME. | |
7c4a619 [libclang] Add a triple to the test. | |
1e409d8 cxx_status: Consistently refer to C++11 as "C++11", not as "C++'11" nor as "C++0x". Use "C++98" to refer to C++98, not "C++". Add heading for C++98 support section. | |
a5ec58d cxx_status: extended sizeof has been essentially complete for some time. As agreed on IRC, any remaining issues are best dealt with as bugs. | |
33eb59a test for writing modern ivar of struct type. | |
39304fa __decltype is a GNU extension, not a C++11 extension. | |
ca61bf3 more objective-c modern translator ivar tests. | |
ec79d87 Two minor, related fixes for template instantiation with blocks: - Make sure that the block expression is instantiation-dependent if the block is in a dependent context - Make sure that the C++ 'this' expression gets captured even if we don't rebuild the AST node during template instantiation. This would also have manifested as a bug for lambdas. | |
0d6e22a objc modern translator. Fixes writing of block pointer ivar access. | |
ff80afc [analyzer] Run remove dead bindings before each call. | |
e55b03a [analyzer] We were silently stopping exploring the path after visiting 'return;' statement! | |
a0889a8 Use -no-integrated-as only on ARM. The X86 and X86-64 integrated as have been the default for clang for some time now and can handle compiler-rt. | |
0fd7f4d Revert r151357. That unreachable is reachable... | |
770dc03 Silence gcc warnings pointing out that CharByteWidth could be used uninitialized. While there, restyle this function! No functionality change. | |
28e4702 Sink variable into assert | |
f6cfe8b Remove some trivial uses of hasTrivialCopyConstructor() and hasTrivialMoveConstructor(). | |
5d86f61 Kill a spurious use of hasTrivialDefaultConstructor() | |
4ca8ac2 Implement a new type trait __is_trivially_constructible(T, Args...) that provides the behavior of the C++11 library trait std::is_trivially_constructible<T, Args...>, which can't be implemented purely as a library. | |
59950d3 Make PathDiagnosticBuilder sensitive to varying LocationContexts, thus fixing a bug in the inlining diagnostics where the wrong location could be used. | |
5b03c17 Remove stray path in test file. | |
2042fc1 Reapply r151317, but when computing the PathDiagnostic profile and size keep into account the nested structure. Also fix a problem with how inlining impacted Plist diagnostics, and adjust some ranges in the Plist output due to richer information. | |
2fffbc7 Fix test for non-block-default platforms. | |
68fbb3e Revert r151317 - Rework PathDiagnostics creation.. - to appease buildbots. | |
8cceefa [PCH] When keeping track of top-level decls for "targeted deserialization" make sure we don't mistake ParmVarDecls for top-level decls. | |
4970ef8 Rework PathDiagnostic creation so that call stacks are captured by a nested PathDiagnosticCallPiece. | |
729d5c4 Add an ivar test for modern objc abi translator. | |
862d735 Make test works with FileCheck. | |
577fb5b Reapply r151172 - Unwind path cleanup for array new list initializers - with a test case that only runs on debug builds. | |
aa5ab26 Handle "#pragma GCC visibility" in a few more places. Switch over "#pragma pack" to use the same handling that gcc does. Fixes <rdar://problem/10871094> and <rdar://problem/10893316>. | |
8b9414e Modernize some code which processes CastExprs to use CastKinds. No intended functional change. | |
d708bac [analyzer] KeyChainAPI: unique the leaks by allocation site. (Very similar to the previous change in malloc.) | |
f64bc20 objective-c++: Type of an objc string literal is NSString, not 'id'. // rdar://10907410 | |
9428772 Turned on support for __declspecs: noreturn, noinline, nothrow and naked in MS compatibility mode. | |
97df54e Pull the OpaqueValueExpr's source expression into its constructor, so that we can correctly compute value-dependence of the OVE. | |
0227ade Update test for r151288 | |
d649586 ARM: enable the integrated assembler by default for Darwin. | |
ca8e36e [analyzer] Malloc: unique leak reports by allocation site. | |
5588244 [analyzer] Add CString checks to the release notes. | |
644af7b [libclang] Make sure that all top-level decls in a @implementation are marked as such. | |
cd42724 Test is fixed. | |
c78446e XFAIL test until I figure out how to make test pass on different platforms. | |
d184e53 * tgmath_logb.patch implements the missing logb function (see C99 standard 7.22, paragraph 5). * tgmath_fabs_complex.patch corrects the return types for the complex fabs functions. These must be non-complex float/double/long double (see C99 standard 7.22, paragraph 4 and 7.3.8.1). Patch contributed by Kristof Beyls. | |
00ff5a9 Change test again so it passes in build-bot until I can figure out what is going on. | |
d8316db fix test for patch in r151268. | |
eb2f220 Actually remove the duplicated elements from the vector. | |
ac37150 objective-c default synthesis. classes which adopt protocol properties must still auto synthesize those propeties which have been redeclared in the class. // rdar://10907410 | |
f28ded5 Fix indentation | |
09315f3 Note that lambda expressions are available in the release notes for 3.1 | |
887ddf3 Replace a use of hasTrivialDefaultConstructor() with the appropriate isTrivial() call. | |
8c43dcc Replace some DenseSets with SmallPtrSets. Apart from the "small" optimization, the current implementation is also a denser. | |
d0e49e5 Unique CXXBasePath decls with the SmallVector/pod_sort/std::unique idiom instead of employing a wasteful std::set. | |
a789416 Replace the std::map in the init list checker with a DenseMap to reduce malloc thrashing. | |
c22adbd PR12067: When emitting an evaluated constant structure in C++11 mode, don't forget the vptrs. | |
b11e525 Seriously, are injected-class-names that hard? | |
25d0a0f Provide the __is_trivially_assignable type trait, which provides compiler support for the std::is_trivially_assignable library type trait. | |
46e021e Clang supports lambdas. | |
860097c Two fixes to how we compute visibility: | |
c101411 Tweak C++ status table: - Apparently, SVN is yellow - Note that initializer lists are "in progress" | |
7c07e96 Clang now supports lambda expressions. | |
5c89c39 Try to handle qualifiers more consistently for array InitListExprs. Fixes <rdar://problem/10907510>, and makes the ASTs a bit more self-consistent. | |
d81e961 Update parser's disambiguation to cope with braced function-style casts in C++11, and with braced-init-list initializers in conditions. This exposed an ambiguity with enum underlying types versus bitfields, which we resolve by treating 'enum E : T {' as always defining an enumeration (even if it would only successfully parse as a bitfield). This appears to be g++ compatible. | |
47611c8 Turned on support for __declspec(deprecated) in MS compatibility mode. | |
0d389b8 [analyzer] Invalidate the region passed to pthread_setspecific() call. | |
a596442 Tweak release note comments for checker build. | |
6408994 Update checker build to checker-261. | |
b45cfea Add a quick TODO. | |
fdc5d56 Fold debug scope emission into the cleanup scope. | |
709296d another test for modern ivar access rewrite. | |
4d8b797 Revert r151172: Unwind path cleanup for array new list initializers. | |
12932a0 more tests for modern objc translator. | |
cd376a1 Improve placement of clang crash diagnostics section. | |
87cb5be [analyzer] Malloc cleanup: - We should not evaluate strdup in the Malloc Checker, it's the job of CString checker, so just update the RefState to reflect allocated memory. | |
8a988c3 Revert part of r148839 and keep DefaultTargetTriple in the form adjusted by -target and similar options. As discussed in PR 12026, the change broke support for target-prefixed tools, i.e. calling x86_64--linux-ld when compiling for x86_64--linux. Improve the test cases added originally in r149083 to not require execution, just executable files. Document the hack with appropiate FIXME comments. | |
b211a4b Add clang crash diagnostic info and associated flags to Clang user manual. | |
2775b93 Update set-xcode-analyzer to work with Xcode repackaging in Xcode 4.3 | |
61b83c0 Add new driver warning from r151174 to a warning group. Please let me know if this isn't the appropriate grouping. | |
72c88f1 modern objc translator. more writing of modern ivar access abi. | |
2dd17a1 [driver] Add a warning for when -mcpu= is specified without an argument. There are likely many other OPT_xxxx_EQ options that could/should be added here. rdar://10704648 | |
5b38a0f Doug's review comments. | |
0f5a193 Unwind path cleanup for array new list initializers. | |
9203647 CodeGen for array new list initializers. Doesn't correctly clean up in the face of exceptions yet. | |
b734e24 Teach overload resolution to prefer user-defined conversion via a lambda closure type's function pointer conversion over user-defined conversion via a lambda closure type's block pointer conversion, always. This is a preference for more-standard code (since blocks are an extension) and a nod to efficiency, since function pointers don't require any memory management. Fixes PR12063. | |
33deb35 Fix parsing and processing initializer lists in return statements and as direct member initializers. | |
7651742 Warn about non-standard format strings (pr12017) | |
341785e More ArrayRef-ification of methods. | |
4fe5be0 ArrayRef-icize the function arguments. | |
795b100 Use an ArrayRef when we can instead of passing in a SmallVectorImpl reference. | |
428c620 Throw away stray CXXDefaultArgExprs. Fixes PR12061. | |
d77177a In -fdelayed-template-parsing mode, reenter every scope when late parsing a templated function; (Not just the template parameter scope as previously). Also enter the scope stack in the correct order. | |
0635aa7 Accept braced-init-lists in conditions, and, in passing, dramatically improve the diagnostic for using a parenthesized direct-initializer in a condition. | |
b1e3f32 Make sure null initialization in arrays works correctly with ARC types. <rdar://problem/10907547>. | |
ac1303e Generate an AST for the conversion from a lambda closure type to a block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are left unspecified, namely the capture variable (which doesn't actually exist) and the body (which will be filled in by IRgen because it can't be written as an AST). | |
e9ee382 Improve diagnostics a bit for bad member initializers, and fix an obscure bug involving packs. Fixes PR12049. | |
de40d3b test/CodeGenCXX/thiscall-struct-return.cpp: Relax expressions for -Asserts. | |
60a1fa4 [analyzer] Malloc checker: mark 'strdup' and 'strndup' as allocators. | |
6c60c8d Adding support for Microsoft's thiscall calling convention. Clang side of the patch. | |
d9ab7bb [analyzer] Malloc: fix another false positive. , when we return a symbol reachable to the malloced one via pointer arithmetic. | |
5fdadf4 [analyzer] Change naming in bug reports "tainted" -> "untrusted" | |
e0d92a4 [libclang] Index the field references of a designated initializer, rdar://10906206 | |
76f3f69 Implement C++11 [expr.call]p11: If the operand to a decltype-specifier is a function call (or a comma expression with a function call on its right-hand side), possibly parenthesized, then the return type is not required to be complete and a temporary is not bound. Other subexpressions inside a decltype expression do not get this treatment. | |
e43fe99 Fix typo correction of template arguments to once again allow type names. | |
2639ac6 Provide a way to disable auto-generation of preprocessed files during clang crash. This can speedup the process of generating a delta reduced test case. rdar://10905465 | |
5731778 modern objc translator: fixes a bug where a class declaration with not any implementation in tu was not being translated. | |
e7b3fa7 objective-c modern translator. accessing ivars using modern abi - wip. | |
f775c7b Make sure Stmt::dump() is included in libclang. | |
fccfb62 In the conflict between C++11 [expr.prim.general]p4, which declares that 'this' can be used in the brace-or-equal-initializer of a non-static data member, and C++11 [expr.prim.lambda]p9, which says that lambda expressions not in block scope can have no captures, side fully with C++11 [expr.prim.general]p4 by allowing 'this' to be captured within these initializers. This seems to be the intent of non-static data member initializers. | |
51e47df Fix a crash in the diangostic code in EvalConstant. PR12043. | |
2789d8e No need to go to object file, -emit-llvm is sufficient to see if clang itself crashes. | |
e3bab98 Skip testing the crtbegin.o, and resume using a single variable for the prefixes. It seems only crtbegin.o uses the strange formatting. | |
6ce2341 Clean up, add some documentation, and make this test return to checking the linker toolchainness a bit more thoroughly. It used to work this way, but hit buildbot issues. Hopefully subsequent fixes have addressed those problems, but I'll be watching the bots. | |
977ea78 Don't crash on attempts to synthesize an invalid property. rdar://problem/10904479 | |
c95d01f Redirect the output to /dev/null. This prevents the output from cluttering up the build enviroment. | |
b09ab8c Only pop the expression evaluation context corresponding to a lambda expression after we've finished the function body of the corresponding function call operator. Otherwise, ActOnFinishFunctionBody() will see the (unfinished) evaluation context of the lambda expression itself. Fixes PR12031. | |
e38fa18 Don't assume that a valid expression for the first part of a for-statement is non-null when diagnosing a broken attempt to write a for-range-statement. | |
f57c413 When calling a non variadic format function(vprintf, vscanf, NSLogv, …), warn if the format string argument is a parameter that is not itself declared as a format string with compatible format. | |
f4b7de1 Improve our handling of lambda expressions that occur within default arguments. There are two aspects to this: | |
f18a87b Allow linux builds to take advantage of libunwind to get unwind.h if that's installed. | |
b5f2c41 Also mark Type's dump() as 'used' to make it available in libclang. | |
a7b07fd Remove comma from end of enum to silence build warning. | |
0ee7d94 Mark a few 'dump' methods as 'used' to make sure they are included in libclang and useable while debugging. | |
5878cbc Implement non-internal linkage for lambda closure types that need a stable mangling, since these lambdas can end up in multiple translation units. Sema is responsible for deciding when this is the case, because it's already responsible for choosing the mangling number. | |
702afbc Remove svn:eol-style on the test I just added. | |
450301e Add a test case for r150976. | |
552e299 Implement name mangling for lambda expressions that occur within the initializers of data members (both static and non-static). | |
c9e0f92 Adding a test case for the working-directory fix | |
7f9b1d9 Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. <rdar://problem/10686586> | |
ccc1b5e Implement name mangling for lambda expressions that occur within the default arguments of function parameters. This simple-sounding task is complicated greatly by two issues: | |
ef78446 Emit the exact size for the invariant intrinsics. | |
3620547 [analyzer] + a couple more malloc tests. | |
9c1e1bd [analyzer] Make KeyChainAPI checker inlining-aware. | |
ee06539 Make RequireLiteralType work correctly with incomplete array types. PR12037. | |
a4c29b6 [PCH] Recover gracefully if the ASTReader detects that a file is different from the one stored in the PCH/AST, while trying to load a SLocEntry. | |
ff23488 Fix a constexpr FIXME: When implicitly instantiating the primary template for an explicit specialization of a function template, mark the instantiation as constexpr if the specialization is, rather than requiring them to match. | |
e86b9ea Formatting. | |
50933e5 Make PreprocessorOptions::DetailedRecordIncludesNestedMacroExpansions false by default. | |
cd285d0 objc IRGen: force CSE of load of ivar offsets by setting the 'invariant.load' metadata tag onto those loads. // rdar://10840980 | |
a19581a [analyzer] Make Malloc aware of inter-procedural execution + basic tests. | |
9747b53 [analyzer] Testing: These checkers are not experimental anymore. | |
bb2a686 [analyzer] Turn on by default the Malloc Checker and a couple of CString checks: | |
fa07ab5 Make sure that we set up the right declaration contexts when creating and introducing the lambda closure type and its function call operator. Previously, we assumed that the lambda closure type would land directly in the current context, and not some parent context (as occurs with linkage specifications). Thanks to Richard for the test case. | |
af30029 modern objc translator. Finish off first cut of the modern meta-data translation by commenting out private ivar declarations in user source. Also, added several tests. | |
ee18803 When we resolve the type of an 'auto' variable, clear out the linkage of that variable; it will need to be recomputed with the resolved type. | |
be580e5 Make test case less sensitive to metadata numbering. | |
9e8c92a Basic support for name mangling of C++11 lambda expressions. Because name mangling in the Itanium C++ ABI for lambda expressions is so dependent on context, we encode the number used to encode each lambda as part of the lambda closure type, and maintain this value within Sema. | |
86211df Remove the type retaining from the clang frontend. This is now handled by the caching and rauw. Also fix one cache that wasn't being added to highlighted by this patch. Update all testcases accordingly. | |
917bc8d Make forward declarations for objective-c types use the new temporary forward declaration nodes. Fixes a problem building Chrome. | |
8261345 [clang.py] Format and add documention for Type | |
0e1f4f8 [clang.py] Add tests for Type.is_volatile_qualified and Type.is_restrict_qualified | |
826fce5 [clang.py] Implement Type.argument_types() | |
7eb691a [clang.py] Implement Type.__eq__ and Type.__ne__ | |
83bc276 Deserialize the direct-initialization range of a "new" expression properly. Previously, we deserialized it but failed to set the corresponding member in CXXNewExpr. Fixes <rdar://problem/10893600>. | |
1367c9b Fixing the working-directory option so that it stores the proper directory. | |
c93dc78 Basic: import IntrusiveRefCntPtr<> into clang namespace | |
345032a Add 3dNOW intrinsic header to x86intrin.h, conditioned on __3dNOW__ to match the behavior of GCC. Also add a test for these intrinsics, which apparently have *zero* tests. =[ Not surprisingly, Clang crashed when compiling these. | |
19562c9 ObjCMessageExpr: Don't leave SelLocsKind uninitialized when the send is implicit. | |
2b28bf1 Set the location of the template keyword when allocating a new TemplateIdAnnotation. | |
607098c Make the regular expressions in this test more narrow to ensure we're actually matching the write substrings, and stop looking for a leading '/' to try and finish fixing darwin and other hosts. | |
d2aea12 objective-c modern translator: comment out private ivars declared in class extension and implementation. | |
31cc38c [clang.py] Implement Type.is_function_variadic | |
772291a Emit a warning when list-initializing a std::initializer_list member. | |
4b45d7f Harden test against for operator new(unsigned int). | |
972edf0 Make heap-allocation of std::initializer_list 'work'. | |
924db71 Make std::initializer_list member initializers 'work'. | |
24fe798 Refuse to compile global std::initializer_lists instead of doing completely the wrong thing. | |
af130fd Get recursive initializer lists to work and add a test. Codegen of std::initializer_list is now complete. Onward to array new. | |
bac5cf4 Add a testcase for using objects with list-constructors, and fix a Sema crash by repeating an old hack. | |
25e640a Add a testcase to show that temporaries from the initializer list are destroyed correctly. | |
b859d50 Add a testcase for start+end implementations of std::initializer_list. | |
d2231c9 Fix a crash for nested initializer list initialization. Still does the wrong thing in CodeGen, in that it never destructs anything. | |
e8e92b9 Remove dead code. | |
49c6039 Don't check for /lib and /usr/lib. | |
ab1cc02 Our handling of variables in FileCheck looks really broken on windws. Just give up on matching the path prefix for the libraries. | |
5bbc966 Add an extra CHECK line to make sure TOOLCHAIN2 matches just the path prefix. | |
8c28fc0 Looks like we use forward slashes for header search but back slashes for libraries on windows. Use two variables to make this test pass. | |
fb50ebf Try to match the linker being named ld.exe. Second try at fixing the windows bots. | |
358030c Don't assume a path starts with a /. Should fix the windows bot. | |
0e65959 Implement a -gcc-toolchain command line option that does the same as configure's --with-gcc-toolchain. The configure option is now just a default value for the command line one. | |
99c06be Teach analyzer that blocks with no captures are globals. Fixes <rdar://problem/10348049>. | |
8602401 Implement constant expression support for __real__ and __imag__ on lvalue complex numbers. Treat complex numbers as arrays of the corresponding component type, in order to make std::complex behave properly if implemented in terms of _Complex T. | |
e215ba1 Fix crash in analyzer diagnostic generation involving subexpressions of OpaqueValueExpr not appearing in the ParentMap. Fixes <rdar://problem/10797980>. | |
a979712 Teach analyzer about NSAutoreleasePool -allocWithZone:. Fixes <rdar://problem/10640253>. | |
5550a2f Add analyzer test for using of C++ references with ObjC object pointers, reported in <rdar://problem/10569024>. | |
dfb80de Fix wrong-code bug: __imag on a scalar lvalue should produce a zero rvalue, rather than an lvalue referring to the scalar. | |
b673a41 Adopt ExprEngine and checkers to ObjC property refactoring. Everything was working, but now diagnostics are aware of message expressions implied by uses of properties. Fixes <rdar://problem/9241180>. | |
b8197bc Default to not using __cxa_atexit on Solaris. | |
d41854a Remove a debugging line accidentally left in the last commit. | |
5f3c163 Implement #pragma redefine_extname. | |
65005eb Add -Wstrncat-size and -Wempty-body to release notes. | |
8b1d32bf Remove unused but set variable. | |
999713e Rewrite variable capture within lambda expressions and blocks, eliminating a bunch of redundant code and properly modeling how the captures of outside blocks/lambdas affect the types seen by inner captures. | |
6893284 Unify our computation of the type of a captured reference to a variable; it was previously duplicated, and one of the copies failed to account for outer non-mutable lambda captures. | |
b78ae97 Fix a problem in the GCC testsuite, exposed by r150557. Compound literals are represented as prvalues in C++; don't be fooled into thinking they're global lvalues. | |
e61eb04 Add a bunch of missing calls to DiagnoseSentinelCalls. <rdar://problem/10885993>. | |
e698a5c Change wording of warning about using __bridge casts in non-ARC. | |
213d70b Diagnose uses of deleted destructors and inaccessible defaulted destructors. | |
7d5088a Initial refactoring of 'ShouldDeleteSpecialMember', in preparation for providing decent diagnostics. Finish the work of combining all the 'ShouldDelete' functions into one. In unifying the code, fix a minor bug where an anonymous union with a deleted default constructor as a member of a union wasn't being considered as making the outer union's default constructor deleted. | |
7acebfb Fix comment. | |
7ff0c5d Add in a caching mechanism so that forward declarations are replaced with full types if they exist. | |
1486d2c Formatting. | |
51b2f6b Remove UpdateCompletedType from the debug info emission. We now emit less than complete types on purpose on occasion and so our caches aren't useful for this kind of lazy emitting. | |
6e94f6c Remove redundant check. | |
3133f79 Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once. | |
d8a8a3b [analyzer] Malloc Checker more tests. | |
f0dfc9c [analyzer] Fix another false positive in the Malloc Checker, by making it aware of CString APIs that return the input parameter. | |
998e275 [analyzer] Generalize function name checking in CString checker. (Ex: It was not treating __inline_strcpy as strcpy. Will add tests that rely on this later on.) | |
cf4c60f modern objc translator: postpone writing of class definitions until the end when all their ivars are known then. | |
8c00a1b modern objc writer: more work for category metadata rewrite and some cleanup. | |
00a8c3f Don't emit optimization-specific intrinsic at -O0. | |
6118612 modern objc translator: category metadata related patch. | |
48fad49 On Solaris, define some standard macros that the Solaris headers require in order to not be broken (by Solaris standards). | |
d267b3f De-nest tentative parsing to disambiguate lambdas from designators; no functionality change. | |
1f27805 Don't allow non-empty ParenListExprs as array-new initializers. | |
32cf1f2 Basic code generation support for std::initializer_list. | |
bf8ca00 [clang.py] Implement Type.element_count | |
8605760 [clang.py] Implement Type.element_type | |
abb9432 The clang half of r150794: after the construction of a global or static const variable ends, if the variable has a trivial destructor and no mutable subobjects then emit an llvm.invariant.start call for it. globalopt knows to make the variable const when evaluating this. | |
1e009d5 Index "12" holds the vtable, not "9". | |
a9b21d2 Bug fix: do not emit static const local variables with mutable members as constants. | |
e15c712 When performing IRGen on a global, emit it as a constant if: 1) It has a const-qualified type, and 2) It has no mutable members, and 3) It has no dynamic initialization, and 4) It has trivial destruction. Remove the unnecessary requirement that the type be POD. This allows us to mark all constexpr objects with no mutable members as 'constant'. | |
bd64520 Only add 'const' to the type of variables captured in a lambda when we're capturing it by value in a non-mutable lambda. | |
b3f323d Disambiguate between C++11 lambda expressions and C99 array designators in the parser. In the worst case, this disambiguation requires tentative parsing just past the closing ']', but for most cases we'll be able to tell by looking ahead just one token (without going into the heavyweight tentative parsing machinery). | |
f3908f2 Make sure all remaining parts of the constant evaluator are aware that an array can be represented by an LValue, and use that to simplify the code a little. | |
de5d3c7 Whether an argument is required (in contrast with being an optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. | |
a345edb Block expressions always have a prototyped function type; expose this in the AST accessor and micro-optimize it very slightly. | |
84fa9cd Add a castAs<U> accessor to CanQual<T>. | |
27dd7d9 Rework the Sema/AST/IRgen dance for the lambda closure type's conversion to function pointer. Rather than having IRgen synthesize the body of this function, we instead introduce a static member function "__invoke" with the same signature as the lambda's operator() in the AST. Sema then generates a body for the conversion to function pointer which simply returns the address of __invoke. This approach makes it easier to evaluate a call to the conversion function as a constant, makes the linkage of the __invoke function follow the normal rules for member functions, and may make life easier down the road if we ever want to constexpr'ify some of lambdas. | |
92dc035 Tests for the fixits which Doug added in r150727. | |
85b29a4 Reject continue/break statements within members of local functions nested within loop and switch statements, by teaching Scope that a function scope never has a continue/break parent for the purposes of control flow. Remove the hack in block and lambda expressions which worked around this by pretending that such expressions were continue/break scopes. | |
ce582fe PR12012: Fix a regression in r150419 where we would try (and fail) to zero-initialize class types with virtual bases when constant-evaluating an initializer. | |
df79567 objective-c translator. More stuff for modern meta-data. | |
9965dea Reapply r150631: | |
22cfaf5 Elide copy construction in new expressions. PR11757. | |
3336353 Avoid infinite mutual recursion in DiagnoseInvalidRedeclaration. | |
ad901a6 [analyzer] MallocChecker: more tests. | |
febdc32 [analyzer] Malloc Checker: Clean up bug naming: - Rename the category "Logic Error" -> "Memory Error". - Shorten all the messages. | |
fe57160 [analyzer] Malloc Checker: Make the diagnostic visitor handle the case of failing realloc. + Minor cleanups. | |
ebc6af1 Pacify gcc's -Wreturn-type | |
eeabf38 fix the property list metadata name. | |
c9ecec4 Improve recovery for lambda expressions that have 'mutable' or a trailing return type but not a '()'. Recover by inserting the parentheses. Thanks to Xeo on IRC for the example. | |
3f77c7b modern objective-c translator: write the root class meta-data. | |
7bdc152 Lambda closure types are always considered to be like "local" classes, even if they are not within a function scope. Teach template instantiation to treat them as such, and make sure that we have a local instantiation scope when instantiating default arguments and static data members. | |
449d4f0 Make sure we still reject static data members in anonymous unions in C++11. | |
bdd4c84 Add checker visitation hooks in ExprEngine::Visit() for common no-op expressions. To be used later. | |
2ac58b7 Revert "Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change." | |
b9c64d8 C++11 allows unions to have static data members. Remove the corresponding restriction and add some tests. | |
437ee81 Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change. | |
626719b Minor cleanup to node data structures in ExplodedGraph. No functionality change. | |
a76879e Tweak the comment on the 'q' length modifier again. | |
6ade343 modern objc translator: meta-data generation for first part of class meta-data. | |
c7b55fc Fix this test to work with and without Asserts mode. | |
3c15c43 Update comment as per Joerg's comment on r150697. | |
8f70bda In Objective-C++, allow the keyword 'class' to be used as a property name for dot syntax, e.g., NSObject.class or foo.class. For other C++-keywords-as-method-names, use message send syntax. Fixes <rdar://problem/10794452>. | |
f11641a If code completion patterns are not enabled, use simpler else/else if completions that don't insert braces. Fixes <rdar://problem/10764168>. | |
ae1b4af Add fixits for ARC casting errors for implicit conversions as well. rdar://10289283 | |
dd5756c Minor fix to template instantiation, which properly instantiates dependent attributes on static members of templatized classes. | |
634b293 Thread safety analysis: Don't check for lockable on undefined types. | |
2f13bec Thread-safety analysis: Disable checking inside constructors, destructors, lock, and unlock functions | |
4bda3ec Thread-Safety: added support for 'this' as a lock expression. | |
c24a233 Allow thread safety attributes on function definitions. For compatibility with gcc, clang will now parse gcc attributes on function definitions, but issue a warning if the attribute is not a thread safety attribute. Warning controlled by -Wgcc-compat. | |
32addd5 Format string analysis: give 'q' its own enumerator. | |
d1ac03e Tweak link order on Solaris so that global ctors work. | |
bd45d25 Proper checking of list-initializers for array new expressions. | |
2aed8b8 Revert "Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself."" | |
1548d14 Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself." It leads to a compiler crash in the Bullet benchmark. | |
5f688f4 Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself. | |
13ca534 Fix test to not depend upon metadata numbers. | |
b1612cb test/CodeGenObjC/arc-no-arc-exceptions.m: Disable it at -Asserts for now. | |
a2d7dfa Shift Microsoft enum extensions from -fms-extensions to -fms-compatibility, so -fms-extensions doesn't affect enum semantics in incompatible ways. <rdar://problem/10657186>. | |
21f6ed9 Initial implementation of IRGen for the lambda conversion-to-function-pointer operator. | |
5a0917d [analyzer] Diagnostics: Ensure that the default end of diagnostic path piece can always be generated. | |
ac59300 [analyzer] Malloc Checker: Give up when a pointer escapes into a struct. | |
74e1ad9 constexpr tidyups: * Fix bug when determining whether && / || are potential constant expressions * Try harder when determining whether ?: is a potential constant expression * Produce a diagnostic on sizeof(VLA) to provide a better source location | |
0460651 Add a few minor items to the 3.1 release notes. | |
c874ca1 Fix the RecursiveASTVisitor to not traverse C++ default parameters twice. | |
348ab1a Fix test for r150648. | |
bd89f8c Start of IRGen for lambda conversion operators. | |
3973acc Use the new method for specifying garbage collection metadata in the module. | |
f8490ee [libclang] Do index statements inside a type source info. rdar://10872758 | |
f6e2e02 Implicitly define a lambda's conversion functions (to function pointers and block pointers). We use dummy definitions to keep the invariant that an implicit, used definition has a body; IR generation will substitute the actual contents, since they can't be represented as C++. | |
b49bd27 Teach clang to add metadata tags to calls and invokes in ObjC with -fno-objc-arc-exceptions. This will allow the optimizer to perform optimizations which are only safe under that flag. | |
9f02d6d Mark the parenthesized array member initialization diagnostic as DefaultError, and move it out of -Wgnu so that -Wno-gnu leaves it enabled. As requested by Eli. | |
45fb995 Start off release notes for clang 3.1 with reference to C11 anonymous structs and unions, and C++11 generalized constant expressions. | |
ba83c95 objc-arc: For arc's ivar layout, treat __unsafe_unretained ivars as unscanned. // rdar://10832643 | |
64a0430 Revert "Add a completed/incomplete type difference. This allows us to have" | |
9a68d45 Add a completed/incomplete type difference. This allows us to have partial types for contexts and forward decls while allowing us to complete types later on for debug purposes. | |
3ad02aa Silence a valgrind warning, and remove an unused var. | |
0f163e9 Support GCC's bug^Wextension allowing class array members to be initalized by a parenthesized braced-init-list in the base/member initialization list. | |
2d4d7fd Improve typo correction involving nested name specifiers. | |
c2956e5 Lambda closure types have a conversion function to a block pointer with the same parameter types and return type as the function call operator. This is the real answer to | |
4339bb3 objective-c translator: fixes an obscure rewriting bug which attempted to rewrite the same meta-data twice. | |
c25d1c9 Factor the construction of the lambda-to-function-pointer conversion function declaration into a separate function. No functionality change | |
6c44886 Provide common include for all diagnostic headers. | |
d49cb20 Store the warning option corresponding to a diagnostics as an index into the option table instead of storing the name. | |
ceb1565 Remove the unuseful -fdiagnostics-show-name | |
e4e68d4 When overload resolution picks an implicitly-deleted special member function, provide a specialized diagnostic that indicates the kind of special member function (default constructor, copy assignment operator, etc.) and that it was implicitly deleted. Add a hook where we can provide more detailed information later. | |
b622959 Add some Solaris include paths and fix a -lgcc_eh that apparently should be -lgcc_s. | |
d226e5c Tweak comment above DiagGroup<"all">. | |
87c5150 A little more lambda capture initialization diagnostics cleanup | |
4773654 Introduce a new initialization entity for lambda captures, and specialize location information and diagnostics for this entity. | |
badb6cd Fix copy-and-paste error in comment | |
793cd1c Specialize noreturn diagnostics for lambda expressions. | |
0bcc3d8 Fix silly precedence error. | |
4e88df7 Specialize the diagnostic complaining about conflicting types of return statements within a lambda; this diagnostic previously referred to blocks. | |
81f3bff Implement code completion support for lambda capture lists. | |
31c4690 First pass at Solaris toolchain support. This version compiles and links hello world on Solaris 11 for both x86 and x86-64 using the built-in assembler and Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh. | |
d5f55dc Convert ad-hoc `int array[expr ? -1 : 1]' assertions in test/SemaCXX/nullptr.cpp to static_assert | |
be6126a Make -Wformat fix-its preserve original conversion specifiers. | |
37ce010 If a static data member of a class template which could be used in a constant expression is referenced, defined, then referenced again, make sure we instantiate it the second time it's referenced. This is the static data member analogue of r150518. | |
83587db Implement DR1454. This allows all intermediate results in constant expressions to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Turing-complete. A Turing machine simulator is included as a testcase. | |
1d6cc6a [analyzer] Malloc checker: make a bit safer. | |
5677eaf Fix typo in r150549. | |
4d4e5c1 Split reinterpret_casts of member pointers out from CK_BitCast; this is general goodness because representations of member pointers are not always equivalent across member pointer types on all ABIs (even though this isn't really standard-endorsed). | |
011d8b9 Implement indexing support for lambdas in libclang (both kinds), as well as improving the RecursiveASTVisitor's walk of lambda expressions. | |
f1c1d9a modern objective-c translator: start writing the main class meta-data. | |
f66035e [analyzer] Add the Malloc checker to the list of tested checkers. | |
ebc1d32 [analyzer] Malloc Checker: Add another false positive as a todo test. | |
40add29 [analyzer] Malloc Checker: add support for reallocf, which always frees the passed in pointer on failure. | |
b16ce45 [analyzer] Malloc Checker: add support for valloc + minor code hardening. | |
69f811d Extend all-std-headers.cpp to include C++11 headers when building in C++11 mode. Conditionally include headers which older STL implementations don't provide. | |
b5216aa Advertize support for constexpr. | |
65967ec I hereby declare that all remaining constexpr issues are bugs, not unimplemented features. :) | |
26f2cac constexpr: evaluation support for nullptr comparisons. | |
c6889e7 Implement C++ core issue 974, which permits default arguments for lambda expressions. Because these issue was pulled back from Ready status at the Kona meeting, we still emit an ExtWarn when using default arguments for lambda expressions. | |
57b9c4e If a constexpr function template specialization is referenced, and then the template is defined, and then the specialization is referenced again, don't forget to instantiate the template on the second reference. Use the source location of the first reference as the point of instantiation, though. | |
58d2dbe [libclang] Indexing: only index implicit template instantiations via an opt-in indexing option. | |
625bb56 Generalize -Wempty-body: warn when statement body is empty (closes: PR11329) | |
66c4040 [analyzer] Make Malloc Checker optimistic in presence of inlining. (In response of Ted's review of r150112.) | |
9050e3a Remove recusive expression visitation in ExprEngine::VisitIncrementDecrementOperator(). | |
70488e2 Pending clear answer from WG21 on whether core issue 903 is intended to apply to C++11 or just C++17, restrict the set of null pointer constants in C++11 mode back to those which were considered null in C++98. | |
a91ac5b Remove recursive visitation in ExprEngine for UO_Not, UO_Minus, UO_LNot. | |
224c489 Remove recursive visitation in ExprEngine for UO_Deref, UO_AddrOf, and UO_Extension. | |
c1e08dc Remove ExprEngine recursive visitation of unary UO_Imag operation. | |
0193166 Further remove some recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized. | |
53393f2 Check the return type of lambda expressions. | |
1d0c9a8 PR11650: Implement resolution of core issue 1301. Value initialization can't be used to construct an object of union type with a deleted default constructor (plus fixes for some related value-initialization corner cases). | |
75d8ba3 Warn about non-int main() results in GNU C mode instead of erroring. | |
0a52534 more objective-c translator for modern abi. metadata for protocol definitions used on class qualifiers. | |
a736524 Implement support for lambda capture pack expansions, e.g., | |
63aae82 Use several weighted factors to determine typo candidate viablity. | |
9d66504 Simplify and robustify lambda PCH test | |
9d36f5d Implement AST (de-)serialization for lambda expressions. | |
90af4e2 more modern objc translator. Focusing on metadata for methods. | |
cc8a945 include clang's config.h unconditionally (v2) | |
14c5982 Use a simpler (and more efficient) pattern to pad vectors. | |
3164c14 Fix crash-on-invalid for 'operator int[]()' in C++11. | |
7b8290f Fix use-after-free introduced by me being an idiot. | |
df33a35 Remove useless if statement. | |
8656855 Add a coverage test for lambda expression IRGen. | |
7473b1c Implement new DiagnosticsRenderer that packages notes retrieved by clang_getDiagnosticSetFromTU() as child diagnostics of primary diagnostics. By using the DiagnosticRenderer, these Diagnostics now match with those generated for serialized diagnostics. | |
8be51ea Refactor DiagnosticRenderer and SDiagsRenderer to have some functionality pulled into DiagnosticNoteRenderer, and common DiagnosticRenderer that assumes that all custom diagnostic messages are notes. Also extend DiagnosticRenderer to work with StoredDiagnostics in preparation for subsequent changes. | |
6700d67 Add helper methods to StoredDiagnostic. | |
eb273b7 Fix another issue introduced by the proposed wording for core issue 1358: since the instantiation of a constexpr function temploid is now always constexpr, a defaulted constexpr function temploid is often ill-formed by the rule in [dcl.fct.def.default]p2 that an explicitly-defaulted constexpr function must have a constexpr implicit definition. To avoid making loads of completely reasonable code ill-formed, do not apply that rule to templates. | |
b74ed08 Implement IRGen of lambda expressions which capture arrays. | |
0bdb5aa Refactor out new function EmitInitializerForField from EmitMemberInitializer. The new function will be used to initialize the fields of lambda expressions. | |
b276bd9 [analyzer] Malloc Checker: realloc: add dependency between the symbols in realloc map. | |
d764437 Simple test ensuring that we perform direct initialization when copy-capturing in lambdas | |
d5387e8 Link together the call operator produced from transforming a lambda expression with the original call operator, so that we don't try to separately instantiate the call operator. Test and tweak a few more bits for template instantiation of lambda expressions. | |
e76872e Mark the cxa_guard_{abort,acquire,release} functions nounwind. | |
7ca4850 Deal with a horrible C++11 special case. If a non-literal type has a constexpr constructor, and that constructor is used to initialize an object of static storage duration such that all members and bases are initialized by constant expressions, constant initialization is performed. In this case, the object can still have a non-trivial destructor, and if it does, we must emit a dynamic initializer which performs no initialization and instead simply registers that destructor. | |
5ad3af9 Add a subgroup of -Wreturn-type, -Wreturn-type-c-linkage. | |
dfca6f5 Introduce support for template instantiation of lambda expressions. This is mostly a simple refact, splitting the main "start a lambda expression" function into smaller chunks that are driven either from the parser (Sema::ActOnLambdaExpr) or during AST transformation (TreeTransform::TransformLambdaExpr). A few minor interesting points: | |
07e5288 modern objc translator. More ivar rewrite work. | |
db64923 objc modern translator. ivar offset symbols. | |
30838b9 [analyzer] Malloc Checker: realloc: correct the way we are handing the case when size is 0. | |
5189035 Add a script that produces a list of all diagnostics that are defined in Diagnostic*.td files but not used in sources. | |
684a8e4 Remove unused diagnostics from include/clang/Basic/Diagnostic*.td files. | |
20ff0e2 Don't route explicit construction via list-initialization through the functional cast code path. It sometimes does the wrong thing, produces horrible error messages, and is just unnecessary. | |
43a1b00 Sink variable into assert | |
164d6f8 objective-c translator: more rewriting of ivar types into a c-type which closely matches the objective-c type. | |
c563891 When generating diagnostic information due to a clang failure, allow multiple -arch options if the're all the same. | |
c8bb3be [analyzer] Malloc checker: rework realloc handling: | |
7ae282f Split the storage of lambda information between the LambdaExpr and the CXXRecordDecl in a way that actually makes some sense: - LambdaExpr contains all of the information for initializing the lambda object, including the capture initializers and associated array index variables. - CXXRecordDecl's LambdaDefinitionData contains the captures, which are needed to understand the captured variable references in the body of the lambda. | |
9daa7bf Keep track of the set of array index variables we use when we synthesize a by-copy captured array in a lambda. This information will be needed by IR generation. | |
3b66d7b Remove empty directories left behind by git-svn. | |
908a595 Don't allocate unused storage for captures/capture initializers in lambda expressions | |
da8962a Move the storage of lambda captures and capture initializers from LambdaExpr over to the CXXRecordDecl. This allows us to eliminate the back-link from the closure type to the LambdaExpr, which will simplify and lazify AST deserialization. | |
e88a71f Add back in the code to create forward decls using temporary mdnodes. | |
a765b9f Testcase for previous commit. | |
42e75da Temporarily walk back a few of my recent debug info limiting changes while reworking how we handle wanting to emit only parts of structures. | |
63d7ed8 StaticAnalyzer/Core: fix MSVC build | |
36d5927 drop more llvm:: prefixes on SmallString<> | |
1e4c01b drop more llvm:: prefixes on OwningPtr<> | |
8944675 examples/analyzer-plugin: hook up to build | |
4ee01ef Fix typo in PrintfConversionSpecifier::isDoubleArg() | |
86c3ae4 Update constexpr implementation to match CWG's chosen approach for core issues 1358, 1360, 1452 and 1453. - Instantiations of constexpr functions are always constexpr. This removes the need for separate declaration/definition checking, which is now gone. - This makes it possible for a constexpr function to be virtual, if they are only dependently virtual. Virtual calls to such functions are not constant expressions. - Likewise, it's now possible for a literal type to have virtual base classes. A constexpr constructor for such a type cannot actually produce a constant expression, though, so add a special-case diagnostic for a constructor call to such a type rather than trying to evaluate it. - Classes with trivial default constructors (for which value initialization can produce a fully-initialized value) are considered literal types. - Classes with volatile members are not literal types. - constexpr constructors can be members of non-literal types. We do not yet use static initialization for global objects constructed in this way. | |
9b338a7 Delete a simplistic helper function now that llvm::Triple can provide this functionality. | |
0b17b9a more of rewriting ivar types. | |
9ecb72a Move -Wdangling-else under -Wparentheses to be backwards compatibile with GCC. | |
6d9ef30 Implement the standard decltype() semantics described in C++11 [dcl.type.simple]p4, which treats all xvalues as returning T&&. We had previously implemented a pre-standard variant of decltype() that doesn't cope with, e.g., static_ast<T&&>(e) very well. | |
f8af982 Within the body of a lambda expression, decltype((x)) for an id-expression 'x' will compute the type based on the assumption that 'x' will be captured, even if it isn't captured, per C++11 [expr.prim.lambda]p18. There are two related refactors that go into implementing this: | |
6dc00f6 Proper initializer list support for new expressions and type construct expressions. Array new still missing. | |
215e4e1 Lambdas have a deleted default constructor and a deleted copy assignment operator, per C++ [expr.prim.lambda]p19. Make it so. | |
3a45c0e Change the way we store initialization kinds so that all direct inits can distinguish between list and parens form. This allows us to correctly diagnose the last test cases from litb. | |
168319c Employ DirectList initialized entities to properly sort through some initialization edge cases. | |
8275fc0 Fix broken link. I believe this has been broken for at least 7 months. | |
9335df3 Fix the rewriter that broke with r149987. | |
5b9cc5d Represent C++ direct initializers as ParenListExprs before semantic analysis instead of having a special-purpose function. | |
ecfcd56 Drive-by fix of incorrect diagnostic, and a test case for said diagnostic. The double error is unfortunate, but I really don't see an alternative whose effort is worth it. | |
56a0428 Fix parsing new expressions using init lists. Probably still do the wrong thing in cases involving array new. Show that many cases using initializer list constructors work, in that they parse and pass semantic analysis. | |
15d0ae1 [analyzer] Malloc Checker: reduce false negatives rate by assuming that a pointer cannot escape through calls to system functions. Also, stop after reporting the first use-after-free. | |
0860cd0 [analyzer] Malloc Checker: Report a leak when we are returning freed memory. (As per one test case, the existing checker thought that this could cause a lot of false positives - not sure if that's valid, to be verified.) | |
da04677 [analyzer] Malloc checker: Leak bugs should be suppressed by sinks. Resolves a common false positive, where we were reporting a leak inside asserts | |
4fb5487 [analyzer] MallocChecker: refactor/improve the symbol escape logic. | |
8f1fed0 objective-c translator. more modern abi stuff, focusing on ivar related meta-data. | |
f2e4dfc Implement core issue 5: a temporary created for copy-initialization has a cv-unqualified type. This is essential in order to allow move-only objects of const-qualified types to be copy-initialized via a converting constructor. | |
8327118 Make sure to try instantiating a templated type which is used in an _Atomic before complaining that it's incomplete. | |
b141b28 [analyzer] New checker for assignment of non-0/1 values to Boolean variables. | |
9135930 Implement warning for non-wide string literals with an unexpected encoding. Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. <rdar://problem/10837678>. | |
d747efa Begin refactoring to use the newly added triple predicates for simplicity. Also addresses a FIXME, although not one that could be observed. | |
cec5ebd Basic support for referring to captured variables from lambdas. Some simple examples seem to work. Tests coming up soon. | |
668165a Make sure Sema creates a field for 'this' captures. (Doug, please double-check that this is correct.) | |
b70a3ba [libclang] For a reference of an implicit template instantiation just give a reference for the instantiation decl. Also test that its location is correct after previous commit. | |
734bd6e For class template implicit instantiation, also update its location to point to the pattern template that it came from, otherwise we had this situation: | |
41105ad const-qualify CXXRecordDecl::getCaptureFields. | |
8e9314f Add simple semantic test for C++11 [expr.prim.lambda]p16, which covers recursive capture. This is far more interesting for IRgen. | |
f0459f8 Implement C++11 [expr.lambda.prim]p13, which prohibits lambdas in default arguments if in fact those lambdas capture any entity. | |
a63b422 objc translator: more modern metadata stuff. | |
b089c4d Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by Sascha Wildner. | |
a73cdcb Support all null pointer literals in format strings. | |
ae93295 objctive-c translator: modern metadata for ivars. wip. | |
fc30829 Have the driver pass CPU and target feature information to cc1as. | |
911d717 [libclang] Indexing API: fully index using decls and directives. | |
6d96836 [libclang] Indexing API: Fully index implict template instantiations. | |
409e245 Add ArrayRef goodness in MultiplexASTMutationListener. | |
1da95db Update MultiplexASTMutationListener with the missing methods from ASTMutationListener. | |
ad133ea [libclang] Encode the template specialization parameters of a function specialization in its USR string. | |
e3d8e73 Enhance checking for null format string literal to take into account __null. Fixes <rdar://problem/8269537>. | |
3ac109c Allow implicit capture of 'this' in a lambda even when the capture default is '=', and reword the warning about explicitly capturing 'this' in such lambdas to indicate that only explicit capture is banned. | |
67b2c55 Add test from [expr.prim.lambda]p12, which deals with odr-use and nested captures. We currently don't get odr-use correct in array bounds, so that bit is commented out while we sort out what we need to do. | |
b555971 Don't introduce a lambda's operator() into the class until after we have finished parsing the body, so that name lookup will never find anything within the closure type. Then, add this operator() and the conversion function (if available) before completing the class. | |
d37b360 PR11684, core issue 1417: | |
dcd2851 Test cleanup: prefer static_assert to handmade alternative. | |
1067d05 Loosen the test from r150238 a bit to make some of our bots happy. | |
eefb3d5 Track whether a function type has a trailing return type as type sugar. Use this to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution. | |
09aaaa4 --lies. | |
93e2fa4 Add a lambda example from the working draft. | |
a6ce20e Fix function prolog codegen whe coerce-to type is a struct. | |
73d9092 Add various tests for captures and the reaching scope of the lambda expression. Implement C++11 [expr.prim.lambda]p12's requirement that capturing a variable will odr-use it. | |
ef7d78b Implement the conversion to a function pointer for lambda expressions, per C++ [expr.prim.lambda]p6. | |
4d8d22b Extend CXXRecordDecl with a function that determines the mapping from the variables captured by a lambda to the fields that store the captured values. To be used in IRgen. | |
864b1cf Update to new resolution for DR1458. When taking the address of an object of incomplete class type which has an overloaded operator&, it's now just unspecified whether the overloaded operator or the builtin is used. | |
b880609 Remove stray semi-colon. | |
0337241 Move -Wswitch from -Wmost to -Wall, consitent with GCC. | |
d6cf912 Revert r145999. This turned out to be a bad idea. Unfortunately, 'id' is used so profusely in many APIs and large codebases that this made the deprecated warning trigger happy to the point of not being useful. | |
572ae0a Make sure we convert struct layout pragmas to attributes for class templates the same way we do for non-template classes. <rdar://problem/10791194>. | |
f8b1c31 [analyzer] MallocChecker: add a list of false positives based on running the checker over postgres and sqlite. | |
e9ef562 [analyzer] MallocChecker Cleanup - harden against crashes, fix an error (use of return instead of continue), wording. | |
42e9a35 objc translator: mode modern abi stuff. | |
a4dc693 Remove evil const_cast that's not needed anymore. | |
3e78b19 Switching to using dyn_cast_or_null, and fixing line endings in the test case. | |
3964e62 Use SmallVector when we can instead of std::vector. | |
10520d7 [analyzer] Proactively avoid inlining vararg functions and blocks until we properly support them. | |
bb3d14e objc: If a method is not implemented in the category implementation but has been declared in its primary class, superclass, or in one of their protocols, no need to issue unimplemented method. // rdar://10823023 | |
7badd24 Make sure a variable with a C++ direct initializer triggers jump scope checking. Fixes PR10620 / <rdar://problem/9958362> . | |
8f79e3f examples/analyzer-plugin/: unbreak build | |
3d9000d cmake: create a relative symlink to clang, not absolute | |
a34e921 Class objects passed by value follow the same rules as structure objects. Double fields of by-value class objects should be passed in floating point registers. | |
f94d392 Kill the brief and full explanation fields from StaticDiagInfoRec. They were unused and wasted space for nothing. | |
da54ff3 Fix bugs in function MipsABIInfo::returnAggregateInRegs. Functions returning class objects follow the same rules as those returning struct objects. | |
a0c2b21 Don't allow deduction of a lambda result type from an initializer list; it is not an expression. | |
8e4bc1e [libclang] Add a libclang test I neglected to commit. | |
91d521d [PCH] Add a PCH test. | |
8d9bd65 Tests for C++ [expr.prim.lambda]p5. We already implement all of these semantics. | |
bf020bb Getting Started: Add a missing "cd ../..". | |
e7d923d Updated information on how to perform command line testing on Windows when built from MSVC. | |
7fb4900 Remove unused fun. | |
54042f1 Implement return type deduction for lambdas per C++11 [expr.prim.lambda]p4, including the current suggested resolution of core isue 975, which allows multiple return statements so long as the types match. ExtWarn when user code is actually making use of this extension. | |
760b37b Restore the appropriate lexical declaration context for a lambda's function call operator (to the lambda class). This allows us to IRgen calls to simple (non-capturing) lambdas, e.g., | |
b326ca8 Remove the "unsupported" error for lambda expressions. It's annoying, and rapidly becoming untrue. | |
7e545d9 Add a test for the non-aggregaticity of lambda types per C++11 [expr.prim.lambda]. | |
e2c5913 Implement C++ [expr.prim.lambda]p2, which bans lambda expressions in unevaluated operands. Be certain that we're marking everything referenced within a capture initializer as odr-used. | |
621fc4b [PCH] Add some comments, per Ted's request. | |
44d2dbd Fix ASTReader::FinishedDeserializing(). | |
3b8e197 Don't cache the artificial type for the this pointer, there's no difference in the qual type. This is a workaround for the fact that the type isn't artificial but the this decl is, however, we don't have any way of representing it in the current metadata. For now, however, just don't cache the full type. | |
f8c17b7 [analyzer] MallocChecker: address a diagnostic "fixme". | |
30ecfad DR1359: A constexpr constructor does not need to initialize an empty struct or empty union. This still rejects anonymous member structs or unions which only contain such empty class types, pending standard wording defining exactly what an empty class type is. | |
ff3b9fd [analyzer] Add custom path diagnostic to the Malloc Checker. | |
cdfec5e [analyzer] MallocChecker cleanup, more tests. | |
53a8b97 [PCH] Set the DeclContext before doing any deserialization, to make sure internal calls to Decl::getASTContext() by Decl's methods will find the TranslationUnitDecl without crashing due to a parent declaration context still deserializing. | |
b9da557 Correct comment Clang C++ use in production. | |
f8823e7 Use RAII object for cleanups. | |
4c5d8af Refactor lambda IRGen so AggExprEmitter::VisitLambdaExpr does the right thing. | |
b4e5e28 CWG issue 1405: mutable members are allowed in literal types, but can't undergo lvalue-to-rvalue conversions in constant expressions. | |
0ca7e8b Attempting to initialize a union member that does not exist no longer crashes. | |
c6a6369 Basic IRGen for LambdaExprs with captures. | |
b30be29 A tiny bit more lambda IRGen. | |
cdd1c2e Fix a typo in the LambdaExpr class. | |
18fe084 Implement capture-by-copy for arrays in lambdas. | |
4bbb850 [PCH] Avoid using Decl::setAttrs() and Decl::setLexicalDeclContext() from the ASTReaderDecl directly; they internally call Decl::getASTContext() which may crash if a declaration context parent is still deserializing. | |
5e058eb Don't complain about the lack of a constructor for a lambda expression. They are constructed in different ways | |
20f87a4 When we create a non-static data member in the closure object for a capture, make sure we actually add the field. | |
1f9a5db Factor the logic for capturing variables in a lambda into its own function; it's going to get longer soon. No functionality change. | |
630d5ff Along the error path for lambdas, mark the lambda class as invalid and finalize it | |
dcffcbf Fix yet one more test | |
2c0bf24 Adding support for warning when a non-C compatible user-defined type is returned from an extern "C" function. | |
7f99f43 Fix tests for r150123 | |
503384f Various interrelated cleanups for lambdas: - Complete the lambda class when we finish the lambda expression (previously, it was left in the "being completed" state) - Actually return the LambdaExpr object and bind to the resulting temporary when needed. - Detect when cleanups are needed while capturing a variable into a lambda (e.g., due to default arguments in the copy constructor), and make sure those cleanups apply for the whole of the lambda expression. | |
91c2a11 [analyzer] MallocChecker: implement pessimistic version of the checker, which allows values to escape through unknown calls. | |
231361a [analyzer] Split the MallocChecker into two versions - pessimistic and optimistic. | |
af84f8f Remove explicit delete of PathDiagnosticMacroPiece, as it is now reference counted. | |
e0adbd8 last piece of metadata to complete modern metadata for protocol definitions. | |
6d2f0f5 Minor comment fix | |
e2a7ad0 Factor C++11 lambda expressions implementation into a separate file. No functionality change. | |
1e3767a When computing the type of a local variable reference within a lambda, only add 'const' for variables captured by copy in potentially evaluated expressions of non-mutable lambdas. (The "by copy" part was missing). | |
76e3da5 When completing a lambda expression, make sure to check and attach the body of the lambda to the function call operator. | |
b319e02 [analyzer] MallocChecker: convert from using evalCall to post visit of CallExpr. | |
da9624a More rewriting of objective-c moderin abi metadata. All protocol related metadata is close to completion. | |
66b0eba Fixing hex floating literal support so that it handles 0x.2p2 properly. | |
af2771b CodeGen: Move EHPersonality from CGException.h into the cpp file, it has no other users. | |
2fd5983 Implement DR1458: Taking the address of an object of incomplete class type is not a constant expression, because we can't tell whether the complete class type will have an overloaded operator&. | |
cfa8e65 Remove vperm2f* and vperm2i builtins. Same effect can be achieved with builtin_shufflevector. | |
3f83d0d Add more testing for r149776. | |
925d8e7 Implement the agreed resolution to DR1457: a signed left shift of a 1 bit into the sign bit doesn't have undefined behavior, but a signed left shift of a 1 bit out of the sign bit still does. As promised to Howard :) | |
31a3702 A little bit of lambda IRGen. | |
10c57a8 Remove vpermilp* builtins. Same effect can be achieved with builtin_shufflevector. | |
1a2b8e2 Move -Wcovered-switch-default out of -Wswitch (and -Wall), and make it an opt-in warning. | |
802e024 Change PathDiagnosticPieces to be reference counted (simplifying their management), and introduce 'PathPieces' as a common container for PathDiagnosticPieces. | |
eb2303c Refactor pieces of PathDiagnostic into its own data structure. No functionality change. | |
59a839c Make sure template argument deduction is consistently performed in an unevaluated context. | |
7b318d1 [libclang] Indexing: When suppressing references, suppress references of bases in C++ classes. rdar://10768707 | |
9caf440 Constify the getClassName routine and variables that come out of it, and then use it for forward decl names. | |
526cdfb Do not return records with non trivial destructors or copy constructors in registers. | |
46e7547 [libclang] For CXXOperatorCallExprs, give a valid source location to the DeclRefExpr that is referencing the member function, so we can index the referenced function. | |
82848c2 modern objc rewriter: mode metadata stuff. wip. | |
d85bf9d Only complain about __strong __strong id, not __strong SomeStrongTypedef or __strong __typeof__(some.strong.thing). | |
200fa53 Revise the SplitQualType interface to make it its own thing instead of a typedef of std::pair. This slightly improves type-safety, but mostly makes code using it clearer to read as well as making it possible to add methods to the type. | |
531b1a9 Whitespace. | |
2f764a9 Use the new forward declaration scheme for records. Also add more caching of results after we create them. | |
53bc518 Remove tabs. | |
fd5a5f5 If a struct needs to be laid out, and it has not been completed yet, then complete it if possible. This fixes some assertion failures encountered by LLDB. | |
da35eac modern objc abi rewriter: mode protocol metadata for modern objc abi. | |
dfaee49 Fix indentation and an 80-column violation. | |
2837a2f non-literal strftime format string is not unsafe. | |
d089008 [libclang] Do not index implicit C++ member functions. rdar://10769813 | |
d7a3e2c Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. | |
77e4bca objc rewriter: modern metadata for protocol decls. wip. | |
3f22509 In r149662, setDiagnosticMapping was modified to not allow warnings mapped to MAP_ERROR to be remapped to MAP_WARNING. These new APIs are being added to allow the diagnostic mapping's "no Werror" bit to be set, and potentially downgrade anything already mapped to be a warning. | |
6bd17d2 Make use of const-correct ParseCommandLineOptions | |
52aabaf Implements support of format_arg attribute on C++ member. | |
7fb8630 Remove tabs. | |
693fcaa Emit debug info for properites that are not backed by an ivar. | |
64cb63a objc rewriter: start supporting modern objective-c abi in objective-c rewriter. wip. | |
849639d Make parsing of objc @implementations more robust. | |
b534a9e Hex literals without a significand no longer crash the lexer. Fixes bug 7910 | |
a59d20b Print NamedDecls directly to a raw_ostream where possible. | |
f978059 Switch the ObjC*Decl raw_stream overloads to take a reference, for consistency with NamedDecls. | |
01d0801 Introduce basic ASTs for lambda expressions. This covers: - Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions | |
1e01ac4 Use SmallVector instead of std::vector. | |
bb02855 Use 'ArrayRef<>' instead of 'std::vector<>&' for passed-in arguments. | |
13562a1 Calculate the .size() of the vector once. | |
9085030 Reserve a moderate amount of space for the back-end arguments. | |
11e70d7 Fix a bug in semantic analysis involving anonymous structs and flexible arrays. | |
04ca252 Fix a couple of nasty bugs involving negative enum constants. <rdar://problem/10760113>. | |
2ea020c Update test case. | |
a3b9fa2 Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev. | |
a6215b9 Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls in PathDiagnostics from other events. This will have potential uses later. | |
5de4fdb Tweak BugReporter extensive diagnostics to not add edges between function calls. | |
b9201d2 Quote name of function in path diagnostics. | |
bb3d997 Remove the unused TypoCorrectionConsumer::MaxEditDistance. | |
2872c8d Filter a few more options not recognized by gcc. <rdar://problem/10814020> | |
88ce85f Add C11 FLT_TRUE_MIN and friends. <rdar://problem/10812837>. | |
5730076 [analyzer] Allow each CString check to be enabled/disabled separately. | |
cf6511b Bump up the initial vector size to avoid having to grow the vector more often. | |
8b41868 simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule. | |
e91e0ae tidy up code, make the common case (1-byte strings) come first | |
0cf3d47 Add basic BugReporter support for CallEnter/CallExit. WIP. | |
0a29422 Misc improvements to the diagnostic when a variable is odr-used in a context that is not allowed to capture variables. | |
f9ea953 Use a more efficient container for these values. Also reserve space when using a std::vector. | |
35f18a5 Use a SmallVector instead of std::vector. This improves compilation time in 445.gobmk by ~1.7%. | |
fd3e5ef Don't recalculate the size of the array each time through the for-loop. | |
e97c58d Minor comment clarification. | |
56ff283 Fix a minor regression from my potentially-evaluated expression changes. | |
362ed2a Relax valid location check. This fixes a clang crash while emitting debug info for properties that are synthesized by the compiler by default. | |
d79ed43 build wide strings with ConstantDataArray, just because we can. | |
812234b improve the code that handles IR generation of byte-sized string literals to avoid allocating an std::string. | |
66581d4 Added source location for the template keyword in DependentTemplateSpecializationTypeLoc nodes (DTSTLoc). | |
0b23971 use cheaper llvm APIs for various bits of IR generation. | |
6ef016f simplify code and smallvectorize. | |
5b6a3dd Canonicalize the base class used in the nested-name-specifier of a generated assignment operator. | |
210386e Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in C++11 mode. PR11928. | |
b4a3ef7 Tweak format string checking to work with %@ and ObjC toll-free bridging. <rdar://problem/10814120> | |
fd8fed9 Added MSVC visualizers for PointerIntPair and PointerUnions. | |
b822f72 Rewrite the debug action handling to take -verify into account. Add a quiet option for dwarfdump and move it out of NDEBUG only. Still requires an option as we don't want this on by default. | |
1c79dc4 Update the command line here and update the comment, we're just going to leave this as a debug only option for now. | |
38a4291 Removed redundant location info from ElaboratedTypeLoc / DependentNameLoc / DependentTSTLoc. Uniformed names referencing elaborated keyword. No intended functionality changes. | |
b918d6b objc: fixes a problem in block type comparison involving enums with underlying type explicitly specified (feature which is on by default in objective-c). // rdar://10798770 | |
5f3c7fa Let an ivar directly refer property TAG. | |
afe55fb - Turn the other distribution checks into range compares. - Turn openSUSE version parsing into a StringSwitch - Add an entry for Fedora release 16 (Verne) | |
55d23c9 Added location for template keyword in TemplateSpecializationTypeLoc. In the process removed some naming ambiguities. | |
668ecd9 Consolidate the ubuntu detection logic a bit, add an entry for Ubuntu 12.04 aka precise pangolin. | |
9d9922a Fixed instantiation of DependentScopeDeclRefExpr. | |
5bbc385 Move instantiateTemplateAttribute into the sema namespace, make helpers static. | |
4cf96bb Test for r149855. | |
5fa5608 Fix vector splat casts to cast element to the appropriate vector element before inserting into the vector. Fixes PR11930. | |
41576d4 Implement name mangling for scalar value initialization. Reported on IRC by Xeo. | |
e6cc51d Invalid O levels on the command line no longer have a confusing error. | |
96ad633 [clang.py] Implement Type.is_pod | |
2d10680 [clang.py] Change type -> Type | |
eb9ff2e [clang.py] Implement Cursor.enum_type | |
28d939f [clang.py] Implement Cursor.underlying_typedef_type | |
250d217 [clang.py] add TypeKind.VECTOR | |
eb13634 [clang.py] Add CursorKind.{is_translation_unit, is_preprocessing, is_unexposed} | |
64e7bdc [clang.py] Implement Cursor.hash | |
ea40382 [clang.py] Expose diagnostic category and option info to Python binding | |
7485833 [clang.py] Implement __eq__ and __ne__ on SourceLocation and SourceRange | |
b919815 Fix a typo (builting -> builtin). | |
6496bd1 Move operator overload out of line. Calling operator<< on a forward declared type doesn't seem to work on MSVC. | |
b11a7fd Fixing a warning in MSVC (this is also a test commit) | |
d79093a constexpr: Implement DR1358: An instantiation of a constexpr function which can't produce a constant expression is not ill-formed (so long as some instantiation of that function can produce a constant expression). | |
9401069 reapply the patches reverted in r149477, which enable ConstantDataArray. | |
f7ccbad Basic: import SmallString<> into clang namespace | |
6f42b62 Basic: import OwningPtr<> into clang namespace | |
7af19b8 Try to fix Benjamin's r149781 on MSVC. | |
9ec7197 constexpr: Fix implementation of DR1311: check for volatile qualifiers in lvalue-to-rvalue conversions on the source type of the conversion, not the target type (which has them removed for non-class types). | |
eac1f67 Preserve alignment for Neon vld1_lane/dup and vst1_lane intrinsics. | |
a3cb144 Skip freebsd driver test when ppc32/ppc64 targets are not configured. | |
6cd03db A useful approximation of initializer list constructors. | |
96715b2 Factor out the actual overload resolution from TryConstructorInitialization, since it needs to be used again for list constructor resolution. | |
08ae369 Don't unwrap initializer lists before calling TryConstructorInitialization, instead doing a little more work inside. This should make finding initializer list constructors easier, as well as fix one place where the ({}) vs {} issue was probably poorly handled. | |
a4e6453 Remove an unused and unimplemented function prototype. | |
9e0393d Also, these objc++ rewriter tests are meant to run in NeXt's fragile-abi mode. | |
dcc8e3f These tests are intended to run in NeXt's legacy objective-c abi (fragile-abi). Make this explicit since default is now nonfragile-abi. | |
90feede Some compilers do require Diagnostic.h to be present here. | |
2e033a7 Don't include Diagnostics.h twice when it's required zero times. | |
8fe83e1 Move a method from IdentifierTable.h out of line and remove the SmallString include. | |
fdd1560 Remove Diagnostic.h include from Preprocessor.h. | |
00bd44d Move various diagnostic operator<< overloads out of line and remove includes of Diagnostic.h. | |
ef9b60f Move Storage and StorageAllocator out of the PartialDiagnostic class so we can forward declare them. | |
c6c090d StaticAnalyzer: Remove FixIts from PathDiagnosticPieces. | |
282e7e6 In C++11 mode, when an integral constant expression is desired and we have a value of class type, look for a unique conversion operator converting to integral or unscoped enumeration type and use that. Implements [expr.const]p5. | |
f39aec1 Don't allow a value of a scoped enumeration to be used as the first bound for an array new expression. This lays some groundwork for the implicit conversion to integral or unscoped enumeration which C++11 ICEs undergo. | |
e59ec3d [analyzer] Make sure Containers OutOfBounds checker does not crash on undefined arguments, when CF functions are called with wrong number of arguments. | |
a506586 Disallow constexpr main. | |
0b458fd Fix a rejects-valid in C++11: array new of a negative size, or overflowing array new, is well-formed with defined semantics of throwing (a type which can be caught by a handler for) std::bad_array_new_length, unlike in C++98 where it is somewhere nebulous between undefined behavior and ill-formed. | |
5b66405 Unbreak failing test added in r149738. | |
9ec9ce1 ArrayRef goodness in MultiplexConsumer, no functionality change. | |
272afe4 Remove unused field from FixItRecompile. | |
507a8a3 Don't warn on use of default allocator with an over-aligned type when the allocator is given the pointer to allocate into. | |
e839806 Fix ASTMerge tests that I broke in my previous commit. | |
893242f autoconf: update config header | |
52a3888 [analyzer] Turn on by default two checkers: - osx.coreFoundation.containers.IndexOutOfBounds - osx.cocoa.SelfInit | |
4f502fb [analyzer] fixup to the previous commit. | |
1efcc42 [analyzer] Minor cleanups to the ObjCSelfInitChecker. (Also renames in other ObjC checkers to create one category of checks.) | |
1c59408 Fixed some testsuite problems introduced by my last commit. Sorry for the outage. | |
279114c Comment mystery code. | |
1206f73 Revert r149721. chapuni tells me akyrtzi already fixed the test by adding a triple, and the typedef makes things worse on windows. | |
b3ca263 Use variable in place of multiple CI.getFrontendOpts() calls and use a bit of ArrayRef goodness. No functionality change. | |
1a0d92f New test case. | |
50a9a12 Clang has existing support for debuggers that want to provide "po"-like functionality which treats the result of an expression implicitly as "id" (if it is not otherwise known) and prints it as an Objective-C object. | |
693a70d Create new tag for the property. This is a work in progress. | |
1836db0 [libclang] Stick to the silly notion that a forward class/protocol declaration is a reference. rdar://10749990 | |
0cc5d40 Suppress the used-but-not-defined warning for static data members while I look into a rather nasty bug in the new odr-use marking code. | |
5ba73e1 constexpr: The recent support for potential constant expressions exposed a bug in the implementation of libstdc++4.6, where numeric_limits<int>::min() is defined as (int)1 << 31, which isn't a constant expression. Disable the 'constexpr function never produces a constant expression' error inside system headers to compensate. | |
c08c88c Update tests so that they don't rely upon LLVMDebugVersion number. | |
f42f85c Make _mm_cmpgt_epi8 immute to -funsigned-char. | |
798d14f Try to get test passing on windows. | |
cefc7b2 Make explicit captures which cause implicit captures work correctly. | |
b942cb2 Implement implicit capture for lambda expressions. | |
285c607 Make sure that the layout-override parser grabs the size, not the data size. Otherwise, we can end up with bogus layouts. | |
b70126a When a pack expansion occurs in the template argument list of an alias template without a corresponding parameter pack, don't immediately substitute the alias template. This is under discussion in the C++ committee, and may become ill-formed, but for now we match GCC. | |
23a4ddf Add a triple to test/SemaObjC/format-strings-objc.m to make it pass in windows hosts. | |
acbabf1 Don't warn about anonymous struct/union in C11. | |
8fbbae5 Implement support for a pack expansion into a fixed-length template. Such pack expansions can easily fail at template instantiation time, if the expanded parameter packs are of the wrong length. Fixes <rdar://problem/10040867>, PR9021, and the example that came up today at Going Native. | |
09e9cf0 [analyzer] Testing: add automated reference results reset. | |
71fd6cc Fix -ftrap-function fallout from llvm r145714. <rdar://problem/10799325> | |
a83f4d2 Change Lexer::makeFileCharRange() to have it accept a CharSourceRange instead of a SourceRange, and handle the case where the range is a char (not token) range. | |
cbf46a0 Change the fixed array of FixitHints to a SmallVector to lift off the limit on the number of fixits. | |
8deabc1 Move isSentinelNullExpr() from Sema to ASTContext to make it more widely available. | |
d603bd1 Further downgrade -Warc-bridge-casts-disallowed-in-nonarc to a warning (not mapped to an error). We can consider mapping it back to an error later. | |
2e51562 Thread safety analysis: * When we detect that a CFG block has inconsistent lock sets, point the diagnostic at the location where we found the inconsistency, and point a note at somewhere the inconsistently-locked mutex was locked. * Fix the wording of the normal (non-loop, non-end-of-function) case of this diagnostic to not suggest that the mutex is going out of scope. * Fix the diagnostic emission code to keep a warning and its note together when sorting the diagnostics into source location order. | |
aacde71 Thread safety analysis: at a CFG join point between a block terminating in a 'continue' and another block, prefer the lockset from the other block, and diagnose the 'continue' block as being the end of a loop. | |
41f4431 C++ 5.2.10p2 has a note that mentions that, subject to all other restrictions, a cast to the same type is allowed so long as it does not cast away constness. | |
3c0e80e Refactor capture in blocks to use new-style capture hooks. Start adding a bit of the code for lambdas. The only visible changes are that we use the C++11 odr-used rules to figure out when a variable is captured, and type-checking in lambdas is slightly more accurate. | |
7a0a31c [frontend] Don't allow a mapping to a warning override an error/fatal mapping. rdar://10736625 | |
d67d0cc Note whether a lambda is mutable in the LambdaScopeInfo; this information will be necessary to handle references to captured variables. | |
0507280 Make error about using bridge casts in non-ARC mode a warning that is default mapped to an error. This is to ease the transition of large apps moving from non-ARC to ARC. | |
afdb041 Do not show macro expansion in strncat warnings, which can be defined as a builtin. | |
4cc9b10 objc: Issue diagnostic when receiver type is a forward class declaration and it is treated as of 'id' type resulting in multiple method lookup. // rdar://10686120 | |
353300c Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain that just uses the new toolchain probing logic. This fixes linking with -m32 on 64 bit systems (the /32 dir was not being added to the search). | |
773303a Rename -dependency-graphviz to -dependencncy-dot | |
d2cce13 Add some code to accurately perform odr-used marking for variables per the C++11 rules. | |
ad7eff2 Further enhance comment for property in continuation class. | |
245da28 unnecessary include of TargetMachine.h? | |
83db10e Initialize the user defined conversion function to null if this is an aggregate initialization from an initializer list. | |
59c9c72 Use -isystem rather than relying on -isysroot to work consistently | |
ff2a0ec objc: comment the code which allows narroing of property object type in continuation class. | |
0d3b87c Yet more data from failing buildbots... | |
e235183 objective-c: When redeclaraing in continuation class a 'readonly' property to 'readwrite', also allow redeclaration of property type to a narrowring object type. // rdar://10790488 | |
ee21277 Drop -verify to get better diagnostics from failing buildbots. Plus, we don't need it here | |
2f04f18 Back out my heinous hack that tricked the module generation mechanism into using non-absolute system includes (<foo>)... | |
4f7dcdb Pacify gcc's -Wreturn-type | |
6a9a6d2 Pass the SourceMgr to the MCContext for cc1as. | |
89651ea Move the code that sets the AddressSafety attribute into CodeGenModule::SetLLVMFunctionAttributesForDefinition(). | |
3a5aca8 r149587 reverted | |
13f9f2f Fix for PR10657 (http://llvm.org/bugs/show_bug.cgi?id=10657) extern inline case considered | |
5f2987c Split Sema::MarkDeclarationReferenced into multiple functions; the additional entry points are needed to implement C++11 odr-use marking correctly. No functional change in this patch; I'll actually make the change which fixes the odr-use marking in a followup patch. | |
f196a90 [analyzer] Fix a false positive in the CFArrayCreate check that surfaces the the code like this (due to x and &x being the same value but different size): | |
f15fda0 constexpr: * support the gcc __builtin_constant_p() ? ... : ... folding hack in C++11 * check for unspecified values in pointer comparisons and pointer subtractions | |
c69a181 Introduce a -cc1 option "-dependency-graphviz" that determines header dependencies and outputs them in GraphViz format. | |
c645ddf objc: don't crash if primary class is missing and continuation class is declaring ivars. // rdar://10752081 | |
34ff062 Change the check for constant-conversion with width-1 bitfields so it doesn't suppress quite as many cases. Based off a testcase in the gcc testsuite. | |
f2462be back out r149504 | |
34a2c42 Per discussion on cfe-dev, remove '#error' and '#warning' from diagnostic text. | |
f83a615 objc2: add __has_feature(objc_default_synthesize_properties). // rdar://10770497 | |
271ce54 r149474 went a bit too far when combined with type caching. If we want a full type go ahead and emit it if we currently only have a forward declaration. | |
20039ae Reject mismatched "#pragma GCC visibility push" and "#pragma GCC visibility pop". | |
52b6236 Look for declaration of CFBridgingRetain/CFBridgingRetain before changing the diagnostic. Also use correct spelling for both. | |
873488a make: fix installation of generated header files | |
eafa50b cmake: don't install config.h (v2) | |
ef81e0f Remove duplicated comment. | |
af79088 Fix comment. | |
3f405d3 cmake: revert r149496 | |
ac32ff9 Make sure that imported definitions get completed before we add anything into the corresponding DeclContext. Co-hacked with Sean; fixes <rdar://problem/10768928>. | |
5b41936 libclang: Mark clang_Cursor_isNull with CINDEX_LINKAGE to make it available on windows. | |
7f3a458 [libclang] Make sure we don't ever leave a StoredDiagnostic associated with a SourceManager that has already been deleted, rdar://10768346. | |
a28c1df Add missing dependency to unbreak the CMake build | |
dccaa23 size() == 0 -> empty(). | |
84aac9a [analyzer] Fix a crash in CheckerContext::isCLibraryFunction for C++ declarations with special names. | |
c36bedc Add a new compiler warning, which flags anti-patterns used as the size argument in strncat. | |
b710dfe Diagnose the restriction on default arguments in C++11 [expr.prim.lambda]p5. | |
a1f2114 Introduce the lambda scope before determining explicit captures, which cleans up and improves a few things: - We get rid of the ugly dance of computing all of the captures in data structures that clone those of CapturingScopeInfo, centralizing the logic for accessing/updating these data structures - We re-use the existing capture logic for 'this', which actually works now. | |
ac4e5b7 [analyzer] Testing: add 2 new checkers to the buildbot script. | |
93b7750 test/Driver/target.c: Relax expression for "gcc.exe" on win32. | |
69d3b4f include clang's config.h unconditionally | |
9dc01f5 test/Modules/compiler_builtins.m: Appease Cygwin to add -D__need_wint_t. | |
8c8840d test/Modules/compiler_builtins.m: Mark this as XFAIL:win32. MS limits.h provides size_t. | |
04f7a88 autoconf: add private config.h to clang | |
f9b6e97 cmake: don't install config.h | |
36579d4 Frontend: fix comment typos | |
15efc4d constexpr: check for overflow in pointer subtraction. | |
ab14ae2 Compatability fix for SwitchInst refactoring. | |
5d3a4bb Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c. | |
c221411 Remove redundant checks in CXXRecordDecl::isCLike(), as suggested by Sebastian. | |
0086a5b For pass-by-value record arguments to functions emit a forward decl instead of the entire class definition. | |
7b48a29 constexpr: overflow checking for integral and floating-point arithmetic. | |
b223d8c When providing code completions for a switch over a scoped enumeration type, be sure to add the qualifier for the enumeration type. | |
8398cbf constexpr: Unlike other incomplete types, 'void' cannot possibly be completed as a literal type. Disallow it as the return type of a constexpr function declaration. | |
b04035a constexpr: require 'this' to point to an object in a constexpr method call. | |
b02e462 constexpr: add support for comparisons of pointer-to-members. | |
93962e5 Improve checking of explicit captures in a C++11 lambda expression: - Actually building the var -> capture mapping properly (there was an off-by-one error) - Keeping track of the source location of each capture - Minor QoI improvements, e.g, highlighing the prior capture if there are multiple captures, pointing at the variable declaration we found if we reject it. | |
ee625af Fix crash on invalid in microsoft anonymous struct extension. | |
fe9b559 Diagnose attempts to explicitly capture a __block variable in a lambda. | |
48b68a0 Use the new Triple::getMacOSXVersion function in another place. | |
8f1e656 Fix an assertion failure in isMacOSXVersionLT for IOS targets. | |
16e46dd Make the callback object to Sema::CorrectTypo mandatory. | |
4ac3809 Extend for-range temporary cleanups codegen test to catch the bug which Eli fixed in r149440. | |
7eb82f0 objc-arc: In various diagnostics mention CFBridgingRetain/CFBridgingRelease calls instead of __bridge_retained/__bridge_transfer casts as preferred way of moving cf objects to arc land. // rdar://10207950 | |
3df6130 constexpr: Treat INT_MIN % -1 as undefined behavior in C++11. Technically, it isn't, but this is just a (reported) defect in the wording. | |
d29975f Make sure we call MaybeCreateExprWithCleanups for the sub-expression of an indirect goto. | |
c6c14e5 A couple minor fixes to template instantiation for for-range loops. | |
4c5ffb3 Use new Triple::getMacOSXVersion function. | |
9c7aed3 arc migrator: twik previous patch to exclude user provided explicit type cast. // rdar://10521744 | |
2908ffb arc migrator: Do not attempt to migrate to bridge casts which cancel out each other. Leave it alone so users can take a look (unmigrated code forces error diagnostic). // rdar://10521744 | |
eb7b9eb Split compiler builtin module into "stdlib" builtins and "intrinsic" builds, and bring mm_alloc.h into the fold. Start playing some tricks with these builtin modules to mirror the include_next tricks that the headers already perform. | |
200abfb Remove extraneous whitespace. | |
1085377 Fix more fallout from the introduction of "macosx" and "ios" triples. | |
e00575f [analyzer] Add checks for common anti-patterns in strncat. (Since this is syntax only, might be a good candidate for turning into a compiler warning.) | |
393b979 [analyzer] Change the warning to suggest 'strlcat/strlcpy' as replacements for 'starcat/strcpy' instead of 'strncat/strncpy'. | |
588e83b Fix 80-column violation. | |
289e31f Revert r149359. This was a hack to a problem with an easy workaround, and it doesn't feel like general solution. | |
56e68b7 Pacify gcc's -Wreturn-type. | |
29254f4 Support @compatibility_alias at run time (GNUstep Runtime) | |
2831092 fix a crash on: | |
220947b FormatCheckers should emit all diagnostics using EmitFormatDiagnostic(). | |
7da1f46 Format string warnings: don't a.k.a. wchar_t with wchar_t. | |
54a7e3f [CFG] Removed unused local variable. | |
003eff6 Don't zero terminate the bitmap twice. | |
82f2858 constexpr: the result of a relational operator between pointers to void is unspecified unless the pointers are equal; therefore, such a comparison is not a constant expression unless the pointers are equal. | |
ff8f9ec ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead. | |
fdba182 Don't warn about -Wshorten-64-to-32 in unreachable code. Fixes <rdar://problem/10759934>. Apparently this is a common idiom in Linux (among other places). | |
0692a19 Make a bunch of local functions 'static'. | |
f492cb1 enhance some optimization logic to handle ConstantDataSequential as well as ConstantArray. | |
789f9b6 constexpr: catch a collection of integral undefined behaviors: -INT_MIN and INT_MIN / -1 Shift by a negative or too large quantity Left shift of negative value Overflow in left shift | |
a5888f6 Reapply r149311 which I reverted by mistake. | |
1d16f0f Revert r149083 which is not the direction we're going in the Clang driver based on discussions with Doug Gregor. There are several issues: 1) The patch was not reviewed prior to commit and there were review comments. 2) The design of the functionality (triple-prefixed tool invocation) isn't the design we want for Clang going forward: it focuses on the "user triple" rather than on the "toolchain triple", and forces that bit of state into the API of every single toolchain instead of handling it automatically in the common base classes. 3) The tests provided are not stable. They fail on a few Linux variants (Gentoo among them) and on mingw32 and some other environments. | |
b9b0f6f Revert r149311 which failed to compile. | |
6e1d2ea Fix "long double" and __SIZE_TYPE__ on powerpc, now with test fix. | |
395f1c0 constexpr: remove integral conversion overflow checking introduced in r149286. As Eli points out, this is implementation-defined, and the way we define it makes this fine. | |
339b907 Let %S, %ls, %C match 16bit types in NSStrings. | |
c9674be Clean up switch in Expr::CanThrow. No functional change. | |
841c96a Minor refactor within ExplodedGraph::reclaimRecentlyAllocatedNodes(). No functionality change. | |
be4dc94 Convert checker over to using ProgramStateRef. | |
f20f46c fix test. | |
72e9306 Convert ProgramStateRef to a smart pointer for managing the reference counts of ProgramStates. This leads to a slight memory improvement, and a simplification of the logic for managing ProgramState objects. | |
23111dc Convert more uses of 'const ProgramState *' to 'ProgramStateRef' (and related cleanups). | |
3128fa1 Revert r149285, it breaks test/Preprocessor/init.c. | |
3c52d36 test for a v-table dispatch that consumes an argument. twik to support the test case. // rdar://10444476 | |
f72fccf constexpr: disallow signed integer overflow in integral conversions in constant expressions in C++11. | |
acd8c51 Fix "long double" and __SIZE_TYPE__ on powerpc. | |
8f7d64b Remove tgmath.h from the module map for now, because it currently causes a cyclic module dependency due to its inclusion of math.h and complex.h. I'll take another shot at it later. | |
3c267e6 objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. In this patch, the null path releases consumed argument. // rdar://10444474 | |
7fc8003 [analyzer] Rename the checker as per Ted's comment. Remove the reference from the driver. | |
ce3aa39 Disable "non literal format string" for NSString that result from a macro expansion. This is to prevent diagnostic when using NSLocalizedString or CFCopyLocalizedString macros which are usually used in place of NS and CF strings literals. | |
304e6f1 [analyzer] Make osx.cocos.CFContainersSyntax a default checker. | |
ba0e318 Fix typo spotted by Sebastian. Thanks! | |
0c8731a Per discussion on cxx-abi-dev, don't drop leading zeroes from the mangling of floating-point literals. I just went ahead and reimplemented toString() here; if someone wants to generalize the library routine to do this, or feels strongly that we should be post-processing, please feel free. | |
013b366 SmallBitVectorize the deduced parameter set. | |
e29cdeb Fix yet another issue introduced when renaming '-ccc-host-triple' to '-target'. The original flag was part of a flag group that marked it as driver-only. The new flag didn't ever get equivalent treatment. This caused the '-target' flag to get passed down to any raw GCC invocation. Marking it as a driver option fixes this and PR11875. | |
30c5f14 Remove long dead code for handling vector shift by immediate builtins. | |
34269df Update on format attribute handling. - Remove the printf0 special handling as we treat it as printf anyway. - Perform basic checks (non-literal, empty) for all formats and not only printf/scanf. | |
79a64c7 Remove custom handling for cmpsd/cmpss/cmppd/cmpps builtins. The builtins are now in IntrinsicsX86.td. | |
f8495d6 Cleanup 3dnow builtin handling. Most of them were already handled by LLVM connecting intrinsics and builtins in IntrinsicsX86.td. | |
af5f550 [analyzer] Add index out of bounds check for CFArrayGetArrayAtIndex. | |
e727d21 Introduce TargetInfo::hasFeature() to query various feature names in each of the targets. Use this for module requirements, so that we can pin the availability of certain modules to certain target features, e.g., provide a module for xmmintrin.h only when SSE support is available. | |
89f4283 Simplify code by using the new getAggregateElement method that got added recently. This also conveniently gets clang ready for a change about to land in mainline. | |
dc58aa7 Thread a TargetInfo through to the module map; we'll need it for target-specific module requirements. | |
add5adb CMake: Promote the testing targets out of folders on IDE. | |
ebb1004 Just disable the compiler-builtins module test on MSVC for now | |
8101c7f Teach tgmath.h to only include <complex.h> if it's available. | |
0fcba56 Try to get useful diagnostics out of the failing MSVC builders | |
e5c9e09 Alternate fix to the modules failures that doesn't require us to tweak tgmath.h | |
5ad2649 If there's no math.h, then tgmath.h should just be empty | |
fe225e4 Temporary disable the -verify on this test in the hope of getting some useful output from the buildbots | |
3e80d8a Introduce a module map for (some of) the compiler-supplied headers. The remaining headers require more sophisticated requirements; they'll be handled separately. Part of <rdar://problem/10710060>. | |
4e1524b revert r149184 | |
52f1272 Switch over to LLVM's file-level locking facility | |
c6d626b Update line numbers. Sigh | |
a007431 Also require a proper shell | |
85ae12d Ensure that we clean up after a failed module build and cope with the results in libclang. | |
c5b2e58 Implement code completion support for module import declarations, e.g., | |
e434ec7 Rework HeaderSearch's interface for getting a module from a name and for getting the name of the module file, unifying the code for searching for a module with a given name (into lookupModule()) and separating out the mapping to a module file (into getModuleFileName()). No functionality change. | |
8f95cb3 Test module lookup within a subdirectory of a normal include directory. | |
77fe6cd When emitting an ARC epilogue that looks like a return of 'self', kill the retain from the return site. | |
f48f796 Get a little bit smarter about killing off the ReturnValue alloca in the presence of straight-line cleanups. This is a simple but important case, particularly for ARC. | |
4188760 Complain about attempts to use 'protected' visibility on targets like Darwin that don't support it. We should also complain about invalid -fvisibility=protected, but that information doesn't seem to exist at the most appropriate time, so I've left a FIXME behind. | |
de2fdc2 objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. // rdar://10444474 | |
a49a283 Make the __builtin_c[lt]zs builtins target independent. | |
9f1c49c Use defined-at-zero behavior for CLZ/CTZ builtins on PowerPC. | |
c35fb7d StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers. | |
bd2b6f0 Added tests for template keyword presence. | |
82e6411 DiagnosticsEngine::setMappingToAllDiagnostics() does not need to return bool, caught by Chad. | |
394f7b6 Allow the external AST source to provide a layout without specifying the alignment (because it's not encoded in DWARF). In this case, make an educated guess at the alignment. | |
5faf5d3 Remove the "C" in "implicitly declaring C library function" diagnostic because all functions are not C functions (i.e. NSLog). | |
a1f1fad Introduce module attributes into the module map grammar, along with a single attribute ("system") that allows us to mark a module as being a "system" module. Each of the headers that makes up a system module is considered to be a system header, so that we (for example) suppress warnings there. | |
e4b9276 Added source location for the template keyword in AST template-id expressions. | |
69d5384 Remove redundant checks. | |
fad03b7 Avoid redundant NNS qualification in constructor/destructor names. | |
8b4f2b7 Add test for -Wno-everything. | |
11583c7 Due to a bug, -Wno-everything works like -Weverything. Fix the bug by having -Wno-everything remap all warnings to ignored. | |
97a9cf3 In FixItRecompile::BeginInvocation() reset the diagnostics before executing the original action. | |
cff9f26 Reimplement (de-)serialization of Objective-C categories to eliminate the direct serialization of the linked-list structure. Instead, use a scheme similar to how we handle redeclarations, with redeclaration lists on the side. This addresses several issues: - In cases involving mixing and matching of many categories across many modules, the linked-list structure would not be consistent across different modules, and categories would get lost. - If a module is loaded after the class definition and its other categories have already been loaded, we wouldn't see any categories in the newly-loaded module. | |
6895a64 Be sure to emit delayed diagnostics after parsing the declaration of a for-range variable. Fixes PR11793. | |
745f514 constexpr: Implement the [dcl.constexpr]p5 check for whether a constexpr function definition can produce a constant expression. This also provides the last few checks for [dcl.constexpr]p3 and [dcl.constexpr]p4. | |
30ae84c In FixItRecompile::BeginInvocation(), check the return value of BeginSourceFile(). | |
ba4be25 Placate gcc's -Wreturn-type | |
a5fde15 test/Driver/prefixed-tools.c: Disable this on win32 hosts, msvc and mingw. | |
5701e97 test/Driver/prefixed-tools.c: Fix newline at end-of-file. | |
0fa0638 Turn off implicit truncation warning for compound assignment to bitfields; it might be reasonable in some cases, but it clearly doesn't make sense in some cases, like the included testcase. | |
71d9d5c Teach ccc-analyzer about -fobjc-abi-version. | |
3a643af Make the bitfield implicit truncation warning slightly more aggressive, and make the printed warning a bit more accurate. The new behavior matches gcc's -Wconversion. <rdar://problem/10238797>. | |
1bd9137 Remove the ToolTriple logic in NetBSD, which was completely broken by the recent refactoring. All interesting NetBSD release have a GNU as version on i386 that supports --32, so don't bother with the conditional setting of it. | |
8b30a93 Make clz/ctz builtins defined for zero on ARM targets. rdar://10732455 | |
66de97f Remove obviously incorrect branch. | |
34144f6 Keep track of the original target the user specified before normalization. This used to be captured in DefaultTargetTriple and is used for the (optional) $triple-$tool lookup for cross-compilation. Do this properly by making it an attribute of the toolchain and use it in combination with the computed triple as index for the toolchain lookup. | |
8bef823 Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. | |
bbdfad5 objc-arc: introduce -no-finalize-removal which in gc mode, leaves "finalize' behind and in arc mode, does not include it. This allows the migrated source to be compiled in both gc and arc mode. // rdar://10532441 | |
e8c904f Don't suppress access-control or invalid-type diagnostics from a declarator just because we were able to build an invalid decl for it. The invalid-type diagnostics, in particular, are still useful to know, and may indicate something about why the decl is invalid. | |
b9cd498 Try harder to get X7 defined | |
4fe19b5 Change HasMutableFields to HasOnlyCMembers and consider that a tag inside another tag does not break C-like-ness. rdar://10756831 | |
ed0cc22 Don't separately serialize the list of instance variables in an Objective-C class. The AST reader just throws away this data anyway! | |
a2a5028 Force layout of more of the unions and structures in this test | |
4196363 objc: 'id' and block pointer compare in mergeTypes is made symmetrical. // rdar://10734265 | |
5fe3122 AST/ExprConstant.cpp: Silence a warning on ms cl.exe. "bool" does not prefer to be compared to integer. | |
1366392 Suppress any warnings from this test. They aren't interesting, and they end up in the same output file as the layout stuff. There may even be a race condition which is causing this output to confuse the FileCheck in some cases. I actually don't know how on earth the parsing of the layout file even works given that there are diagnostics in the middle of it. ;] | |
453dbcb Extend the ExternalASTSource interface to allow the AST source to provide the layout of records, rather than letting Clang compute the layout itself. LLDB provides the motivation for this feature: because various layout-altering attributes (packed, aligned, etc.) don't get reliably get placed into DWARF, the record layouts computed by LLDB from the reconstructed records differ from the actual layouts, and badness occurs. This interface lets the DWARF data drive layout, so we don't need the attributes preserved to get the answer write. | |
5b78a24 Use createRecordFwdDecl here since that's what we're doing. | |
1c081d9 Revert previous patch unifying all of the C++ record prep in one area, the gdb testsuite complains too much about the ordering of items printed, even if the offsets in the debug info are correct. | |
f8de042 Fix a minor bug in r148582, which made -ccc-host-triple into an alias option. I'm not adding a testcase because -ccc-host-triple is slated to be removed, but clang crashes if you try to use -ccc-host-triple without this fix. | |
3ee8c91 Remove another duplicated variable. | |
f2e4cd7 constexpr: evaluate (bool)&x as true when x is a local variable or a temporary. | |
98b940b Remove the headers now that ::close() is not used. | |
c8af910 In FixItRewriteToTemp::RewriteFilename don't try to close the file descriptor with close(); return it instead. | |
f81263f [analyzer] The CFContainer test should only be run on x86_64. | |
0277039 Rewrite/FrontendActions.cpp: Tweak to unbreak msvc. | |
c01dfc1 Revert r148249: "Make the auto-detection hack for the iOS simulator set the target triple correctly." | |
b4ab843 Improve efficiency of Sema::MaybeBindToTemporary by working with the canonical type directly and adding a fast path for the common case that the type is directly a RecordType. | |
95b68f9 Simplify {Record,Enum}Type::classof. | |
e26198c Adjust CLANG_BUILD_EXAMPLES to mean whether the examples are built by default, rather than whether they may be built at all. | |
516bbd4 Use function pointers, rather than references, to pass Destroyers around, in the process cleaning up the various gcc/msvc compiler workarounds. | |
24466d8 Add missing include of <unistd.h> | |
e41b041 Add an additional testcase for a lambda with implicit void return type. | |
8ec2bc8 Post link to checker-260, which is checker-259 with some experimental checks enabled. | |
84b007f Refactor to share code for handling return statements between lambda expressions and block literals. As it turns out, almost all the logic can be shared. | |
61d679a Introduce 3 new fixit options: | |
7a776be fix to go along with an llvm change: VMCore now returns an UndefValue when asking for a ConstantStruct with all undef elements. | |
8dc0506 Enable several checkers under --analyze for general testing. | |
de983d8 Tidy and remove some unused variables. | |
426fc94 Fix our handling of #pragma GCC visibility. Now the lexer just produces a token and the parser is the one responsible for activating it. This fixes problem like the one pr11797 where the lexer and the parser were not in sync. This also let us be more strict on where in the file we accept these pragmas. | |
027cb30 Collect this information together. No reason to have it split. | |
6faa554 Refactor into its own function. | |
24248e3 Reintroduce r148981 with significantly improved regression test. Now it both actually tests what it wants to, doesn't have bogus and broken assertions in it, and is also formatted much more cleanly and consistently. Probably still some more that can be improved here, but its much better. | |
46e39e3 StaticAnalyzer/Checkers: Fix CMake build. | |
cbd2733 [analyzer] Add an AST checker that checks for a common pitfall when using CFArrayCreate & family. | |
e7cff2c objc: allow block pointer matching 'id' type when they show up as argument types of two block pointers. // rdar://10734265 | |
ceccab9 Slight refactoring; catch yet another case where we were missing an lvalue-to-rvalue conversion. | |
26f0e4e arc migrator: Added an option to the migrator unused yet. | |
bac3413 Rework flushing of diagnostics to PathDiagnosticConsumer. Now all the reports are batched up before being flushed to the underlying consumer implementation. This allows us to unique reports across analyses to multiple functions (which shows up with inlining). | |
01f276d Don't stack-allocate an IntegerLiteral which can be referred to after the current method returns. PR11744, part 2. | |
10afce3 Revert r148981 because it fails test/Driver/freebsd.c | |
55fc7e2 Add some ABI tweaks for i386-pc-win32 triple so that we return structs in an MSVC-compatible way. Patch by Joe Groff. | |
0f12507 Improve the error message slightly for files that aren't using the expected UTF-8 encoding. Patch by Seth Cantrell. | |
457a377 Fix a crash involving a multi-dimensional dependent VLA. PR11744. | |
d2e7090 Post open source analyzer build checker-259. | |
d9b02e7 constexpr: add support for anonymous struct and union members in literal types. | |
51cb75a Clean up comment. | |
d081baa Try to unbreak the FreeBSD toolchain's detection of 32-bit targets inside a 64-bit freebsd machine with the 32-bit compatibility layer installed. The FreeBSD image always has the /usr/lib32 directory, so test for the more concrete existence of crt1.o. Also enhance the tests for freebsd to clarify what these trees look like and exercise the new code. | |
3943b1c Allow typo correction to be disabled in BuildOverloadedCallExpr variant. | |
1621e75 Restore a tiny bit of functionality that I completely overlooked in the Linux toolchain selection -- sorry folks. =] This should fix the Hexagon toolchain. | |
cd78e61 Avoid correcting unknown identifiers to types where types aren't allowed. | |
ada4fa7 [driver] Do emit the diagnostics when CompilerInvocation::CreateFromArgs() fails. | |
60a09dc Add custom callback object for typo correction in BuildRecoveryCallExpr. | |
d1bb4ae When we're substituting into a function parameter pack and expect to get a function parameter pack (but don't due to weird substitutions), complain. Fixes the last bit of PR11848. | |
00646ba The Linux pattern of adding all the search paths that exist doesn't seem to suit the FreeBSD folks. Take them back to something closer to the old behavior. We test whether the /usr/lib32 directory exists (within the SysRoot), and use it if so, otherwise use /usr/lib. | |
32f88be Remove the 'ToolTriple' concept from the NetBSD toolchain along with my gross hack to provide it from my previous patch removing HostInfo. This was enshrining (and hiding from my searches) the concept of storing and diff-ing the host and target triples. We don't have the host triple reliably available, so we need to merely inspect the target system. I've changed the logic in selecting library search paths for NetBSD to match what I provided for FreeBSD -- we include both search paths, but put the 32-bit-on-64-bit-host path first so it trumps. | |
0671555 Delete still more remnants of the now dead HostInfo. The janitoring will continue until cleanliness improves. | |
18d7f3a Delete the driver's HostInfo class. This abstraction just never really did anything. The two big pieces of functionality it tried to provide was to cache the ToolChain objects for each target, and to figure out the exact target based on the flag set coming in to an invocation. However, it had a lot of flaws even with those goals: - Neither of these have anything to do with the host, or its info. - The HostInfo class was setup as a full blown class *hierarchy* with a separate implementation for each "host" OS. This required dispatching just to create the objects in the first place. - The hierarchy claimed to represent the host, when in fact it was based on the target OS. - Each leaf in the hierarchy was responsible for implementing the flag processing and caching, resulting in a *lot* of copy-paste code and quite a few bugs. - The caching was consistently done based on architecture alone, even though *any* aspect of the targeted triple might change the behavior of the configured toolchain. - Flag processing was already being done in the Driver proper, separating the flag handling even more than it already is. | |
3366ef0 Add some really minimalist freebsd testing trees and use them in the freebsd test so that it's behavior isn't dependent on the filesystem of the host running the tests. This should revive the build bots at least. The tests and the trees still need a lot of love to make them as useful and easy to maintain as linux-ld.c. | |
e98e5b5 Add support for const pointer to literal-objc string as format attribute. | |
4d7ff6e Switch the ToolChain types to all store a Driver reference rather than a HostInfo reference. Nothing about the HostInfo was used by any toolchain except digging out the driver from it. This just makes that a lot more direct. The change was accomplished entirely mechanically. It's one step closer to removing the shim full of buggy copy/paste code that is HostInfo. | |
56576f7 test/CodeGen/avx-builtins.c: Fix more for -Asserts. | |
edf5a7b Fixup r148926, for -Asserts. | |
08386a9 Remove the TargetTriple object that I added to the Driver recently. This helped stage the refactoring of things a bit, but really isn't the right place for it. The driver may be responsible for compilations with many different targets. In those cases, having a target triple in the driver is actively misleading because for many of those compilations that is not actually the triple being targeted. | |
ea04285 Have FreeBSD use even more of the same smarts as Linux is now using for adding search paths. Add them only when they exist, and prefix the paths with the sysroot. This will allow targeting a FreeBSD sysroot on a non-FreeBSD host machine, and perhaps more importantly should allow testing the FreeBSD driver's behavior similarly to the Linux tests with a fake tree of files in the regression test suite. | |
6f75cc3 Switch FreeBSD to just include both '/usr/lib32' and '/usr/lib' in the search paths for 32-bit targets. This avoids having to detect which is expected for the target system, and the linker should DTRT, and take the 32-bit libraries from the first one when applicable. Thanks to Roman Divacky for sanity checking this. | |
fc52f75 Switch the Linux C++ standard library header search logic over to use the GCC installation's multiarch suffix now that it is exposed. | |
1c6f04a Make a major refactoring to how the GCC installation detection works. | |
007baa9 Re-enable test that was broken by r148919 | |
cf2362b Fix -fmacro-backtrace-limit=0 to show the entire macro backtrace. | |
3b6b61e disable this test for now. | |
2ce8842 reapply r148902: | |
9eb10cc fix broken testcase. | |
2c0c745 Fix a crash for an edge case of the GNU ?: extension. | |
8c9fe20 Fix r148920 to what I actually meant to commit. | |
e0dbedf Add missing check for placeholders. | |
2ee2ac2 Represent 256-bit unaligned loads natively and remove the builtins. Similar change was made for 128-bit versions a while back. | |
00b4657 In TreeTransform<Derived>::TransformBlockExpr, call ActOnBlockError for errors, patch by Dmitri Gribenko. | |
af521da Revert 148902 which was part of 148901 which was reverted in r148906. | |
c0536c8 Fix PR11848: decree that an alias template contains an unexpanded parameter pack iff its substitution contains an unexpanded parameter pack. This has the effect that we now reject declarations such as this (which we used to crash when expanding): | |
5d613b5 Refactor the record decl forward declaration code a bit. | |
a70e246 Typo. | |
9ddc624 use the new ConstantVector::getSplat method where it makes sense. | |
443aac9 With a little more work in the tentative parse determining whether a statement is a declaration-stmt or an expression, we can discern a subset of cases where the user erred in omitting the typename keyword before a dependent type name. Fixes PR11358! | |
8efca6b Introduce a generation number for selector lookups in the global method pool, so that we don't perform the same lookups into the same PCH/module file repeatedly. | |
568991b Only try to import a definition if there is an definition to import. | |
3add9f0 Make sure we correctly treat __is_convertible_to as an unevaluated context. PR11833. | |
dea8ba2 Fix test on cygwin (where va_list expands to a different type) | |
0d266d6 Whenever Sema attempts to look in the global method pool, try to load additional data from the external Sema source. This properly copes with modules that are imported after we have already searched in the global method pool for a given selector. For PCH, it's a slight pessimization to be fixed soon. | |
43d1251 Add "multiple format attributes" support on block. | |
5ac4b69 Rework the external Sema source's ReadMethodPool() so that it doesn't return pre-built lists. Instead, it feeds the methods it deserializes to Sema so that Sema can unique them, which keeps the chains shorter. | |
9d0064e Reduce peak memory usage of the static analyzer on sqlite3 (when using inlining) by 30%. | |
b5c6bab arc migrator: Provide infrastructure to add options specific to migrator. Use its first option to warn migrating from GC to arc when NSAllocateCollectable/NSReallocateCollectable is used. // rdar://10532541 | |
44fae52 Factor out the addition of a method into the global method pool, and teach it to always add the new method at the *end* of the list rather than as the second element in the list. | |
e6ca97f Fix NSLog format string checking for %@. | |
d814eaf Switch PerformImplicitConversion over to use DefaultLvalueConversion for lvalue-to-rvalue conversion. | |
1acbe5e Replace a hack to handle NSLog/NSLogv in sema by declaring them as Library Builtins. | |
9bc4fc4 Remove trailing slash in front of header name of ObjC builtins. | |
2c3038e [analyzer] Add the HTML file to the SATest diagnostic diff. (Uses the functionality which has been in CmpRuns long before.) | |
ab2d46e [analyzer] Testing: make diagnostic diffs more informative (add diagnostic message). | |
c15707d [libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl" for forward references of classes and protocols, this breaks libclang API usage. | |
9d24c2c Teach scanf/printf checking about '%Ld' and friends (a GNU extension). Fixes PR 9466. | |
32d4abf Force triple on these tests to pacify the windows tester. | |
fca84b2 Add a new warning, -Wover-aligned, which detects attempts to use the default allocator to construct an object which declares more alignment than the default allocator actually provides. Fixes PR9527! | |
8908879 Fix one of the (larger) FIXMEs where we were misusing the Driver's idea of the target triple to stand in for the "host" triple. | |
a5ee634 Small code cleanup/simplification in Sema::ClassifyName. | |
98c16b8 [libclang] When calling clang_getCursorReferenced on a class or protocol forward reference, do give an interface or protocol cursor back, don't give an 'UnexposedDecl' one. | |
466f45a objc: Issue a generic diagnostic assigning to an objc object in any abi mode. | |
b9ac30c [analyzer] Add more C taint sources/sinks. | |
fa5be91 Address one part of the FIXME I introduced my switching the triple inside of GCCInstallation to be a proper llvm::Triple. This is still a touch ugly because we have to use it as a string in so many places, but I think on the whole the more structured representation is better. | |
71efba0 The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function. | |
5d84bb4 At least within these classes, consistently spell 'GCC' as 'GCC'. I can't read Java-style 'Gcc' acronyms. ;] | |
58f2b29 Start hoisting the logic for computing the target triple into its own function. The logic for this, and I want to emphasize that this is the logic for computing the *target* triple, is currently scattered throughout various different HostInfo classes ToolChain factoring functions. Best part, it is largely *duplicated* there. The goal is to hoist all of that up to here where we can deal with it once, and in a consistent manner. | |
ecd7b04 Promote the extension warning for attempts to catch a reference or pointer to incomplete type from an ExtWarn to an error. We put the ExtWarn in place as part of a workaround for Boost (PR6527), but it (1) doesn't actually match a GCC extension and (2) has been fixed for two years in Boost, and (3) causes us to emit code that fails badly at run time, so it's a bad idea to keep it. Fixes PR11803. | |
cd0d56a When importing a RecordDecl as a DeclContext, make sure that we pull in the definition as well. | |
7b383e4 objc: issue error if assigning objects in fragile-abi too. // rdar://10731065 | |
5602f7e Teach the AST importer about redeclaration chains for Objective-C classes and protocols, implementing lazy-import semantics for both. | |
5d5051f Only mark an IdentifierInfo as having changed since deserialization when it actually has changed (and not, e.g., when we've simply attached a deserialized macro definition). Good for ~1.5% reduction in module file size, mostly in the identifier table. | |
1ea742b On Darwin, use the system's <unwind.h> whenever it is available. Clang's <unwind.h> isn't ready for prime time. Fixes <rdar://problem/10733587>. | |
4a04d0b Remove HostInfo::useDriverDriver(). This was only used in two places inside the innards of the Driver implementation, and only ever implemented to return 'true' for the Darwin OSes. Instead use a more direct query on the target triple and a comment to document why the target matters here. | |
91e6076 Hoist the targeted triple object into an actual object in the Driver. The Driver has a fixed target, whether we like it or not, the DefaultTargetTriple is not a default. This at least makes things more honest. I'll eventually get rid of most (if not all) of DefaultTargetTriple with this proper triple object. Bit of a WIP. | |
f211662 Support decltype in member initializers. | |
5e089fe Support decltype as a simple-type-specifier. | |
495f42a Add a test for a diagnostic special case added in r148439, as requested by Francois Pichet. | |
2dd52e3 Reword/rename -Wswitch-unreachable-default. | |
e1d82de Improve -Wswitch-enum diagnostic message. | |
23661d3 Revert various template unreachability code I committed accidentally. | |
a9bb955 More fixes/tests. | |
25f4c19 Test for the previous commit/crash. | |
7154c03 Support undefined dependent bases. | |
36b7c63 Simple hack to do unreachable code analysis on template patterns. | |
7514f31 Rename Sema::isNullExpr() -> Sema::isSentinelNullExpr() which is more descriptive. | |
0259042 Make driver tests more resilient to output trees containing symlinks -- the tests are making assertions about the name of the clang binary, so we should ensure that the name is as stable as possible. | |
69b26d6 In CXXRecordDecl::isCLike(), also check for PODness. | |
e42670b objective-c: Ignore with warning forward class declaration whose name matches a typedef declaring an object type. // rdar://10733000 | |
8f675e4 Make sure the integer type used to align the vaarg address is the same as the type of pointers. | |
f96708d fixes location of "availability" attribute so warning is displayed at its line. // rdar://10711037 | |
a8536c0 Ignore return type if its size is zero. | |
f75823f Remove extraneous ';'. | |
b832f6d Minor fixups for auto deduction of initializer lists. | |
05b7846 [libclang] For: @implementation I(cat) suppress subsequent references to 'I'. | |
4f1813e Introduce Sema::isNullExpr() that contains the checks that Sema::DiagnoseSentinelCalls() does. | |
438ee1f In CorrectTypo, use the cached correction as a starting point instead. | |
f5249f5 [asan] document the need for -fno-optimize-sibling-calls | |
092acb0 Fix a typo: _MM_FLUSH_ZERO_OFF has the wrong value. rdar://10716672 | |
277b156 Introduce CXXRecordDecl::isCLike() that is true if the class is C-like, without C++-specific features. | |
145f7b2 [libclang] Index C++ template specializations, rdar://10732708 | |
55fa1d9 [libclang] Index namespaces in C++ qualified lookup of members, rdar://10732798 | |
8818d45 [libclang] Index C++ constructor initializers, rdar://10732164 | |
7f6cf97 Improve Lexer::getImmediateMacroName to take into account inner macros of macro arguments. | |
f5cd27d Handle pseudo-object expressions (and any other placeholder expression) when code-completing member access expressions. Fixes <rdar://problem/10717172>. | |
f96241d Add -Wnarrowing as an alias for -Wc++11-narrowing, for better GCC compatibility. | |
f3c82c5 Downgrade C++11 narrowing conversion errors to warnings default-mapped to an error, so that users can turn them off if necessary. Note that this does *not* change the behavior of in a SFINAE context, where we still flag an error even if the warning is disabled. This matches GCC's behavior. | |
1db772b Add support for -fno-optimize-sibling-calls. Currently only implemented in the X86 backend in LLVM. | |
2d757ec Add a source range to the ms path. Spotted by David Blaikie. | |
df1be86 In microsoft mode, downgrade pseudo-destructors on void from error to warning. | |
413c2c9 Rename -Wswitch-enum-redundant-default to -Wswitch-redundant-default. | |
585d779 Implement -Wswitch-enum correctly. | |
c14ec5a Convert file from 60% unix 40% dos line endings to 100% unix line endings. | |
2897660 Eli says this should check MicrosoftMode instead. | |
afcc96a In ms mode, a move assignment operator shouldn't mark a copy ctor as deleted. | |
8c38206 Make sure the AST correctly represents lvalue-to-rvalue conversions where appropriate. | |
9366750 Fix -Wswitch to warn about out of bounds enum cases even when there's a default | |
adabbca Move -Wswitch-enum to -Wswitch | |
6b6fb4f In Microsoft Mode, disable the C++11 strict integral conversion rules for enumerator that were introduced with r148439. Otherwise MSVC headers won't compile in C++ 11 mode. | |
31ceb61 Add -Wswitch-enum-redundant-default. | |
f3c1ca6 lib/Frontend/InitHeaderSearch.cpp: [Cygwin] Add 4.5.3. | |
b4f90c2 [Cygwin] Abandon Cygwin-1.5 and g++-3. Use g++-4.3 and higher on Cygwin-1.7. | |
665b002 [analyzer] It's possible to have a non PointerType expression evaluate to a Loc value. When this happens, use the default type. | |
b3381f6 Use the new installheaders makefile target in libcxx. | |
3fc809d Remove redundant argument. | |
3bfd6d7 [analyzer] Make VLA checker taint aware. | |
416de51 Add an assertion that our use-marking actually covers all uses of a variable. The assertion doesn't cover quite as much as it should, but it's a good start, at least. | |
78a5424 Fix some comments relating to ExpressionEvaluationContexts. Get rid of a couple of uses of ConstantEvaluated which don't make sense. | |
65ba948 Fix code so that a SkipUntil will ignore semicolons when skipping a function body. This keeps the brace count accurate to prevent additional errors. Also, moved the caret from the brace to the function name. | |
8c345c0 [analyzer] Unbreak the static analyzer bot. Regression from r148558. | |
be25db9 Add obvious missing call to MarkDeclarationReferenced. | |
71b8fb5 Make clang's AST model sizeof and typeof with potentially-evaluated operands correctly, similar to what we already do with typeid. | |
2f72ec9 arg migrator: change all "assign" of object properties to "strong" when migrating from GC. // rdar://10532449 | |
c8dc135 Fix the code completion string for variadic macros with more than one argument, which was broken and very ugly (and even had a test case to make *sure* it was broken and ugly). Fixes <rdar://problem/10609117>. | |
e424844 add tests for wide character encodings | |
e03b2b3 Handle thread safety attributes on functions with separate definitions and declarations. | |
23323e0 Delayed template instantiation of late-parsed attributes. | |
7b9ff0c Instantiate dependent attributes when instantiating templates. | |
ef1440b The 'l' length modifier makes sense with the scanlist conversion specifier. | |
c4f4d5d Testcase for PR11345. | |
4ddca8a When adding types to the context chain for record types, just emit a forward declaration unless we already have a type. We can fill it in later if it's actually used. | |
3575c45 Remove unnecessary and incorrect redirection of stderr. | |
9ec60df rename -ccc-host-triple into -target | |
ce506ae Tighten format string diagnostic and make it a bit clearer (and a bit closer to GCC's). | |
3026348 More dead code removal (using -Wunreachable-code) | |
18932a0 Add ability to specifiy 'restrict' on parameters of builtins, and correct this oversight for scanf functions. | |
3eaaa99 Per PR 11814, use Monospace instead of Andale Mono. | |
02019f7 [analyzer] Add taint awareness to DivZeroChecker. | |
86f9601 arc migrator: replace "retain" attribute with "strong" which have same semantics in mrr as well as arr. // rdar://10688312 | |
afb51af [analyzer] Tweak the buildbot script to include the experimental taint checker and correct the checker enabling setting. | |
c891666 use llvm:Attributes instead of unsigned | |
d9806c9 Enhance Lexer::makeFileCharRange to check for ranges inside a macro argument expansion, in which case it returns a file range in the location where the argument was spelled. | |
74fe661 Replace a dubious use of SmallVectorImpl with a proper copy. | |
eabcf7e Fix broken unit test | |
1f6b2b5 Extract the (InputKind, std::string) pair used to describe inputs to the front end into its own class, FrontendInputFile, to make it easier to introduce new per-input data. No functionality change. | |
b7ff74a Localize variable, remove unused assignment. | |
dc370c1 Remove unused variables. | |
a8180e5 Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. | |
b63d8d8 Implement checker that looks for calls to mktemps and friends that have fewer than 6 Xs. Implements <rdar://problem/6336672>. | |
76a5424 Turn 'SecuritySyntaxChecker' into a "meta" security checker for insecure APIs. Now multiple checks are exposed as separate checkers, but CheckerManager only creates one Checker object. | |
0b28928 [libclang] Fix crash when indexing attributes, rdar://10702250. | |
ef331b7 Remove PotentiallyPotentiallyEvaluated, and replace it with a much simpler and less error-prone way of handling the relevant cases. Towards marking of whether a declaration is used more accurately. | |
2bf8fd8 [analyzer] Add socket API as a source of taint. | |
be97b7e [analyzer] Skip casts when determining taint dependencies + pretty printing. | |
461af1e [analyzer] Add a utility method that allows to find the macro name used at the given location. | |
3352ea9 [analyzer] Cleanup of Symbol dump methods. | |
315ff36 [analyzer] www: A minor cleanup to the dev manual. | |
eb96af8 Further testing for instantiation of out-of-line constexpr static data member template definitions. | |
796c1a1 An instantiation of a constexpr static data member in a class template is constexpr. | |
fcaf27e Extend the error of invalid token after declarations to include fixits for !=, %=, ^=, &=, *=, -=, |=, /=, <<=, <=, >=, and >>= to =. | |
65eccf0 Silence set-but-unused warning. | |
e64d903 Introduce Lexer::getSourceText() that returns a string for the source that the given source range encompasses. | |
11b652d Introduce Lexer::makeFileCharRange() that accepts a token source range and returns a character range with file locations. | |
69bda4c For Lexer's isAt[Start/End]OfMacroExpansion add an out parameter for the macro start/end location. | |
19d5aea Add unit testing for Lexer. | |
f5f18bf Extend unwind.h with the ARM unwinder interface. | |
b0f9dd2 A few style changes. Change CheckVectorLogicalOperands to pass params by ref. Add another test case. | |
bcdd7d9 Remove the now-unused CorrectTypoContext enum. | |
8ef7b20 constexpr: converted constant expression handling for enumerator values, case values and non-type template arguments of integral and enumeration types. | |
d6c7c67 Change the error when a '+=' follows a declaration to suggest a fixit to '=' instead of just suggesting a ';'. | |
8e87490 Use -Wdeprecated-objc-isa-usage for option to issue deprecated usage of 'isa'. // rdar://8290002 | |
43e875d Convert SemaDecl.cpp to pass callback objects to CorrectTypo. | |
057df20 Optimize unqualified/global name lookup in modules by introducing a generational scheme for identifiers that avoids searching the hash tables of a given module more than once for a given identifier. Previously, loading any new module invalidated all of the previous lookup results for all identifiers, causing us to perform the lookups repeatedly. | |
c2a8d6c Refactor: Pull getImmediateMacroName() out of DiagnosticRenderer and into Lexer and Preprocessor; making it widely available. | |
556b1d0 objc: deprecate direct usage of 'isa' of objc objects in favor of usage of api's intended for. // rdar://8290002 | |
64554ba In the driver, -fmodules enables modules for C/Objective-C but one also needs -fcxx-modules to enable modules for C++/Objective-C++. | |
7748cbc Add and update tests for character literals | |
5393e21 stop claiming unicode escape sequences are too long in strings, because they never are | |
79f0a82 Fix char literal types in C | |
be77352 Improves support for Unicode in character literals | |
7d6a7c0 test svn commit access | |
4798f8d Convert DiagnoseEmptyLookup to use correction callbacks. | |
4c3fc9b Move narrowing conversion detection code from SemaInit to SemaOverload, ready for it to be used in converted constant expression checking, and fix a couple of issues: - Conversion operators implicitly invoked prior to the narrowing conversion were not being correctly handled when determining whether a constant value was narrowed. - For conversions from floating-point to integral types, the diagnostic text incorrectly always claimed that the source expression was not a constant expression. | |
8013afe Add testcase for r148375! | |
9bc291d Make PotentiallyPotentiallyEvaluated contexts work correctly when referencing a class field from outside an instance method. | |
f6b5637 Fix a string over-run detected by ASAN. | |
40b993a A call to strlen is not a constant expression, even if we're treating it as a builtin. | |
6b3014b The value of a case statement is a potentially evaluated context. Found by inspection. | |
7cdfe29 [analyzer] Refactor: prePropagateTaint -> TaintPropagationRule::process(). | |
4e46221 [analyzer] Taint: warn when tainted data is used to specify a buffer size (Ex: in malloc, memcpy, strncpy..) | |
9b0c749 [analyzer] Taint: add taint propagation rules for string and memory copy functions. | |
9392d4e Constify FunctionDecl::getmemoryFunctionKind(). | |
22afacc Fix special king of typo. | |
93c878e Fix a couple issues where we didn't correctly delay diagnostics in PotentiallyPotentiallyEvaluated contexts. In preparation for making sizeof() PotentiallyPotentiallyEvaluated. | |
303b4f9 output body of folded case again. | |
985df1c Folding away unreachable case statement. patch (slightly revised) by Aaron Ballman. | |
65a1e67 Make sure to initialize ExternalProtocolPtrTy | |
87eaf72 objc-arc: when 'assign' attribute is unspecified, rely on property's type for its life-time to avoid bogus warning with -Warc-unsafe-retained-assign. // rdar://10694932 | |
98d3606 Add Sema::isInitListConstructor. This will be needed for upcoming work. | |
62b7cfb Auto deduction support for std::initializer_list, including for-range support. This means you can now write: | |
84760e3 Template argument deduction for std::initializer_list arguments from initializer lists. | |
bb95e51 Rename the first of 11 DeduceTemplateArguments overloads. | |
fe59228 Basic overloading support for std::initializer_list. | |
2b916b8 Sema support for initialization of std::initializer_list from initializer lists. | |
395e04d Add Sema::isStdInitializerList, which will be necessary for the upcoming operations. | |
9bc23ba fix for PR11655 changes i64 alignment from 64 to 32 for powerpc-darwin | |
0af8049 Disable -Wduplicate-method-match by default. <rdar://problem/10663536> | |
f7b2d8b Add __builtin_labs and __builtin_llabs, to complete the set of __builtin_*abs. Patch by Ruben Van Boxem. | |
e7aa62d Remove constant member pointer support from Expr-based constant emission now that APValue-based constant emission knows how to emit member pointers. | |
8788491 Correctly resolve an overload set passed to an overloaded operator=. PR11784. | |
7d580a4 Enable constant evaluation of implicit calls to constexpr conversion operators. | |
a8398ea Enable the new ObjC ARC autorelease pool elimination pass. | |
b29b12d When initializing a catch variable in ARC, be sure to emit retains or whatever else is required for the initialization instead of assuming it can be done with a simple store. | |
29c3f81 Fix a couples of issues in format strings checking. PR 10274: format function attribute with the NSString archetype yields no compiler warnings PR 10275: format function attribute isn't checked in Objective-C methods | |
56ca8a9 Rework the way in which we (de-)serialize the declarations corresponding to TagType and ObjCInterfaceType. Previously, we would serialize the definition (if available) or the canonical declaration (if no definition was available). However, this can end up forcing the deserialization of the definition even through we might not want to yet. | |
6b81b0d objc: fixes a bug where struct used inside an objc class was not being exported to parent decl context resulting in bogus mismatch warning later on. // rdar://10655530 | |
7fe90f3 [libclang] Make sure Preprocessor is set in ASTUnit during indexing. | |
4c86fdb Don't eagerly deserialize the 'Protocol' type when initializing code generation for Objective-C; it may not be needed. | |
3efe999 When collecting all of the redeclarations of a declaration loaded from a module file, be sure to also add the first (potentially canonical) declarations to the chain. This isn't guaranteed to occur because the first declaration is not listed in the stored redeclaration chain. | |
a6ea10e Delay the creation of the built-in Objective-C class 'Protocol' by moving it from a "special type" to a predefined declaration, as we do for id, Class, and SEL. | |
c876946 Treat -Wformat=0 as an alias for -Wformat. | |
9fdefb3 Re-add an over-zealously removed break. | |
312ede8 Remove dead comments as per Chandler's feedback to r148292 | |
7530c03 Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it) | |
561d3ab Remove unnecessary default cases in switches over enums. | |
5e192a7 [libclang] Make clang_getCursorCompletionString not depend on the ASTUnit having a Sema. | |
ea8c59a Introduce a CodeCompletionResult::CreateCodeCompletionString() that does not depend on Sema, it accepts an ASTContext and a Preprocessor. | |
6fc9e1d Introduce a static Sema::MarkDeducedTemplateParameters() that only depends on an ASTContext. | |
55693fb Revert r148271; this requires more thought. | |
58219e7 Change the behavior of the lvalue-to-rvalue conversion for varargs in PotentiallyPotentiallyEvaluated contexts so that we model it in a sane way in most cases, and give up for the edge case which hopefully doesn't matter too much. | |
883692e Improve diagnostics for dangling '}'. | |
0a151a1 Use Builtin ID as the return value for FunctionDecl::getMemoryFunctionKind(). | |
022b3f4 [analyzer] Taint: generalize taint propagation to simplify adding more taint propagation functions. | |
0b7febd Add new line. | |
4f692c2 Add support for OpenCL 1.1 logical operations. | |
cf7c14c Add some calls to MarkDeclarationReferenced, towards a point where every declaration which is used is marked as used. | |
100d041 Make the auto-detection hack for the iOS simulator set the target triple correctly. Getting the target triple wrong mostly appears to work, but messes up in subtle cases; for example, we incorrectly conclude that fwrite is actually named fwrite$UNIX2003. Also shuffles around the auto-detection code a bit to try and make it a bit more reliable. Fixes <rdar://problem/10664848>. | |
7c9719b Another test for 148243 non-constant-folded-switch containing a constant-folded switch. | |
c268832 A little more elaborate test for r148243 | |
9e9650c Patch for r148243 which was left behind. | |
d66715d Fixes a crash during constant folding of a switch and case statement which has an unscoped case inside it. Patch by Aaron Ballman | |
7a7ee30 Some improvements to the handling of C11 atomic types: | |
52e4c60 Refactor variables unused under non-assert builds. | |
c23f857 Now that deserializing a definition of a C++ class/Objective-C class/Objective-C protocol suffices get all of the redeclarations of that declaration wired to the definition, we no longer need to record the identity of the definition in every declaration. Instead, just record a bit to indicate whether a particular declaration is the definition. | |
cc32b44 When deserializing the definition of a C++ class/ObjC class/ObjC protocol, record the definition pointer in the canonical declaration for that entity, and then propagate that definition pointer from the canonical declaration to all other deserialized declarations. This approach works well even when deserializing declarations that didn't know about the original definition, which can occur with modules. | |
2171bf1 Completely re-implement (de-)serialization of redeclaration chains, again. The prior implementation was very linked-list oriented, and the list-splicing logic was both fairly convoluted (when loading from multiple modules) and failed to preserve a reasonable ordering for the redeclaration chains. | |
3419d7c Tweak markup. | |
da90c77 added descriptions of vector extensions, info about vector literals and vector operations. | |
665a8dc Fix ALL the markup. | |
ae9f85b Two variables had been added for an assert, but their values were re-computed rather than the variables be re-used just after the assert. Just use the variables since we have them already. Fixes an unused variable warning. | |
fa16125 decltype(e) is type-dependent if e is instantiation-dependent. Scary but true. Don't consider decltype(e) for an instantiation-dependent, but not type-dependent, e to be non-type-dependent but canonical(!). | |
244ee7b Pedantic diagnostic correction: in C++, we have integral constant expressions, not integer constant expressions. In passing, fix the 'folding is an extension' diagnostic to not claim we're accepting the code, since that's not true in -pedantic-errors mode, and add this diagnostic to -Wgnu. | |
28c1ce7 constexpr: casts to void* are allowed in constant expressions, don't set the designator invalid. (Since we can't read the value of such a pointer, this only affects the quality of diagnostics.) | |
750dc2b Change linkage computation so it doesn't depend on FunctionDecl::isExternC or VarDecl::isExternC, and instead queries what it actually cares about: whether the given declaration is inside an extern "C" context. Fundamentally, figuring out whether a function/variable uses C linkage requires knowing the linkage, and the logic in FunctionDecl::isExternC and VarDecl::isExternC was getting it wrong. Given that, fix FunctionDecl::isExternC and VarDecl::isExternC to use much simpler implementations that depend on the fixed linkage computation. | |
1136ef0 Use a smaller vector than SmallVector. | |
9e2822b Clear ImplicitConversionSequence the obvious way which turns out to be less fragile. | |
314f554 Give OverloadCandidateSet the responsibility for destroying the implicit conversion sequences so we don't get double frees when the vector reallocates. | |
47b1d96 objc: disallow __block attribute on method params. | |
448ce0f Reorder initializers, make use of the whole array. | |
7268c8b Move the inline array to the end. | |
527610d Destroy OverloadCandidates before taking away the underlying memory. | |
a54fbf2 Replace a using declararion with a typedef in the hope of satisfying GCC | |
ef96ee0 De-virtualize getPreviousDecl() and getMostRecentDecl() when we know we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method). | |
09dd379 Pool allocate ImplicitConversionSequences. | |
0e6a16f OverloadCandidateSet: Stop exposing SmallVector internals | |
f785a7d Introduce Decl::getPreviousDecl() and Decl::getMostRecentDecl(), virtual functions that provide previous/most recent redeclaration information for any declaration. Use this to eliminate the redundant, less efficient getPreviousDecl() functions. | |
9fcbf2d Revert accidental commit | |
8a8950b Add a FIXME for mutation of the common pointer of a RedeclarableTemplateDecl. It is not clear that it's worth delaying the allocation of said pointer | |
7c99bb5c Reimplement RedeclarableTemplateDecl in terms of Redeclarable<RedeclarableTemplateDecl>, eliminating a bunch of redeclaration-chain logic both in RedeclarableTemplateDecl and especially in its (de-)serialization. | |
170fd49 Remove a redundant word. | |
2d6a567 constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants. | |
8568ee7 [analyzer] Taint: add system and popen as undesirable sinks for taint data. | |
db4d7a5 [libclang] If CXIndexOpt_IndexFunctionLocalSymbols is enabled, also index parameters. | |
093ecc9 Remember if a type has its visibility set explicitly or implicitly. With that, centralize the way we merge visibility, always preferring explicit over implicit and then picking the most restrictive one. Fixes pr10113 and pr11690. | |
abac441 Fix 80-column violation. | |
2249074 [libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicate that one wants indexing callbacks for function-local symbols as well. | |
952626a Create host clang++ by soft-linking to clang | |
91534a3 (Implicit) parameters deserialized as part of a function type must not get added to the identifier chains as part of deserialization, because they should not be visible to name lookup. | |
dd9d645 Progress towards making isUsed() reflect whether a declaration is odr-used; don't set isUsed for local variables which are referenced in unevaluated contexts. Make other code use isReferenced() (which basically indicates that a declaration isn't dead) where appropriate. | |
f6c17a4 Fix a silly mistake in ComplexExprEvaluator::ZeroInitialization. <rdar://problem/10691092>. | |
f8ec8c9 Convert SemaTemplate*.cpp to pass a callback object to CorrectTypo. | |
117c456 Make sure to consider non-DeclContext scopes properly when finding multiple name lookup results in C/Objective-C. Fixes a regression a caused in r147533, found by Enea Zaffanella! | |
a8c6fea When inferring a module for a framework, first determine whether that framework is actually a subframework within a top-level framework. If so, only infer a module for the top-level framework and then dig out the appropriate submodule. | |
d9b859a Move identification of memory setting and copying functions (memset, memcmp, strncmp,..) out of Sema and into FunctionDecl so that the logic could be reused in the analyzer. | |
31cbe68 Revert r148138; it's causing test failures. | |
e4c7f90 Convert SemaExprMember.cpp to pass a callback object to CorrectTypo, improving the typo correction results in certain situations. | |
43115d4 remove assertions in the Hexagon backend specific clang driver | |
edd4f3c rename -ccc-host-triple into -target | |
9606a57 rename DefaultHostTriple into DefaultTargetTriple | |
e401415 Refactor for clarity. | |
fdf187c Reinstate test case accidentally reverted by r148028 | |
3a110f7 Don't infer a submodule for a framework's private header, at least for now. | |
704e732 Remove --hash-style from link command on Android. | |
eb66673 CodeInit was replaced by StringInit. | |
3534050 PR11754: Reject non-static constexpr member functions in classes with virtual base classes. | |
89e6e85 A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751. | |
9ec0ef3 constexpr is allowed on static member functions of non-literal classes. Per report on cfe-dev. | |
059d578 A few minor improvements to error recovery trying to access member of a function. In particular, this restores the cool error recovery for the example from http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html , which regressed a few months back. | |
f037541 Don't crash while trying to diagnose a function declared at block scope with an incomplete return type. | |
2f4d88f Fix up the calls to CorrectTypo in Sema*ObjC.cpp to use callback objects, and add a basic CorrectionCandidateCallback template class to simplify the fixups. | |
a150fa3 Revert previous commit. Something has gone wonky with my local configuration | |
d30630f When inferring a module map for a framework, add the 'private' requirement to headers under PrivateHeaders. We don't want to build them as part of the module (yet). | |
b71d157 [analyzer] Unwrap the pointers when ignoring the const cast. | |
71d2909 [analyzer] Taint: when looking up a binding, provide the type. | |
ce8ef16 [analyzer] RegionStoreManager::getBinding() should not crash when looking up value at a CodeTextRegion even when the type is not provided. | |
dba241d [analyzer] Fix a typo in a warning message. | |
9baf39d objc parsing. Fixes a crash when parsing array initialization inside a class implementation with parse errors. // rdar://10633434 | |
7984de3 Improve 0-argument -Wvexing-parse diagnostic by adding notes with fix-its: | |
83be12c Recommit r148056 with fixes to deal with weirdness with bitfields in unions. | |
cd7a21b Revert r148056 while I investigate failures. | |
b030b19 Revert accidental commit. | |
a179682 Make sure adding a field to a struct never reduces its size. PR11745. | |
3d33622 Adjust set of default checkers. | |
0c6b8e3 If an ObjCMessageExpr is implicit, there are no source locations for the selector identifiers. | |
3b4b047 Convert SemaCXXScopeSpec.cpp to pass a callback object to CorrectTypo, improvng the typo correction results in certain situations. | |
f2b4f7b objc: do not warn when converting to a const id qualfied by its list of protools. // rdar://10669694 | |
b29d3e7 Revert 148045 to fix the bots. | |
9f141c4 Add a SONAME to the libclang library. Patch by Sylvestre Ledru. | |
425d631 Convert SemaInit.cpp to pass a callback object to CorrectTypo. | |
0849ade [analyzer] fix inlining's handling of mapping actual to formal arguments and limit the call stack depth. The analyzer can now accurately simulate factorial for limited depths. | |
ec78916 constexpr: initialization of a union from an empty initializer-list should zero-initialize the first union member. Also fix a bug where initializing an array of types compatible with wchar_t from a wide string literal failed in C, and fortify the C++ tests in this area. This part can't be tested without a code change to enable array evaluation in C (where an existing test fails). | |
37969b7 scanf: parse the 'm' length modifier, and check that the right arguments are used with that and the 'a' length modifier. | |
1d7049a In Objective-C++, actually compute the base type of a member access expression for an Objective-C object or pointer type, so that we don't attempt to treat the member name as a template. Fixes <rdar://problem/10672501>. | |
28058d1 scanf analysis: the 'a' length modifier is valid with a scanlist | |
6de0b48 scanf analysis: don't bail out after successful parse of scanlist | |
b4218a3 test/Driver/debug-options*.c: Tweak r147819 to split out another cc1as-sensitive test. gcc driver is invoked for assembling on cygming. | |
d135641 Revert accidentally-committed file in r148020. | |
61e6162 Allow constant-folding of references which were formed in a manner not permitted in a constant expression, for compatibility with g++. | |
746f5bc Add IsImplicit field in ObjCMessageExpr that is true when the message was constructed, e.g. for a property access. | |
d8b4216 [arcmt] The migrator tests for the buildbot in http://lab.llvm.org:8011/builders/clang-native-mingw32-win7/ are messed up, XFAIL does not help. Waiting until DISABLE is supported.. | |
1437425 [analyzer] Rename Store::Retrieve() -> getBinding(). | |
1fb826a [analyzer] Add taint transfer by strcpy & others (part 1). | |
e9c8760 Fix test case committed in r147986. | |
121c67d Formatting. | |
7c9b2fd Formatting. | |
cc66254 Take into account the pointer to an aggregate that is passed as a hidden argument when Offset is initialized. | |
2afd23d Call CodeGenTypes::ConvertType to get LLVM::Type*. Remove function MipsABIInfo::GetFloatingPointTy. | |
ed0b31f Fix some edge cases with C++ casts and placeholder expressions. | |
3306f96 objective-c: fixes a regression in looking up names in class extensions and categories by recent refactoring of objc class ASTs. // rdar://1066654 | |
5b7254c Appease -Wnon-virtual-dtor | |
72b8f78 Extend test-case as requested by Eli | |
ec3bd72 Improve the diagnostic when trying to redefine a typedef with a variably-modified type. | |
dc98cd0 Fix the caching in CorrectTypo so that other non-keyword identifiers are still added if the cached correction fails validation. | |
3efd348 minor refactoring to improve compile-time performance. | |
7d5e694 Add initial callback object support to Sema::CorrectTypo. | |
015f608 objc-arc: evaluate 'readonly' property with no known life-time to that of its backing 'ivar's lifetime. // rdar://10558871 | |
de8facc constexpr: fix typo resulting in move constructors sometimes not being implicitly marked constexpr when they should be. | |
463f136 More tests for ARM FPU features. | |
35dd732 Fix -mfpu parsing on ARM. | |
8844f45 clang/test/CodeGen/vla-4.c: Relax expression for -Asserts. | |
5ff53b2 Fixed VLA code generation. | |
3e97758 "This change adds alloca/valloc checks to UnixAPIChecker. It includes a small refactoring for the common *alloc functions as well as a few tiny wibbles (adds a note to CWE/CERT advisory numbers in the bug output, and fixes a couple 80-column-wide violations.)" | |
cb28b48 test/Driver/debug-options-as.c: Mark this as XFAIL:cygwin. | |
c0004df C11 allows typedefs to be redefined. Implement this in C11 mode, and downgrade the default-error warning to an ExtWarn in C90/99. <rdar://problem/10668057> | |
983d835 Revert changes to lib/Driver in r147917; I didn't mean to commit this. | |
97a72c3 Add elidable CXXConstructExpr as block-level expr. It converts an lvalue to a rvalue, which is a useful step during AST evaluation. | |
b69b42c Start refactoring code for capturing variables and 'this' so that it is shared between lambda expressions and block literals. | |
52f220d Typo in test. | |
256ef64 Remove '#if 0' from ExprEngine::InlineCall(), and start fresh by wiring up inlining for straight C calls. My hope is to reimplement this from first principles based on the simplifications of removing unneeded node builders and re-evaluating how C++ calls are handled in the CFG. The hope is to turn inlining "on-by-default" as soon as possible with a core set of things working well, and then expand over time. | |
806054d Do placeholder conversions on array bounds in both declarators and new-expressions. | |
9db0a5e Remove switch/case statements and call GetFloatingPointTy() instead to get the floating point type. | |
6d1080f Flatten float complex arguments. N32/64 requires float complex arguments be passed in floating point registers. | |
9659d59 Remove space. | |
31dfd64 Add field IsIEEE in FloatingLiteral to distinguish between different 128-bit floating point formats. | |
6731074 When something goes wrong in type-checking a namespace definition, make the namespace declaration invalid | |
b43550b Add support for the androideabi environment to our triple support, and for the arm-linux-androideabi triple in particular. | |
6e6f93a objc-arc: fixes a crash when trying to find out retaining cycle ownership of property sent to 'super'. // rdar://10640891 | |
02577ff Remove a set, but unused variable. Found with GCC's warning. | |
d3e29ef [analyzer] Testing infrastructure: Flush output after every print statement. | |
91ee4a7 Contrary to the other BSDs, NetBSD followed the ELF ABI for structure passing on i386 and does not use registers. | |
f660f4b Make PathDiagnosticLocation more resilient to null Stmt pointers. | |
5660aa6 Add definitions for AMD's bobcat (aka btver1) | |
5c65e4f Enable POPCNT and LZCNT with sse4a. | |
448f68d Factor the repetitive cpu macro definition into a helper function. | |
1bf7a3f The `-fwritable-strings' flag doesn't make the backing store strings of all CFStrings writable. | |
7ead5c7 Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.) | |
610a60c PR11724: Implement evaluation for constexpr defaulted trivial union copy/move constructors. These are a special case whose behavior cannot be modeled as a user-written constructor. | |
15e17ae Per John's comment, it makes sense to ask isLambda on any CXXRecordDecl; make sure that's safe. Get rid of a check which is now unnecessary in Sema::getFunctionLevelDeclContext(). | |
510037b [arcmt] XFAIL on mingw. | |
bdad7a2 Update C++11 scoped enumeration support to match the final proposal: - reject definitions of enums within friend declarations - require 'enum', not 'enum class', for non-declaring references to scoped enumerations | |
8f0a403 Add -g to the cc1as flags only if we're dealing with an original source file. Otherwise -g -save-temps will error out on the compile of any .c file. | |
46d2a5c Remove extraneous braces. | |
20abee6 objc++: patch for IRgen for atomic properties of c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845 | |
d18840d Don't crash with -Wlarge-by-value-copy and a dependent type. PR11726. | |
1c94c16 Extend the diagnostic for a ',' at the end of a declaration where a ';' was intended to cover C++ class definitions. | |
d1d512a Fix "note" of a duplicate explicit instantiation definition following a specialization. | |
a33fd39 Insert padding before unaligned long double arguments. | |
4ba3fd4 Move the piece of code up that skips the padding argument. Without this change, padding insertion will not work if the coerced type is not a structure. | |
80a5b27 Restore some parts of this test which were accidental reverted in r147649. Thanks to David Blaikie for pointing this out. | |
1c3875d When deserializing an anonymous namespace from a module, do not attach the anonymous namespace to its parent. Semantically, this means that the anonymous namespaces defined in one module are distinct from the anonymous namespaces defined in another module. | |
0fdc09f Implement merging of namespace-scope declarations across modules, so that we can merge, for example, two occurrences of | |
c6c8e0e Implement redeclaration merging for namespaces defined in distinct modules. Teach name lookup into namespaces to search in each of the merged DeclContexts as well as the (now-primary) DeclContext. This supports the common case where two different modules put something into the same namespace. | |
c02d62f Always allow redefinition of typedefs when modules are enabled. This is important because it's fairly common for headers (especially system headers) to want to provide only those typedefs needed for that particular header, based on some guard macro, e.g., | |
753a200 Made unknown builtin diagnostic remappable. | |
05fe4b5 Merge AVX/AVX2 into the SSE level. | |
b08cfb3 objc++: more atomic property api code for c++ object properties. wip. | |
2215eef Remove unused variable. | |
0b536f3 Remove unused include of VectorExtras.h. | |
9bc6fb6 Pack UsingDecl more. | |
b6e5fe3 objc++: More codegen stuff for atomic properties of c++ objects with non-trivial copies. // rdar://6137845 | |
c5bdc55 [analyzer] Fix use-after-free in HandleTranslationUnit. | |
06284c1 Fixed TypeofExpr AST and code generation. | |
f5c9f9f Switch NamespaceDecl from its own hand-rolled redeclaration chain over to Redeclarable<NamespaceDecl>, so that we benefit from the improveed redeclaration deserialization and merging logic provided by Redeclarable<T>. Otherwise, no functionality change. | |
72899c3 More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.) | |
9f03b62 [analyzer] Add basic format string vulnerability checking. | |
b004a49 [arcmt] Disable tests in mingw, no idea why they are failing there. | |
e81d7e9 Lambdas: semantic analysis of explicit captures. | |
3070e13 [analyzer] Remove CallEnterNodeBuilder and simplify ExprEngine::processCallEnter(). | |
f0cc208 Add field PaddingType to ABIArgInfo which specifies the type of padding that is inserted before the real argument. Padding is needed to ensure the backend reads from or writes to the correct argument slots when the original alignment of a byval structure is unavailable due to flattening. | |
242384d Correctly enqueue successors in ExprEngine::processCallExit(). | |
894212e [analyzer] Remove CallExitNodeBuilder, and have ExprEngine::processCallExit() do the work manually. This is a nice simplification. | |
d87a0cd Suppress -Wunused-value within macros from system headers. | |
cd93b96 objc++: more code gen stuff for atomic property api, currently turned off. // rdar://6137845 Also, fixes a test case which should be nonatomic under new API. | |
5eca482 [analyzer] Make the entries in 'Environment' context-sensitive by making entries map from (Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals. | |
0782ef2 During name lookup, use redecl_iterator to walk over the redeclaration chain to determine whether any declaration of the given entity is visible, eliminating the redundant (and less efficient) getPreviousDeclaration() implementation. | |
d97927d Revert r147664; it's breaking clang regression tests. | |
0774ba7 Fix uninitialized variable warning. | |
52a27f5 Revert r147655; it's breaking the compiler_rt build on OSX. | |
b4fa418 Thread safety analysis: added support for trylock attribute. | |
b37d2b5 Added LocalVariableMap | |
42378be __FLT_EVAL_METHOD__ should be 1 on NetBSD/i386, since it defaults to "double" rounding. | |
e317302 objc++: some declarations related to atomic properties of c++ object types with non-trivial assignment copy. Not used yet. // rdar://6137845 | |
2d5f095 Silence GCC warnings. | |
e683fd9 [asan] mention -fno-omit-frame-pointer in the docs | |
303aae9 When inferring a submodule ID during module creation, look up the include stack to find the first file that is known to be part of the module. This copes with situations where the module map doesn't completely specify all of the headers that are involved in the module, which can come up when there are very strange #include_next chains (e.g., with weird compiler/stdlib headers like stdarg.h or float.h). | |
f46ca24 [analyzer] Correct the c++-analyzer symlink | |
46cd218 Stash Decl's TopLevelDeclInObjCContainer and ModulePrivate bits into the two unused lower bits of the NextDeclInContext link, dropping the number of bits in Decl down to 32, and saving 8 bytes per declaration on x86-64. | |
b4e85ed C++11 generalized constant expressions: implement checking and diagnostics for pointer-arithmetic-related undefined behavior and unspecified results. We continue to fold such values, but now notice they aren't constant expressions. | |
f143ffc Introduce a "Hidden" bit into Decl, to track whether that declaration is hidden from name lookup. The previous hack of tweaking the ModulePrivate bit when loading a declaration from a hidden submodule was brittle. | |
9b8b20f Teach DeclContext deserialization to pay attention to endianness, from David Fang and Takumi Nakamura. Fixes many PCH failures on PowerPC. | |
843cc5a If we are compiling with -fno-builtin then don't do constant folding of builtins. | |
092beef Fix the mangling of class template arguments in a particular dependent case. Thanks to Jason Merrill for pointing this out. | |
1a5d355 Improvements to the uninitialized variable warning: Check if the constructor call is elidable or if the constructor is trivial instead of checking if it is user declared. | |
906a7e1 More lambda work. Fixes a minor bug Richard pointed out, makes lookup for lambda parameters work correctly, recording more information into the AST. | |
2f0e88a David Blaikie and Chandler would like us to diagnose | |
e0e7c99 [analyzer] c++-analyzer should be a symlink. | |
a772b86 [analyzer] Update the docs to reflect that gcc is not the only default compiler option. | |
dd40b84 [analyzer] scan-build: If we are on MacOS, use clang as the default compiler. | |
f5c5f89 [analyzer] Skip --serialize-diagnostic when running scan-build. | |
1d7bcf4 Tweak to r147599 for PR10828: Move the check from the parser into sema, and use the Semantic Powers to only warn on class types (or dependent types), where the constructor or destructor could do something interesting. | |
a0b2ba1 Minor refactoring of sentinel warning on blocks. Add a test for this warning. | |
84e4986 objc++: sythesize a helper function to be used for copying atomic properties of c++ objects with non-trivial copy assignment in setters/getters. Not yet used. // rdar://6137845 | |
ce52bb3 Fix a memory leak of PragmaNamespaces, rdar://10611796. | |
5930a4c Address Richard's review comments on r147561 (Evaluate support for address-of-label differences). | |
5d1f496 Always allocate an extra 8 bytes for a deserialized declaration, since some code in Clang expects 8-byte alignment of declarations. | |
71207fc After further discussion, rename attribute 'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'. | |
6aeaa60 Tweak the fix to PR8977: an empty expression-list represents value initialization, not default initialization. Fixes PR11712. | |
1c7946a Don't seed the ASTWriter's declaration -> ID mapping with the IDs of each deserialized declaration, since that information is already available in each declaration. | |
b6b60c1 When we deserialize a declaration from a module file, allocate extra storage for the global declaration ID. Declarations that are parsed (rather than deserialized) are unaffected, so the number of declarations that pay this cost tends to be relatively small (since relatively few declarations are ever deserialized). | |
1e68ecc When creating declarations that are deserialized from an module file, go through a central allocation routine Decl::AllocateDeserializedDecl(). No actual functionality change (yet). | |
b8c879a When loading an AST file, set SourceManager::MainFileID to the main file of the AST file, as suggested by Tom Honermann. | |
cb7709c PR10828: Produce a warning when a no-arguments function is declared in block scope, when no other indication is provided that the user intended to declare a function rather than a variable. | |
ec9ea72 More lambda work. Tweak the Sema interface slightly. Start adding the pieces to build the lambda class and its call operator. Create an actual scope for the lambda body. | |
edb9459 [driver] Add support for passing -lazy_framework/-lazy_library to the linker. rdar://10630328 | |
b6cc6d7 Change casting slightly to avoid warnings about casting away const. | |
447af24 When we're performing name lookup for a tag, we still allow ourselves to see hidden declarations because every tag lookup is effectively a redeclaration lookup. For example, image that | |
79430e9 Minor cleanup; no functional change. | |
39afcaf Sanity checks in SourceManager::getFileEntryForID() and SourceManager::getFileEntryForSLocEntry() to make sure we do not crash. rdar://10594186 | |
7307643 The value of a const weak variable is not an integer constant. | |
c634f50 If we already have a definition for a top-level module that we deserialized from a module file, don't bother parsing a new definition | |
c3953aa Fixes a code gen bug for setter code for a property of c++ object reference type with trivial copy constructor. This causes an assert crash and bad code gen. when assert is off. // rdar://6137845 | |
752769f When generating includes for all of the headers we found in an umbrella directory, skip includes for any headers that are part of an unavailable module. | |
273c3a3 [analyzer] Add another tests to taint tester. | |
eb31a76 [analyzer] Be less pessimistic about invalidation of global variables as a result of a call. | |
f063a3b [analyzer] Correct the error message in the testing infrastructure. | |
22f18fd Rename attribute 'objc_suppress_autosynthesis' to 'objc_disable_automatic_synthesis'. | |
e3659a7 Fix 80 col violations. | |
0ad93a3 Fix test on Release builds. | |
b7a7819 Store the submodules of a module in source order, as they are stored in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules when serializing them. | |
e5e42ae Test case for my previous patch. | |
da611a7 objc: When issuing warning for missing synthesis for properties in classes declared with objc_suppress_autosynthesis attribute, pinpoint location of the said class in a note. | |
6563928 Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer. | |
08f7760 fix test on -Asserts builds. | |
44a2399 implement rdar://10639962 by keeping track of increased alignment information even in subscripting operations. | |
00b64f3 Add missing #endif in documentation. | |
fe40bf8 Support __has_attribute for objc_suppress_autosynthesis which is automatic with proper spelling :). | |
d2d2088 Driver/Darwin: Remove a hack that avoided passing -demangle to iOS linkers. | |
bd507c5 Add __has_feature(modules) to indicate when modules are available (in any language variant), and restrict __has_feature(objc_modules) to mean that we also have the Objective-C @import syntax. I anticipate __has_feature(cxx_modules) and/or __has_feature(c_modules) for when we nail down the module syntax for C/C++. | |
b7d09c8 Fix test so it doesn't depend on the host's calling convention lowering code. | |
4791fa2 Implement declaration merging for variables in disjoint modules. | |
7076281 Implement declaration merging for non-template functions from different modules. This implementation is a first approximation of what we want, using only the function type to determine equivalence. Later, we'll want to deal with some of the more subtle issues, including: | |
da795b4 Implement declaration merging for typedefs loaded from disjoint modules, so long as the typedefs refer to the same underlying type. This ensures that the typedefs end up in the same redeclaration chain. | |
b3453a8 Penryn doesn't support sse4.2, don't enable it in the first place. | |
13df6f6 Restore r147493 and remove the part of the test that was checking the wrong thing. | |
d1247c5 Extend ConditionBRVisitor to handle condition variable assignments. | |
d6aba06 Don't treat 'import' as a contextual keyword when we're in a caching lexer, or when modules are disabled. | |
256fc4d Process attributes in explicit function template instantiations. Fixes part of PR11690. | |
f88c400 Add an explicit LambdaExprContext to Declarator, to parallel BlockLiteralContext. Use it to ensure semantic analysis of types isn't confused by the lack of a type specifier. | |
c7ecc2e Have functions return structures smaller than 128-bit in registers if ABI is either N32 or N64. | |
deeab90 Fix messed-up indentation in r147515. | |
dc3b723 Stub out the Sema interface for lambda expressions, and change the parser to use it. Unconditionally error on lambda expressions because they don't work in any meaningful way yet. | |
4cd55b0 Revert r147493. It broke test/CodeGenObjC/constant-strings.m. | |
1c87980 Teach the static analyzer to not treat XPC types as CF types. | |
0507f7e Minor code formatting cleanups. | |
9f37cd1 In non-gc, non-arc mode, property of 'Class' type variety is treated as a 'void *'. No need to issue warning reserved for objc object properties. // rdar://10565506 | |
71523d6 Get rid of an unnecessary check; the AST for init-lists is the same independent of whether we're in C++11 mode. | |
c1275da Enhance UnixAPIChecker to also warn about zero-sized allocations to calloc() and realloc(). Patch by Cyril Roelandt! | |
3f26e0f Minor tweak to name lookup for C/Objective-C: after the first name, still consider whether this is a redeclaration lookup when determining whether to look for the visible declaration | |
7a53740 Test "merging" of typedef types across distinct modules. At present, the AST reader doesn't actually perform a merge, because name lookup knows how to merge identical typedefs together. | |
3edd5a9 Support constant evaluation for OpenCL nested vector literals. Patch by Anton Lokhmotov. | |
de9f253 Add initial version of checker to check if virtual member functions are called transitively from C++ constructors or destructors. Checker by Lei Zhang with a few tweaks by Ted Kremenek. | |
78c6fcf Initialise constant Objective-C string isa pointers with a weak reference to the class, so that they are usable in +load methods if the string class has been compiled with clang - if it's been compiled with GCC, the ABI makes this impossible. (GNU runtimes) | |
341b8be objc: diagnose misplacement of objc_suppress_autosynthesis attribute. | |
ed002bd Fixed by Chandler in r147434. | |
1ca4a5c Implement cross-module declaration merging for tag declarations, so that if two modules A and B both contain a declaration of a tag such as | |
5a15d92 Force set-xcode-analyzer to use the system version of Python installed on OS X. | |
7fde651 Add __has_feature(objc_modules) | |
200619f Add a test for the driver-level -fmodules/-fno-modules flags. | |
952b35d Add test case for PR 9774, which got fixed along the way. | |
62d0fab Added testcases for -Wdisabled-macro-expansion. | |
1ac13c3 Re-uglify #public and #private to #__public_macro and #__private_macro. | |
eb4f2c5 objc: use objc_suppress_autosynthesis attribute on classes which should not be default synthesized. | |
c13a34b Eliminate the uglified keyword __import_module__ for importing modules. This leaves us without an explicit syntax for importing modules in C/C++, because such a syntax needs to be discussed first. In Objective-C/Objective-C++, the @import syntax is used to import modules. | |
f84d560 Don't depend on undefined macros being 0, there are options for the preprocessor to warn about it. | |
e23dcf3 objc: introduce objc_suppress_autosynthesis class attributes for later use. | |
94ad28b Under -fmodules, accept #public <macroname> and #private <macroname> to make a macro public (the default for headers) or private, respectively. | |
5948ae1 Introduce a non-uglified syntax for module imports in Objective-C: | |
674949f Don't attempt to merge a deserialized declaration with existing declarations in the AST unless modules are enabled. This case doesn't come up with precompiled headers, and it isn't cheap. | |
dea22cc Factor the merging of declarations in the AST reader out to a separate member function template, since the behavior is identical for ObjCInterfaceDecl and ObjCProtocolDecl. It's expected that all redeclarable entities will have the same behavior. | |
7025d2c Add -fno-modules to the driver, to turn off modules (although they're off by default anyway). | |
752c74d Add a "Modules" language option, which subsumes the previous "AutoModuleImport" preprocessor option and is tied to -fmodules. | |
c514a8a Rename the command-line option for mapping #include/#import over to module imports from -fauto-module-import to -fmodules. The new name will eventually be used to enable modules, and the #include/#import mapping is a crucial part of the feature. | |
0257b7f Process attributes in explicit template instatiation definitions. Fixes PR11690. | |
ba9186c Teach the frontend to provide the builtin preprocessor defines for -ffast-math. | |
a2d8669 Add assertion to char32_t that the value is valid, as suggested by Jordy Rose. Add a test that such characters don't make it through to StringLiteral objects in error recovery. | |
d07cc36 Diagnose cases where the definition of a particular type is required, is known (to Clang), but is not visible because the module has not yet been imported. | |
abf07a7 Fix PR11685 by implementing -ffast-math and its various friends in the Clang driver. This involves a bunch of silly option parsing code to try to carefully emulate GCC's options. Currently, this takes a conservative approach, and unless all of the unsafe optimizations are enabled, none of them are. The fine grained control doesn't seem particularly useful. If it ever becomes useful, we can add that to LLVM first, and then expose it here. | |
1e8a067 Added a missing case for -Wdisabled-macro-expansion. | |
b5d763d Small cosmetic cleanups in code I will change anyway. | |
dcbe5f7 Small refactoring so that only one of the mergeVisibility/mergeLinkage functions calls setVisibility/setLinkage. | |
a28cb3e Eliminate ObjCProtocolDecl's end-of-definition location. It is not used anywhere. | |
61cc296 Fix canonicalization of protocol-qualified types | |
ec1a58b Move ObjCProtocolDecl::EndLoc into its DefinitionData, and give ObjCProtocolDecl proper source-range information. | |
c9d3c7e Eliminate the ForwardDecl/InitiallyForwardDecl bits from ObjCProtocolDecl. They are no longer needed | |
163ada8 Added -Wdisabled-macro-expansion warning. | |
dba9361 Implement declaration merging for Objective-C protocols across multiple, disjoint modules. There is far too much duplicating with the ObjCInterfaceDecl case here, which I'll eliminate shortly. | |
49310ba Eliminate redundant, empty function | |
bd9482d Eliminate ObjCForwardProtocolDecl, which is redundant now that ObjCProtocolDecl modules forward declarations properly. | |
a6387f3 Don't bother rewriting an Objective-C class or protocol declaration to the module file when we've merely added a definition | |
3937f87 Eliminate ASTMutationListener::UpdatedAttributeList, which is no longer needed now that we aren't back-patching ObjCProtocolDecls. | |
27c6da2 Wire up redeclaration chains for Objective-C protocols, so that both forward declarations and definitions of an Objective-C protocol are represented within a single chain of ObjCProtocolDecls. | |
1d784b2 Introduce the core infrastructure needed to model redeclaration chains for Objective-C protocols, including: - Using the first declaration as the canonical declaration - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and that we know which declaration is the definition - Serialization support for redeclaration chains and for adding definitions to already-serialized declarations. | |
5e2a1ff Move the data that corresponds to the definition of a protocol into a separately-allocated DefinitionData structure. Introduce various functions that will help with the separation of declarations from definitions (isThisDeclarationADefinition(), hasDefinition(), getDefinition()). | |
27b7ce6 Use hasSameType. | |
3fc73ee Use declaresSameEntity() when comparing ObjCProtocolDecls, and getCanonicalDecl() when putting ObjCProtocolDecls into a set. This is groundwork for making ObjCProtocolDecl redeclarable. | |
71cb8a2 Consider visibility attributes in namespaces as being explicit. I.e., they take precedence over command line options. Fixes PR10113. | |
6f26b5e Replace a isa+cast with a dyn_cast. | |
be1ac06 Happy new year 2012! | |
18383f0 clang/unittests/Basic/SourceManagerTest.cpp: Fixup corresponding to r147387. | |
51f564f Implement support for module requirements, which indicate the language features needed for a particular module to be available. This allows mixed-language modules, where certain headers only work under some language variants (e.g., in C++, std.tuple might only be available in C++11 mode). | |
868f65c Split out clang/test/Driver/debug-options-as.c from debug-options.c, and mark it as XFAIL: mingw32. | |
4debc82 Fix crash when trying to pretty-print unicode or wide string literals. | |
5120188 Unrevert r147271, reverted in r147361. | |
bf3cc73 Add CXX_FINAL_ATTR, CXX_OVERRIDE_ATTR, ANNOTATE_ATTR and ASM_LABEL_ATTR to the python bindinds. patch by Tom Schuster! | |
5c76db3 clang/lib/Headers/CMakeLists.txt: Unbreak cmake build. | |
7feb321 Add FMA4 intrinsics. | |
f9322a6 Remove an accidental change from r147370. Would only break if the new fma4 flag was used. | |
6a511e1 Add FMA4 feature flag. Intrinsics coming soon. Also make sse4a feature flag imply sse3. Matches gcc behavior. | |
68045b1 Add test for PRr11676. | |
f8c2a33 Revert r147271. This fixes PR11676. | |
d7c56e1 Change the diagnostics which said 'accepted as an extension' to instead say 'is an extension'. The former is inappropriate and confusing when building with -Werror/-pedantic-errors. | |
0945f20 Unbreak cmake build after r147340. | |
04bea93 Make this text slightly more accurate; thanks to Johannes Schaub for pointing this out. | |
e14e08b Add popcnt feature flag to match gcc. This flag is implied when sse42 is enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc. | |
63d32bd Fix cmake build with -DBUILD_SHARED_LIBS=ON. | |
df49782 Support for thread safety attributes on functions | |
80d4b55 Small refactoring and simplification of constant evaluation and some of its clients. No functionality change. | |
0e743b1 Handle a /etc/debian_version with a version number instead of a codename. Patch by Sylvestre Ledru. Fixes PR11673. | |
b406669 Add a target hook for FLT_EVAL_METHOD and use it to set the value on x86 with sse disabled. | |
5294c79 Support the 'a' scanf length modifier as an extension in C++. | |
72b20ff Enable the user to control whether CXXConstructExpr will be added as a block-level expr. Currently CXXConstructExpr is always added as a block-level expr. This caused two problems for the analyzer (and potentially for the CFG-based codegen). 1. We have no way to know whether a ctor call is base or complete. 2. We have no way to know the destination object being contructed. | |
375bb14 Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDecl covers both declarations (@class) and definitions (@interface) of an Objective-C class. | |
fedb6ec Fix the visibility of methods of explicit template instantiation definition when using -fvisibility-inlines-hidden. This matches gcc's behavior and documentation. | |
47d2145 constexpr: support for evaluation and codegen of typeid constants. | |
4a08268 Initialize member that ends up in PCH files. | |
fb8c56d Partially revert r147195; lib/Basic/Version.cpp conditionally depends on config.h. | |
5df37bd Delay checking of typedefs of dependent types. Fixes PR11630. | |
89ea416 driver: fix unused variable warning | |
a11d309 Fix potential use after free. | |
b5409c5 clang/lib/Headers/CMakeLists.txt: Unbreak cmake build to add bmi2intrin.h since r147275. | |
f58f364 Add BMI2 intrinsics. | |
dd4b350 Fix constexpr handling to allow 'extern constexpr' variable declarations. We no longer have access to the source locations we need to produce the 'replace constexpr with const' fixits, so they're gone for now. | |
eba05b2 constexpr: perform zero-initialization prior to / instead of performing a constructor call when appropriate. Thanks to Eli for spotting this. | |
19b4a71 Change LZCNT and BMI tests to check IR instead of X86 assembly. | |
6ab9f02 lib/Headers/CMakeLists.txt: Fix cmake build since r147263, for two missing headers. | |
0b269c1 Add the rest of the BMI intrinsics. | |
5c75208 Add intrinsics for lzcnt and tzcnt instructions. | |
31ceea0 Add BMI, BMI2, and LZCNT feature flags to enable adding intrinsics. | |
8d2a701 Remove unused variables. | |
b701d3d Always implicitly declare move assignment operations for dynamic classes, in case they override virtual functions from a base class. Also fix -print-stats counting of move assignment/construction. | |
5cbd751 Add last of the AVX2 intrinsics except for gather. | |
7bb0340 Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in other intrinsic headers. | |
34a1da4 Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in other intrinsic headers. | |
967cd88 Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd. | |
ee9b41d Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd. | |
7f16caa Intrinsics for AVX2 unpack instructions. | |
cbe627b More AVX2 intrinsics for shift, psign, some shuffles, and psadbw. | |
ff91d24 Fix several issues related to specializations and explicit instantiations. | |
17ba267 fix for PR11634 | |
430cf51 Give C11's __STDC_VERSION__ the final value. | |
ffbe9b9 Mass rename C1x references to C11. The name hasn't proliferated like "C++0x" so this patch is surprisingly small. | |
d217465 C1X is now C11, add -std=c11 and -std=gnu11 as aliases for the c1x arguments. | |
28a324a Add AVX2 multiply intrinsics. | |
8fdb6de Let CompilerInvocation initialization indicate failure | |
9241057 Pass context and access to Parser::ParseExplicitInstantiation() for good parser error recovery and for not crashing. | |
712ef87 objective-c: Use class definition AST in several situations when building related objc ASTs which require a class definition AST. These were uncovered when testing objc rewriter. | |
224bfee Remove spurious, but now legal, typename | |
585ec93 When building a module with an umbrella header, warn about any headers found within that umbrella directory that were not actually included by the umbrella header. They should either be referenced in the module map or included by the umbrella header. | |
682060c Colorize and condense CFG pretty-printing. | |
5cb94a7 Add -Wdangling-else. | |
1770e0d remove unneeded config.h includes | |
bf1739c Make a note for an optimization that I'd like to implement, when the ASTs for local externs are sound | |
c3cfd2a Serialize the AST reader's mapping from canonical declarations to the set of (previously-canonical) declaration IDs to the module file, so that future AST reader instances that load the module know which declarations are merged. This is important in the fairly tricky case where a declaration of an entity, e.g., | |
e89fd1b Add missing triple to darwin clang driver test. | |
b0c6c33 Fix build under -Wswitch by adding support for FK_ListConstructorOverloadFailed to initialization sequence dumping. | |
cce54aa If we end up merging an Objective-C class with an existing Objective-C class that comes from a different module file, make sure that we load all of the pending declarations for the original declaration. | |
567003e Last part of support for generating dwarf for assembly source files. This gets the clang driver to enable this when assembling a .s file. rdar://9275556 | |
cf15cef Overloading for initializer list construction. | |
62f13c9 Fix a parser bug that prevented it from correctly parsing explicit construct expressoins of the form T{args}. | |
10f04a6 List-initialization via constructor part 1. Still needs: pretty-printing, overloading, initializer_list. | |
231f793 Add AVX2 intrinsics for max, min, sign extend, and zero extend. | |
4617e28 Delete stray semicolon. | |
b7dcddf Fix typos in analyzer diagnostics pointed out by Matt Beaumont-Gay and Robert Purves. | |
04a94bc In Lexer::getCharAndSizeSlow[NoWarn] if we come up against | |
e6a24e8 Add support for bitcasts to vector type in Evaluate. | |
6180245 PR11614: Mark defaulted special constructors as constexpr if their implicit definition would satisfy the constexpr requirements. | |
0f75323 When deserializing an Objective-C class, check whether we have another declaration of that same class that either came from some other module or occurred in the translation unit loading the module. In this case, we need to merge the two redeclaration chains immediately so that all such declarations have the same canonical declaration in the resulting AST (even though they don't in the module files we've imported). | |
15ce164 Enhance AnalysisDeclContext::getReferencedBlockVars() to understand PseudoObjExprs. It turns out that the information collected by this method is a super set of the captured variables in BlockDecl. | |
974c5f9 PR11637: implement special-case constant evaluation for char arrays initialized by string literals. | |
280cf14 Fix regression in LiveVariables when reasoning about variables captured by blocks. | |
dedb362 Fix a silly mistake in this test that somehow slipped into my last commit. | |
58c65fc Fix a failure (which led to a crash) in constant emission code with vector compound literals. | |
f132dca In Lexer::getCharAndSizeSlow[NoWarn] make sure we don't go over the end of the buffer when the end of the buffer is immediately after an escaped newline. | |
97bbab2 objc, objc rewriter. Fixes couple of bugs one because of recent refactoring and one in the rewriter. | |
3b7a48f Improve CFG pretty-printing for CXXConstructExprs. | |
aa5d533 Cast enumerators from different anonymous enums to unsigned, to appease gcc | |
893d414 Improve CFG pretty-printing of CastExprs. | |
acca411 [libclang] In visitPreprocessedEntitiesInRange we are interested in a file region so translate the range to file locations. | |
cee5ec9 Fix bugs in SourceManager::computeMacroArgsCache() and add a unit test for it. | |
d7711ec For SourceManager::isBeforeInTranslationUnit(), have it consider macro arg expanded token locations as coming before the closing ')' of a function macro expansion. | |
87dd4f7 Implement a trivial, obvious optimization for deserialization of redeclaration chains: only ever have the reader search for redeclarations of the first (canonical) declaration, since we only ever record redeclaration ranges for the that declaration. Searching for redeclarations of non-canonical declarations will never find anything, so it's a complete waste of time. | |
4a4f25a Add a few more AVX2 intrinsics and fix the type strings on a couple SSE intrinsics. | |
318e460 Add AVX2 horizontal add/sub intrinsics. | |
7098cbd constexpr: diagnostic improvements for invalid lvalue-to-rvalue conversions in constant expressions. | |
9bddf43 Bump suitable alignment on darwin ppc 32/64 and x86-32 to 16 bytes. I don't actually know about the other OSes on X86-32 besides Linux... | |
1d238ea C++11 half of r147023: In C++11, additionally eagerly instantiate: - constexpr function template instantiations - variables of reference type - constexpr variables | |
14b9436 Attempt to fix test on 32-bit hosts. | |
6bd9719 Fix a case where Expr::isConstantInitializer would return true for an expression we can't support. In a slightly amusing twist, the case in question was already in the clang regression tests marked as a valid construct. <rdar://problem/10020074> | |
3e9ea0b C++ constant expression handling: eagerly instantiate static const integral data members of class templates so that their values can be used in ICEs. This required reverting r105465, to get such instantiated members to be included in serialized ASTs. | |
28441e6 objc QOI: Don't't warn about mismatch between attributes on method declaration and definition if former is in a system header. // rdar://10580333 | |
a44854a PR11297: Provide a better diagnostic for code which contains a reasonable-looking but ill-formed for-range statement of the form: | |
2cbe791 [analyzer] Do not invalidate arguments when the parameter's type is a pointer to const. (radar://10595327) | |
b5ea9db objc/c++: Issue diagnostic when free-standing ivar is accessed in class method instead of crash. // rdar://10593227 | |
1d4c113 When we make a previously-deserialized module definition visible, notify the AST deserialization listener so that the AST writer knows that it can write the macro definition. | |
6ae3257 Fix inversion of static analyzer path diagnostics for path conditions. | |
c7feca0 Fix a crash on invalid, http://llvm.org/pr11599 | |
d7f02c6 Let the KNR promotion warning be disabled. | |
2ccd89c When performing name lookup for a redeclaration, ignore module visibility restrictions. This ensures that all declarations of the same entity end up in the same redeclaration chain, even if some of those declarations aren't visible. While this may seem unfortunate to some---why can't two C modules have different functions named 'f'?---it's an acknowedgment that a module does not introduce a new "namespace" of names. | |
e7aa27a When performing layout for an Objective-C class, make sure to dig out the definition of that class. Fixes PR11613 / <rdar://problem/10604077>. | |
4c07c5d Add AVX2 intrinsics for pavg, pblend, and pcmp instructions. Also remove unneeded builtins for SSE pcmp. Change SSE pcmpeqq and pcmpgtq to not use builtins and just use vector == and >. | |
3ff53b3 Update the CMake build for r146959's new files. | |
9082cdd Relax type checking for a few Neon intrinsics. <rdar://problem/10538555> | |
2fbf373 Fix off-by-one error in an assert condition. No functionality change, but better error detection. | |
b6f8d28 Revert r146766, and add a testcase for which it introduced a wrong-code bug. | |
99ba9e3 Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch | |
f6702a3 Unlike in C++03, a constant-expression is not an unevaluated operand in C++11. Split out a new ExpressionEvaluationContext flag for this case, and don't treat it as unevaluated in C++11. This fixes some crash-on-invalids where we would allow references to class members in potentially-evaluated constant expressions in static member functions, and also fixes half of PR10177. | |
9490ab4 Fix tentative parsing so it knows how to handle an ambiguous for-range-declaration. PR11601. | |
9c7a925 Remove some extraneous carriage returns from these files. One of the Windows subversion clients isn't setup to default to eol:native again... | |
d9d12e0 Refine error diagnostic for using bridged casts when not using ARC. | |
305dc3e Detect when mapping a #include/#import over to a submodule ends up hitting a submodule that was never actually created, e.g., because that header wasn't parsed. In such cases, complain (because the module's umbrella headers don't cover everything) and fall back to including the header. | |
6446c3e Mark the calls to the _setjmp function as returns twice. <rdar://problem/10492556> | |
d71f442 Switch a few callers of MakeAddrLValue places over to MakeNaturalAlignAddrLValue. | |
e2eb0e9 objc-arc: bridge casts in non-arc mode are now error. // rdar://10597832 | |
bc6abe9 Evaluation support for ExprWithCleanups. We won't evaluate any expression which actually requires non-trivial cleanups, so no cleanups need to be performed. | |
af2c7a1 Improve r146813 (for PR11595) to give an appropriate diagnostic. | |
1f6b395 loads also handled of course. | |
4cac9e1 Fix PR5279 - don't sliently drop alignment information on stores of types that have alignment less than the natural alignment of the type when it comes from a typedef. | |
4f1aefc filecheckize. | |
e5d0f4c rename test. | |
a126651 Eliminate the first->last redeclaration map from the AST file format. It's no longer being used, now that we have a new implementation of redeclaration chains. | |
00852e4 objc-arc: bridge casts in non-objc-arc mode are ignord. But, warn too. // rdar://10597832 | |
21cf08b Remove ASTReader's PendingForwardRefs, which is now handled by the (more general) fix-up of definition data pointers. | |
aad21d7 Attempt to fix test in Release builds. | |
2d1e21a Fix typo 'typdefs', from Nikola Smiljanic | |
fc529f7 Once we have fully deserialized a redeclaration chain for something with a definition pointer (e.g., C++ and Objective-C classes), zip through the redeclaration chain to make sure that all of the declarations point to the definition data. | |
f63b0a5 Re-implement (de-)serialization of redeclaration chains for redeclaration templates (RedeclarableTemplateDecl), similarly to the way (de-)serialization is implemented for Redeclarable<T>. In the process, found a simpler formulation for handling redeclaration chains and implemented that in both places. | |
79ac2da Add a triple to the test. | |
adafc2e The submodule offset map can introduce "empty" remapping entries for imported modules that don't introduce any new entities of a particular kind. Allow these entries to be replaced with entries for another loaded module. | |
ecb1938 Optimize serialized representation of redeclarable declarations for which there are no redeclarations. This reduced by size of the PCH file for Cocoa.h by ~650k: ~536k of that was in the new LOCAL_REDECLARATIONS table, which went from a ridiculous 540k down to an acceptable 3.5k, while the rest was due to the more compact abbreviated representation of redeclarable declaration kinds (which no longer need to store the 'first' declaration ID). | |
68d7bb9 Make sure this test works in C++, too | |
bcf6b98 Extend the fix for PR9614 to handle inline asm in the outer decl and the inner decl being a builtin. This is needed to support the glibc headers in fedora 16 (2.14). | |
0f45682 Combine common (de-)serialization logic for typedefs and type aliases into operations on TypedefNameDecl. No functionality change. | |
735ceaa Add AVX2 intrinsics for and, andn, or, and xor. | |
098eaff SourceManager: use getBufferSize() | |
2c2a385 fix a broken link | |
9c2ffd8 More AVX2 intrinsic support including saturating add/sub and palignr. | |
099e7f6 constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' variable is initialized by a non-constant expression, and pass in the variable being declared so that earlier-initialized fields' values can be used. | |
925be54 Begin adding AVX2 intrinsics. Necessitated increasing the number of bits used to store builtinID when serializing identifier table. | |
b44b966 test/Analysis: fix error message | |
85c60db Silence gcc warnings. | |
3a89e37 examples: flesh out PFN readme | |
2116b14 PR11604: don't allow floating-literal-to-integer casts in ICEs if the (truncated) floating literal value does not fit into the destination type. Such casts have undefined behavior at translation time; treating them as non-ICE matches the behavior of modern gcc versions. | |
a1be278 Completely re-implement (de-)serialization of declaration chains. The previous implementation relied heavily on the declaration chain being stored as a (circular) linked list on disk, as it is in memory. However, when deserializing from multiple modules, the different chains could get mixed up, leading to broken declaration chains. | |
79cbbdc Split the Windows toolchain definition into its own file. This is especially nice as the Windows toolchain needs the windows header files, and has lots of platform specific hooks in it. | |
657849c Fix an abiguous-else warning from GCC. I have no idea why Clang doesn't have this warning. | |
b05dcdd Teach the link-step test to verify that we don't pass bad --hash-style flags on MIPS paltforms. | |
22d1414 Update CMake dependencies. | |
2b03bb0 Add -mavx2 and -mno-avx2 command line support. Also add core-avx2 processor type. | |
a07037f Record the downstreaming work in README.android. | |
ad64684 Frontend/VerifyDiagnosticConsumer.cpp: Fix an expression that had side-effect. | |
f2fcf1b [PCH] Remove extraneous line in the test that was mistakenly copied. | |
9170783 [PCH] Don't deserialize bodies of interesting decls while iterating over them because more interesting decls can be added during body deserialization. | |
2a76410 Refactor SerializeDiagnosticsPrinter to using DiagnosticRenderer. This gives us comparative diagnostics to TextDiagnosticPrinter. | |
2898d4f Refactor 'TextDiagnostic' to have a parent class 'DiagnosticRenderer' which handles the policy of how diagnostics are lowered/rendered, while TextDiagnostic handles the actual pretty-printing. | |
373cb78 [PCH] Fix bug where we failed to update an identifier for a single token macro expansion. | |
7116833 [PCH] In ASTReader::FinishedDeserializing fully load the interesting decls, including deserializing their bodies, so that any other declarations that get referenced in the body will be fully deserialized by the time we pass them to the consumer. | |
672b323 Add a sanity check in the Redeclarable::redecl_iterator to avoid infinite loop when we formed an invalid redeclaration chain due to a bug. | |
0db9f4d In Parser::SkipUntil do not stop at '@' unconditionally. | |
a24195a After late parsing an objc method, make sure there are no leftover cached tokens, because the memory associated with them is going to get released. We also don't want them to affect later parsing. (We do the same for C++ inline methods.) | |
f59ff8c Add a missing check before trying to evaluate a temporary. PR11595. | |
d7dd775 Fix _mm_permute_ps and _mm256_permute_ps AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 | |
c17f88e Revert r146797, which was a partial revert of r146791; It was correct in the first place. The permutevar_* (note the *var*) intrinsics use ymm/mem. | |
1e4faf5 Fix _mm256_extractf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 | |
1978087 Partial revert of r146791; vpermilps/vpermilpd instructions accepts ymm/mem/imm8. | |
fc038e9 Remove a non-gcc-compatible extension that would apply attributes on declarations without a declarator to structs. Add a warning for ignored attributes. Patch by Michael Han. | |
85b9e8c Add a triple to this test to hopefully get it passing on i386-freebsd. | |
5238474 [analyzer] Fixup for r146793. Add tests for atol and atoll. | |
9ffbe24 [analyzer] Add support for taint flowing through a function (atoi). | |
777d706 [analyzer] Minor: Simplify & assert. | |
b8786c4 Fix _mm256_round_pd, _mm256_round_ps, _mm_permute_pd and _mm256_permute_pd AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 | |
973bbb6 When in a limited debug information situation if we can find the original declaration for the type then go ahead and use that, it's still smaller than creating an all new derived type. | |
435e106 Start down the path of getting clang to internally agree on structs versus classes. | |
8a93d27 Fix an inconsistency in the syntactic form of InitListExpr in case of initialization that involves a ConstructorConversion | |
a3ca4d6 Don't allow #include (and its friends #import, #include_next and #__include_macros) in the arguments of a function-style macro. Directives in the arguments of such macros have undefined behaviour, and GCC does not correctly support these cases. In some situations, this can lead to better diagnostics. | |
37f953f Add missing header change | |
fd002a7 Make sure we're always setting the previous declaration of an ObjCInterfaceDecl | |
7ec59c7 Add the value of "suitably aligned" from the C++11 standard to Basic/TargetInfo. This is equal to alignof(std::max_align_t) on the platform and equal to the alignment provided by malloc. (Platform owners please double-check your platform's value.) | |
9952070 Fix 80-column violation and whitespace. No functionality change. | |
d9ce41e Add missing flush call. This is an attempt to fix a broken Windows buildbot. | |
1e7fc3d Reduce recursion limit on this test further to try to make the msys bot green. | |
b95ddf1 Fix vinsertf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. rdar://10590282 | |
c5cda11 Fix vperm2f128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. rdar://10576962 | |
80d39bf Add a warning flag for ext_embedded_directive. gcc considers this undefined behaviour to be an error, so it's useful to be able to make it an error in clang too. | |
25b009a PR11594: Don't blindly build a UnaryOperator UO_Minus on an expression which might not be an rvalue when checking array accesses. Instead, pass through a flag indicating the array index is negated. | |
08d6e03 C++11 constexpr: Add note stacks containing backtraces if constant evaluation fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit argument to driver and frontend, to control the maximum number of notes so produced (default 10). Fix APValue printing to be able to pretty-print all APValue types, and move the testing for this functionality from a unittest to a -verify test now that it's visible in clang's output. | |
d3d8548 [analyzer] Better stdin support. | |
0e818a4 Fixup to the relaxed diagnostic verification option r146633. | |
b29b92a Update tests to match r146744. | |
8d2dbbf If there is a definition of an ObjCInterfaceDecl, make it the Decl returned from the corresponding ObjCInterfaceType | |
91ec789 Support decltype in pseudo destructors and dependent destructor calls. | |
6b65d4a objc: after issuing the warning on direct use of __attribute__((NSObject)) on properties, prevent consequential error diagnostics. // rdar://10591336 | |
93e534a Fix LOCAL_MODULE for tblgen rules. | |
9b879db Apply changes to migrate to clang upstream r146715. | |
0af5501 Fix chaining of ObjCInterfaceDecl redeclarations | |
bd79119 Sema::RequireCompleteType currently attempts to instantiate a class from its template pattern before it consults the ExternalASTSource. LLDB in particular will sometimes provide patterns that need to be completed first. | |
99ee085 In SourceManager::~SourceManager do a sanity check to make sure we don't try to destruct a null ContentCache. | |
7c1f1f1 When generating debug info for an ObjCInterfaceDecl, try to dig out the definition. | |
05c272f Move ObjCInterfaceDecl's "EndLoc" into DefinitionData, since it only applies to an actual definition. Plus, clarify the purpose of this field and give the accessor a different name, since getLocEnd() is supposed to be the same as getSourceRange().getEnd(). | |
bcb3b98 [analyzer] Address Jordy's comments for r145985. | |
d63348c When name lookup finds a module-private Objective-C class declaration, check whether any previous declarations of the class were visible. | |
7723fec Keep track of all declarations of an Objective-C class (both forward declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" | |
0188872 Refactor and simplify AddInitializerToDecl. | |
d4b66b9 clarify that clang version number macros are marketing version #'s, not something useful. | |
26fec63 Extend ObjCInterfaceDecl::DefinitionData to contain a pointer to the definition, and implement ObjCInterfaceDecl::getDefinition() efficiently based on that. | |
36370f5 Update tests to match r146665. | |
53df7a1 Introduce the core infrastructure needed to model a complete redeclaration chain for Objective-C classes, including: - Using the first declaration as the canonical declaration. - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and the definition knows that it is the definition. - Serialization support for when a definition gets added to a declaration that comes from an AST file. | |
7ab8ef9 "Accidentally" fixed a bug with overloading of functions with Objective-C objects as parameters in r146659. Add a test for it. | |
dec1cc4 Two null Decl*'s don't refer to the same declaration, because they don't refer to anything. Amusingly, we were relying on this in one place. Thanks to Chandler for noticing the weirdness in declaresSameEntity. | |
1617947 Provide a default constructor for ObjCInterfaceDecl::DefinitionData that value-initializes all of its members for which default-initialization does not suffice. This should clean up the failures for compilers that do not implement C++ DR543: | |
31b9a98 Fix test/Sema/format-strings-scanf.c | |
d02deeb Support the 'a' length modifier in scanf format strings as a C90 extension. | |
db7a800 [libclang] Give up on using write(); hopefully unbreaks mingw build. | |
53ba956 Revert r146646 that was a mistake, and make the intended change in the right file. | |
f5a684d [libclang] Try to unbreak mingw build. | |
2e5c15b Move the definition-specific data of ObjCInterfaceDecl into a separately-allocated DefinitionData structure, which we manage the same way as CXXRecordDecl::DefinitionData. This prepares the way for making ObjCInterfaceDecls redeclarable, to more accurately model forward declarations of Objective-C classes and eliminate the mutation of ObjCInterfaceDecl that causes us serious trouble in the AST reader. | |
fa39f5b [libclang] Install a fatal error handler that will call abort() instead of exit() when there is a report_fatal_error() call. | |
4bf34d1 <climits> has UINT_MAX, not <limits>. | |
676bb5a Another fixit for r146633 (to make debian-fnt bot happy), try including limits instead. | |
c035e09 Fixit for r146633. Make sure UINT_MAX is defined on all platforms. | |
b17ee5b Enhance the -Wsign-compare handling to suppress the -Wsign-compare warning in the case of a shifted bitfield. PR11572. | |
2135ebb Add support for matching one or more (aka regex +) diagnostic messages with -verify. | |
62d829a gcov-style profiling support for OpenBSD. Patch by Jonathan Gray. | |
557a382 [analyzer] Ensure that the order in which checker callbacks are called is deterministic. | |
f8aba8c objc: do not auto synthesize properties declared in protocols; with a warning. // rdar://10567333 | |
5e3a8be In debugger support mode, if we have a top-level message send expression with an unknown result type, assume that the result type is 'id'. Fixes <rdar://problem/10400663>. | |
2fe9b7f Modify how the -verify flag works. Currently, the verification string and diagnostic message are compared. If either is a substring of the other, then no error is given. This gives rise to an unexpected case: | |
60ef308 Replace all comparisons between ObjCInterfaceDecl pointers with calls to declaresSameEntity(), as a baby step toward tracking forward declarations of Objective-C classes precisely. Part of <rdar://problem/10583531>. | |
643d3ce [libclang] Indexing API: provide an attribute list inside CXIdxEntityInfo so that we can access the attributes of an entity for a reference. | |
90fd67a [libclang] Suppress indexing references for occurrences of the interface in a superclass and the protocols in a protocol list. | |
eaa9511 Replace Decl::isSameEntityAs with a free function declaresSameEntity, which can cope with NULL pointer values | |
daaefc5 Produce more detailed diagnostics when static_assert condition is not an ICE. | |
0a36512 Halve the constexpr recursion depth in this test in an attempt to make the freebsd bots happy. In the longer term, we should have a mechanism for moving constexpr recursion off the call stack, to support the default limit of 512 suggested by the standard. | |
a2a1789 Fix typos. | |
c896ad0 Introduce Decl::isSameEntityAs(), to help compare declarations using their canonical Decl nodes. Not used yet, but it will be. | |
d3d0853 Don't consider an overloaded operator& when the expression is actually going to be a pointer-to-member constant. Fixes <rdar://problem/10544564>. | |
6af27ec Don't use the frame pointer on linux x86 and x86_64 if optimizing. This matches gcc's behavior. | |
9929523 [analyzer] Disable verification step on the failing test. | |
4805f15 Allow empty argument lists in thread safety attributes | |
76178ed Move & comment the 'decltype in declarator-id' as suggested by Doug Gregor. | |
86277c5 [analyzer] Re-enable the test which was failing on one of the bots. | |
0d57ca1 Fix obvious error in _mm_test_all_zeros. PR11565. Patch by Mathias Gaunard! | |
af76472 Eliminate the vistigial ObjCClassDecl::ObjCClassRef, and inline its members into ObjCClassDecl, saving ourselves one pointer per forward declaration. | |
5536891 When name lookup comes across a declaration that is in a module that is not visible, look for any previous declarations of that entity that might be visible. | |
80fb7dd r146430 lost some compile-time performance on MultiSource/Benchmarks/MiBench/security-rijndael; this gets most of it back. | |
dfba027 Enable stack protectors by default for iOS. <rdar://problem/8836680> | |
53f8217 Switch test over to using -verify instead of using grep. PR11552. | |
f512560 [analyzer] Revert the taint test, which is failing on one of the bots for time being. | |
efd6989 [analyzer] Treat stdin as a source of taint. | |
28fd98d [analyzer] Minor refactor to addTaint. | |
1009ac7 [analyzer] Mark output of fscanf and fopen as tainted. | |
e55a22b [analyzer] Mark getenv output as tainted. | |
9f6d068 Per discussion on the list, remove BitcodeVerify pass to reimplement as a free function. | |
a6dc7ef Make the diagnostic message more consistant. Update the type comparison to handle non-pointer types. This is for the extra info printed when function types are compared. | |
7209646 objc: diagnose duplicate declaration of methods in classes. // rdar://10535349 | |
c10a4c8 [libclang] Indexing API: Provide the protocols list for objc categories as well. | |
e422e45 [libclang] Indexing API: Fix indexing of missed references. | |
c2be04e [libclang] Indexing API: Fix suppressing of references in macros and suppress @class forward references. | |
7cb2101 Tweak ARC diagnostic categories and rename 'Automatic Reference Counting Issue' to 'ARC Parse Issue' and 'ARC Issue' to 'ARC Semantic Issue'. Patch by Jean-Daniel Dupas. | |
fea966a Added an assertion about overflow in sizeof evaluation. This does not solve the underlying structural issue that is waiting for a proper solution. | |
df512bf Disallow decltype in qualified declarator-ids. | |
c1c5f27 Add checks and diagnostics for many of the cases which C++11 considers to not be constant expressions. | |
9081c04 Testcase for LLVM commit r146475. | |
70d085a s/%clang-cc1/%clang_cc1/ for conformity. | |
3cee31e Set umbrella directory correctly when we infer a framework module | |
db103cc Fix "control may reach end of non-void function" warning. | |
9d24a8b Implement the Microsoft __if_exists/if_not_exists extension in initializer-list. Necessary to parse Microsoft ATL code. | |
2e17322 [asan] update asan docs | |
bab9f4a Tweak submodule ID handling in the AST writer | |
ba96ffc objc-arc: better diagnostic when block is declared inside a struct/union. | |
fa2b3dd Make CGRecordLayoutBuilder correctly switch over to a packed class when a class has a base whose alignment will break the class layout. <rdar://problem/10551376>. | |
ff78927 Add frontend flags to enable bitcode verifier pass. | |
8ef8f43 Suppress -Warray-bounds in certain cases involving macros from system headers. | |
364a59e Fixes a bug in calculation of field offsets of ms_struct fields by just following what comment says. // rdar://10513599 | |
9631939 Hexagon backend support | |
60f24e7 Further tweaking of diagnostic text for casts performing reinterpret_cast conversions in constant expressions. | |
3b29bb9 When we have an umbrella directory in a module map, recursively walk the subdirectories to find headers in submodules. | |
4cd9b8f Clean up diagnostic wording for disallowed casts in C++11 constant expressions. | |
d83d2e7 Don't mark include guard macros as implicitly private. This isn't actually a terribly good heuristic, and the world is too horrible for it to work. | |
c08e618 Fix signature of vsscanf in Builtins.def | |
d95a8ab0 Fix signature of sscanf in Builtins.def | |
c216a01 Implement C++11 constant expression cast restrictions. | |
439ddaa Make fscanf, vscanf, etc. be recognized as scanf-like functions. | |
d509342 Fix some not-yet-used diagnostic code in a template, which gcc spotted and clang did not! | |
dd1f29b Prepare constant expression infrastructure for the generation of richer diagnostics. No functionality change. | |
50058ec Update Clang to emit the new form of llvm.cttz and llvm.ctlz intrinsics, setting the is_zero_undef flag appropriately to true as that matches the semantics of these GCC builtins. | |
4db8c44 Fix/test decltype dtor calls with invalid base expression. | |
e3d250e [analyzer] CStringChecker should not rely on the analyzer generating UndefOrUnknown value when it cannot reason about the expression. | |
9f32a92 Reuse forAddr to create ignored AggValueSlots. | |
6d6a83c [analyzer]Fixup r146336. | |
24d052c [analyzer] Introduce IntSymExpr, where the integer is on the lhs. | |
6fcd932 Check that arguments to a scanf call match the format specifier, and offer fixits when there is a mismatch. | |
e7edf30 test/Sema/attr-availability.c: Add explicit -triple x86_64-apple-darwin9, for now. | |
16ed0e6 [libclang] Add defensive checks to make sure we don't try to dereference a null pointer after getCursorDecl() is called. rdar://10298421. | |
a4288c4 In ContentCache::replaceBuffer, add sanity check to make sure that we do not free a buffer and then continue using it. rdar://10359140. | |
9aab9c4 Make sure that we infer __strong, etc. when we instantiate variables under ARC. Fixes <rdar://problem/10530209>. | |
ee19f43 Add a fast path to the constant evaluator for integer literals. This speeds up compilation of some translation units of SPEC's 445.gobmk by ~4%, and does not seem to cause a measurable slowdown in other cases. | |
d575254 Add a sanity check in SourceManager::getColumnNumber, make sure we don't try to access beyond the buffer. | |
006e42f Add ability to supply additional message to availability macros, // rdar://10095131 | |
d937c21 Use the right CHECK prefix so that we actually do this checking. Miraculously, this hasn't broken | |
92be2a5 When we manage to re-use an expression during tree transformation (= template instantiation), and that expression might produce a temporary, invoke MaybeBindToTemporary. Otherwise, we forget to destroy objects, release objects, etc. Fixes <rdar://problem/10531073>. | |
001f628 Driver: Handle -f{no-}honor-infinities, -f{no-}honor-nans, and -ffinite-math-only. - No test case yet, I don't know how to construct a situation where this matters. | |
2c3c767 Fix up doxyments (\arg vs \p). | |
40563cd Make array new on a pointer to data member type work correctly. PR11523. | |
9eed49c Mechanically convert static_assert_fold to static_assert, now we implement the C++11 ICE rules. | |
f48fdb0 C++11 constant expressions: Don't use CheckICE in C++11; instead, determine whether an expression is a (core) constant expression as a side-effect of evaluation. This takes us from accepting far too few expressions as ICEs to accepting slightly too many -- fixes for the remaining cases are coming next. | |
0373fcc Add clang_getDiagnosticSetFromTU() to libclang. Fixes <rdar://problem/10553081>. | |
52a9b5a Sort exports list. | |
2def773 Add notes for suppressing and (if it's a zero-arg function returning bool) fixing the function-to-bool conversion warning. | |
6dce88d objc-arc: diagnose synthesis of a 'weak unavailable' property. // rdar://10535245 | |
44d95b5 Provide a separate warning for weak vtables in explicit template instantiations. There's no (current) way to fix such templates to emit strong symbols/vtables, but perhaps users want to know about the cost being incurred anyway. | |
efda0e8 When performing subframework header lookup, don't search for ".framework/" in the path name, because it could be ".framework\" on Windows. This whole function needs to be rewritten with PathV2. | |
99a922b Use llvm::sys::fs::equivalent rather than comparing inodes, because comparing inodes doesn't actually work on Windows. | |
6308218 Remove unnecessary braces from my previous commit. | |
f4f0c60 Make printf warnings refer to wint_t and wchar_t by name in addition to underlying type. | |
b8ec3e3 Move definition of ConversionSpecifier::toString() to FormatString.cpp | |
117348c fix format specifier fixit for printf("%ld", "foo"); | |
4b45c11 Fix a blatant typo or cut/paste-o reported by users of this header. | |
4ec4089 Teach isConstantInitializer that numeric literals are constants, rather than having it evaluate them. No change in functionality, but a speed up of about 5% on some translation units in SPEC 445.gobmk. | |
d4e6e7e Fix the --hash-style option when the target is MIPS as it is incompatible with the MIPS ABI. | |
8a0f155 Document the updated behaviour of __builtin_constant_p introduced in r146236. | |
432a455 [analyzer] Fix inconsistency on when SValBuilder assumes that 2 types are equivalent. | |
4278683 In ExprEvaluatorBase::VisitOpaqueValueExpr() add a sanity check to avoid infinite recursion due to bad OpaqueValueExpr. | |
e052d46 Replace the implementation of __builtin_constant_p (which was based on the GCC documentation) with one based on what GCC's __builtin_constant_p is actually intended to do (discovered by asking a friendly GCC developer). | |
6a1db48 Implement the notion of umbrella directories, which implicity cover all of the headers below that particular directory. Use umbrella directories as a clean way to deal with (1) directories/frameworks that don't have an umbrella header, but don't want to enumerate all of their headers, and (2) PrivateHeaders, which we never want to enumerate and want to keep separate from the main umbrella header. | |
71088d1 Move ChainedIncludesSource into the Frontend library. This never really belonged in the Serialization library, it's setting up a compilation, not just deserializing. | |
8bd25b4 Clean up the comments for this file now that its contents are totally different from what the comments indicated. Also drop a no longer used include that also violates the layering between Serialization and Frontend. | |
cb381ea Move a free function from the Frontend library into the Lex library as part of HeaderSearch. This function just normalizes filenames for use inside of a synthetic include directive, but it is used in both the Frontend and Serialization libraries so it needs a common home. | |
5a477db deprecated enum should not warn when used initializing another deprecated enumerator. // rdar://10535640 | |
c699400 Save category name loc in ObjCCategoryImplDecl, patch by Jason Haslam! | |
4451746 [libclang] Make sure we don't try to handle a CXCursor_NoDeclFound passed to clang_findReferencesInFile. | |
4897787 [arcmt] Un-XFAIL a test. | |
66aff4a Teach the Makefile build about the new diagnostic file from r146207. Amazingly this is all that's required. | |
9b7568d Use default visibility in the the symbols declared in unwind.h. This matches the behavior of gcc's unwind.h. | |
a2398d7 Separate the serialization library's diagnostics from the frontend's diagnostics. Conflating them was highly confusing and makes it harder to establish a firm layering separation between these two libraries. | |
6d402dc Misc Minix-specific changes to clang: | |
cc1f918 Don't get the exception obj from the slot more than once. | |
5fc7def [analyzer] If memory region is tainted mark data as tainted. + random comments | |
1e4f68c Fix an edge case in IRGen for conditionals. PR11509. | |
39993dd add tree test for suse on ppc64 (r146142) | |
1fa3c06 This patch extends thread safety analysis with support for the scoped_lockable attribute. | |
2cad9e3 Added missing testcase from r145849. Thanks to Dave Blaikie for catching this. | |
77d029f Implement umbrella directories for modules, which are similar to umbrella headers in the sense that all of the headers within that directory (and eventually its subdirectories) are considered to be part of the module with that umbrella directory. However, unlike umbrella headers, which are expected to include all of the headers within their subdirectories, Clang will automatically include all of the headers it finds in the named subdirectory. | |
d5c3fa2 More refactoring of objective-C rewriter. | |
489ad43 Tweak the syntax of umbrella headers, so that "umbrella" is treated as a modifier for a header declarartion, e.g., | |
10694ce Within the module representation, generalize the notion of an umbrella header to also support umbrella directories. The umbrella directory for an umbrella header is the directory in which the umbrella header resides. | |
5e3f922 Keep track of import dependencies between submodules within the module that's currently being built. This is important for supporting transitive dependencies ("export *" in the module map) completely. | |
53a75c0 Decltype in non-pseudo (& non-dependent) dtor calls. | |
52b1ed3 Convert paths to native format before constructing a directory_iterator for them. | |
e3ca33a Only do typo correction for implicit function decls when they are treated as errors. | |
90ec96f Fix: allow @protocol forward declarations inside @implementation-s. | |
f4e8a12 Unbreak MSVC build. | |
e1fca50 Remove unused parameter from the LateParsedTemplatedFunction constructor. | |
dc30967 Add an experimental MallocSizeofChecker, which reports inconsistencies between the casted type of the return value of a malloc/calloc/realloc call and the operand of any sizeof expressions contained within its argument(s). | |
2e55df4 Allow clang to find gcc libs on suse ppc64 | |
d85c1e9 Add a minimal unwind.h that knows how to forward to the system one in systems that have it in /usr/include (only OS X Lion so far). | |
b577757 Use the real end of the decltype expression. | |
e368a64 [libclang] When doing clang_findReferencesInFile, make sure we don't crash if we come up against a null Decl. | |
4ce83eb Minor cleanup. Avoid redundant getTriple() calls. | |
bb7f542 [libclang] Remove IndexingContext's getScopedContext(), it's not useful now that client containers can be set via function calls. | |
8cd0d25 Driver/Linux: Fix the ASAN library path to match current compiler-rt integration. | |
c24767c Driver: Add a --rtlib={compiler-rt,libgcc} argument which I plan to use to allow dual support for compiler-rt on Linux, during bringup. | |
23af6d5 Implement inference for the "Private" submodule corresponding to private headers in a framework. | |
4813442c Make sure we pick up module_private.map when loading a module.map file. | |
b1febb6 [libclang] Indexing API: provide both the semantic and the lexical container. | |
b526a87 [libclang] Fix indexing of C++ bases in a C++ class. | |
838d3c2 [libclang] Introduce CXIdxEntityLanguage that indicates the language of an indexed entity. | |
b39c5b4 [analyzer] Cleanup: use the variable. | |
7df67e6 runtime/Linux: Include the profile and ASAN libs on x86. | |
b78229c [analyzer] More www; document ProgramState->dump(). | |
22d4fb9 [analyzer] Update the checker writer manual with explanation of SVals and the link to checker callback documentation. | |
84fa05e Remove unused-but-set variable. | |
a792aff Make printf warnings refer to intmax_t et al. by name in addition to underlying type. | |
29f2787 Make changes to SDiagsWriter to make it work in combination with the ARC migrator: | |
68478b0 [libclang] Index C++ namespaces. | |
1c636df Fix multilib library paths on ppc64 Linux. Patch by Michael Kostylev. PR11472. | |
078f859 www: Update getting started to encourage people to check out compielr-rt. | |
2e23fd5 Initialize these values, fixing the build in cases where stack realignment actually occurs. | |
587986e Implement basic support for private headers in frameworks. In essence, when we load a module map (module.map) from a directory, also load a private module map (module_private.map) for that directory, if present. That private module map can inject a new submodule that captures private headers. | |
13eee19 Tweak serialized diagnostics to support errors with no categories. Fixes <rdar://problem/10538300>. | |
26e80cd Make sure we correctly zero-initialize unions containing a pointer to data member as the first field. PR11487. | |
dcf06fa [analyzer] Propagate taint through MemRegions. SVal can be not only a symbol, but a MemRegion. Add support for such cases. | |
f64114b If we can't write the temporary module map file when compiling a module, at least have the decency to complain about it. | |
aa9c350 When folding the size of a global scope VLA to a constant, require the array bound to not have side effects(!). Add constant-folding support for expressions of void type, to ensure that we can still fold ((void)0, 1) as an array bound. | |
b76a97e objc: issue deprecated/unavailable diagnostic when methods with these attributes are sent to receivers of 'id' type too. // rdar://10459930 | |
0e35b4e DeadStoresChecker: when whitelisting dead initializations with constants, look for a foldable constant rather than an IR-level constant. This is still far too liberal, but is a step in the right direction. | |
a91efb1 [analyzer] Add comments related to symbol_iterator | |
1d1d515 [analyzer] Refactor: Move symbol_iterator from SVal to SymExpr, use it for finding dependent symbols for taint. | |
aace9ef [analyzer] Propagate taint through NonLoc to NonLoc casts. | |
e5ee70d [analyzer] Remove an unnecessary check. | |
e912029 Add a FIXME to provide a sensible error message here | |
d62ca37 Move vector bitcast handling in constant expressions from the expression evaluator into constant initializer handling / IRGen. The practical consequence of this is that the bitcast now lives in the constant's definition, rather than in its uses. | |
1e821e9 Use absolute paths for temporary module map files | |
84b7964 [libclang] API enhancements by Joe Groff! | |
e487f42 Rename Objective-C-only tests to .m | |
e6fb987 Remove misleading error message | |
ac252a3 When inferring a module map for a framework, infer subframework modules for each of its subframeworks. | |
b80a386 Remove unused member to appease valgrind. | |
7b5f101 [asan] Mac: do not link dynamic libs with the asan-rt, use -undefined dynamic_lookup for dynamic libs. Style fixes. Patch by glider@google.com | |
ef85b56 Allow inferred submodules for any (sub)module that has an umbrella header | |
0983392 When suggesting a module import for a #include or #import, suggest the most specific (sub)module based on the actual file we find, rather than always importing the top-level module. This means that #include'ing <Foo/Blah.h> should give us the submodule Foo.Blah. | |
d620a84 Implement modules support for subframeworks (aka embedded frameworks). A submodule can now be labeled as a "framework", and header search will look into the appropriate Headers/PrivateHeaders subdirectories for named headers. | |
8075ce6 When building the main file to parse given a module map, don't skip explicit submodules or umbrella headers from submodules. Instead, build the entire module at once, and let the name-hiding mechanisms hide the contents of explicit submodules at load time. | |
dd023bc Headers: wmmintrin.h only needs xmmintrin.h. - Fixes <rdar://problem/10261246> clang -maes option is not sufficient to include <wmmintrin.h> | |
9f74f4f Minor tweak to prepare for submodules with umbrella headers. No actual functionality change yet. | |
82e11cd Install cpuid.h when building with cmake too. | |
122de3e Suggest typo corrections for implicit function declarations. | |
d64251f Extend warnings for missing '@end'. Fixes PR2709. | |
26b45d8 Switch a cast to a dyn_cast and check the pointer before using. Fixes a crash in the following code: | |
55e983c Fix test for unrelated changes. | |
4e785c9 Stack realignment is a tristate. Add -mno-stackrealign to turn off all stack realignment, even with locals with alignment exceeding the ABI guarantee. | |
68805fe Minor comment update. | |
b92e5d0 Fix an extremely stupid bug causing terrible miscompilations of &= on pseudo-objects. | |
e209e50 Implement inferred submodules support, which (when requested) implicitly generates submodules corresponding to the headers that fall within a module. | |
19efa3e Make sure we perform lvalue-to-rvalue conversions for enum initializers. PR11484. | |
ec23678 objc: put out more coherent warning when method definition attributes don't match its declaration. // rdar://10529259. | |
e9d11db Add -mstack-alignment=X and fix -mstackrealign handling now that the backend options are gone. | |
02f8396 More refactoring of objc rewriter. | |
1e12368 Parse inferred submodules in module maps, track their contents in Module, and (de-)serialize this information. Semantics of inferred submodules to follow. | |
bd7d828 Make EmitAggregateCopy take an alignment argument. Make EmitFinalDestCopy pass in the correct alignment when known. | |
da5f2d2 [libclang] When indexing a field in a C++ class, return an entity of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503. | |
02f34c5 [analyzer] Rely on LLVM Dominators in Clang dominator computation. | |
eca4e6e [analyzer] Mark ConstraintManager::canReasonAbout as protected. | |
084842d [analyzer] Simplify the condition. | |
4473755 [analyzer] Simplify the expected-warning statement. | |
e14ca9f Add a warning for implicit conversion from function literals (and static methods) to bool. E.g. | |
0dd7a25 Make isWeakDecl available as a method on ValueDecl. | |
dd8079c More objc rewriter refactoring. | |
bea728b [analyzer] Add a missing taint tester warning. | |
5344baa [analyzer] Unify SymbolVal and SymExprVal under a single SymbolVal class. | |
76462f0 [analyzer] Remove all uses of ConstraintManager::canResonAbout() from ExprEngine. | |
3cdf584 [analyzer] First step toward removing ConstraintManager::canReasonAbout() from the ExprEngine. | |
1a00eef [analyzer] Minor improvements on RangeConstraint pretty-printing. | |
f62ceec [analyzer] Change RetainCountChecker to use symbol dump method instead of relying on SymbolID. | |
d016785 [analyzer] Add ability to do a simple ProgramState dump() without requiring CFG. | |
a50b7ab [analyzer] Add a debug checker to test for tainted data. | |
5845717 Some early refactoring of objective-c rewriter. | |
8179aa7 [asan] don't require libstdc++ for asan on linux. Mac fix will go separately | |
c9577f3 we got badgered into supporting multi-alternative constraints. | |
209977c Inferred framework modules automatically export anything they import (i.e., 'export *'), to better match the semantics of headers. | |
f4ac17e Fix printing of wildcard exports. | |
0adaa88 Implement support for wildcard exports in modules, allowing a module to re-export anything that it imports. This opt-in feature makes a module behave more like a header, because it can be used to re-export the transitive closure of a (sub)module's dependencies. | |
4bc8738d Actually add a useful bit to the comment pre-FIXME | |
5598868 When writing a module file, keep track of the set of (sub)modules that it imports, establishing dependencies at the (sub)module granularity. This is not a user-visible change (yet). | |
5460ff3 include/clang*/Makefile: Tweak installation to work with CLANG_SRCDIR. | |
42d6d0c Support decltype in nested-name-specifiers. | |
649657e Move block return type inference diagnostic to a common place where Function or array lvalue conversions happens. | |
14795c8 Fix mangling substitutions for address-space-qualified class types. Patch from Dmitri Rubinstein! | |
5e9392b Implement support for the __is_final type trait, to determine whether a class is marked 'final', from Alberto Ganesh Barbati! Fixes PR11462. | |
0586520 If block literal return type is not specified, return type of the block is inferred from return types. All the return statements have to agree about the type. // rdar://10466373 | |
4d604d6 In Microsoft mode, don't perform typo correction in a template member function dependent context because it interferes with the "lookup into dependent bases of class templates" feature. | |
1cdb70b Implement overload resolution for reference-typed parameters supplied with initializer lists. | |
6da2c71 Switch LValue so that it exposes alignment in CharUnits. (No functional change.) | |
8bc2782 [PCH] Make sure that the SourceExpr of a OpaqueValueExpr is always initialized when deserialized, fixing random crashes in libclang. | |
d977e6b [libclang] Fix infinite loop when doing visitation of an OpaqueValueExpr. | |
dcbb2fb [libclang] Allow indexing/get-cursor/etc. for the exception variable in a C++ catch. | |
51f5120 Add a utility to get a RValue for a given LValue for an aggregate; switch a few places over to it. | |
d7722d9 Switch the Alignment argument on AggValueSlot over to CharUnits, per John's review comment. | |
c5e0f9b Module files representing actual modules don't need to know the set of modules they import, since that information isn't actually used. Drop it from the AST file | |
f6137e4 Implement support for precompiled headers, preambles, and serialized "main" files that import modules. When loading any of these kinds of AST files, we make the modules that were imported visible into the translation unit that loaded the PCH file or preamble. | |
f394078 Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon. | |
e664977 Keep track of all of the import declarations that are parsed or implicitly generated in a translation unit. Modules will need this information to identify the actual imports that occurred. | |
93ebfa6 When we treat an #include or #import as a module import, create an implicit ImportDecl in the translation unit to record the presence of the import. | |
15de72c Introduce a module import declaration, so that we properly represent, e.g., | |
687b5df Revert r145697 and dependent patch r145702. It added a dependency from lib/Analysis to lib/Sema which is cyclical. | |
3aaeccc Update for change to LLVM TargetMachine API in r145714. | |
8c366c4 Add missing test header | |
6236a29 Only perform checking of the predefines buffer when loading a precompiled header. Previously, we were trying to gather predefines buffers from all kinds of AST files (which doesn't make sense) and were performing some validation when AST files were loaded as main files. | |
377cc6e Make r145697 actually work. | |
10ce932 Make sure that name lookup in C checks whether a name is hidden. | |
5fdc1b9 Make conversion specifier warning refer to typedef if possible. | |
07165b9 When making a module visible, also make any of its exported modules visible, allowing one to create modules that import (and then re-export) other modules. | |
af13bfc Implement (de-)serialization of the set of exported modules in a module map. | |
a015cab Notify the AST writer (via ASTDeserializationListener) when a (sub)module is read from an AST file. This makes sure that the AST writer knows how to map all modules to their global IDs. | |
1329264 Implement name hiding for macro definitions within modules, such that only the macro definitions from visible (sub)modules will actually be visible. This provides the same behavior for macros that r145640 provided for declarations. | |
bff22ac Fix bitfield handling for record layout with #pragma pack. <rdar://problem/10494810> and PR9560. | |
ff98652 runtime/Linux: Initial support for tying compiler-rt build into Clang build on Linux. - Currently just builds a full library, and only on x86, and only for the target arch. | |
c5f9a01 Add support for AVX registers to clang inline asm. Add a small testcase and update the Sema testcase with a register that we won't hit for a while I hope. | |
93bfd79 Clean up some oddly gratuitous vertical whitespace. | |
867a379 Rename function. | |
90db260 Implementing parsing and resolution of module export declarations within module maps, which will (eventually) be used to re-export a module from another module. There are still some pieces missing, however. | |
320fa4b Fix test regression introduced by r145656. When seeing a string literal that isn't accepted by 'asm', skip to the enclosing ')'. | |
7f42228 Diagnose use of wide string literal in 'asm' instead of crashing. Fixes <rdar://problem/10465079>. | |
4bb6686 Fix wrong-code bug when a const automatic variable of struct type has both a mutable member and a constant initializer. We'd previously promoted such variables to global constants, resulting in nasal demons if the mutable member was modified. | |
b876993 [asan] update docs to allow, but discourage, -O0 | |
ee1ad99 When we're passing a vector with an illegal type through memory on x86-64, use byval so we're sure the backend does the right thing. Fixes va_arg with illegal vectors and an obscure ABI mismatch with __m64 vectors. | |
94b54ea Driver/Darwin: Add ASAN runtime library link support. | |
ecc2c09 Implement name hiding for declarations deserialized from a non-visible module. When that module becomes visible, so do those declarations. | |
403bc3f Fix -forwardingTargetForSelector: (GNUstep runtime) which was broken for the old dispatch mechanism when I introduced the new one. | |
61ea4fe Add support for AMD's bulldozer. | |
5e35693 Introduce the notion of name visibility into modules. For a given (sub)module, all of the names may be hidden, just the macro names may be exposed (for example, after the preprocessor has seen the import of the module but the parser has not), or all of the names may be exposed. Importing a module makes its names, and the names in any of its non-explicit submodules, visible to name lookup (transitively). | |
ee5a21f [analyzer] Make KeychainAPI checker less aggressive. radar://10508828 | |
a38c473 When typo-correction an Objective-C superclass name, don't typo-correct to ourselves. | |
50118da Add Microsoft mangling of constructors and destructors. Patch by Dmitry! | |
2aba711 Change the Microsoft __interface keyword to be an alias for struct (not class) since members are public by default. | |
60a4481 Fix typo. | |
b805c8f [analyzer] Refactor checkers to use helper function for getting callee Decl and name. | |
a078ecf When analyzing a C++ method (without a specific caller), assume 'this' is non-null. Fixes <rdar://problem/10508787>. | |
3ed7903 Don't use a varargs convention for calls unprototyped functions where one of the arguments is an AVX vector. | |
996e6e5 [libclang] Create a diagnostic set to pass at the end of indexing. | |
185dbd7 Infer the submodule ID for a given declaration based on the location of that declaration, and encode the submodule ID in each declaration stored in an AST file. | |
f1d1ca5 When sending a message to a receiver that has "unknown any" type, force the unknown any type to "id" so that the message send can be completed without requiring a case. Fixes <rdar://problem/10506646>. | |
f8d34ed ParmVarDecls have no linkage. Previously we would report that parameters in type signatures have external linkage. | |
26ced12 Switch the ID numbers used for submodule IDs in the AST reader over to a standard global/local scheme, so that submodule definitions will eventually be able to refer to submodules in other top-level modules. We'll need this functionality soonish. | |
968a0ee Specially whitelist the selector 'addOperationWithBlock:' for the retain-cycle checking in -Warc-retain-cycles. This commonly is hit by users using NSOperationQueue. Fixes <rdar://problem/10465721>. | |
75df4ee Further tweak -Wurneachable-code and templates by allowing the warning to run on explicit template specializations (which represent actual functions somebody wrote). | |
901dd66 Fix MSVC class layout for empty classes. Patch by Dmitry Sokolov. | |
8374eda Another GCC fix | |
58196dc Revert most of r145372 for now. Lookahead beyond the ';' in a function declaration tickles a bug in the way we handle visibility pragmas. | |
863eb53 Unbreak build with GCC. Clang is too lame to diagnose this particular ill-formedness | |
1a4761e Promote ModuleMap::Module to a namespace-scope class in the Basic library, since modules cut across all of the libraries. Rename serialization::Module to serialization::ModuleFile to side-step the annoying naming conflict. Prune a bunch of ModuleMap.h includes that are no longer needed (most files only needed the Module type). | |
8d39c3d [PCH] In ASTReader::FinishedDeserializing, after we do PassInterestingDeclsToConsumer we may end up having added more pending stuff to do, so go in a loop until everything is cleared out. | |
436bd50 Test case for fix committed in r145441. | |
e5dd2ea make asan work at -O0, clang part. Patch by glider@google.com | |
381c066 Per an offline conversation with John McCall, have StmtPrinter actually print out the source expression for OpaqueValueExpr. | |
5dfee06 Don't run -Wunreachable-code on template instantiations. Different instantiations may produce different unreachable code results, and it is very difficult for us to prove that ALL instantiations of a template have specific unreachable code. If we come up with a better solution, then we can revisit this, but this approach will at least greatly reduce the noise of this warning for code that makes use of templates. | |
e25633f Don't collide loop variable names (to appease GCC) | |
4b7cac5 Note that we'll need to handle __include_macros specially in the module loader | |
c85900f Get the -march argument based on the target MIPS architecture or cpu and pass it to GNU assembler. In addition, change function getMipsArchFromCPU() so that it can be reused in ConstructJob(). | |
90735f7 Update CMake build. | |
8cfbe6a Move the module auto-import logic after the logic that allows a callback client to suggest an alternative search path and after we complain when the included file can't be found. The former can't be tested in isolation, the latter doesn't actually matter (because we won't make a module suggestion if no header is available). However, the flow is better this way. | |
edee969 Trivial indentation fix for the code I just committed | |
e3a8256 Introduce an opt-in warning indicating when the compiler is treating an #include/#import as a module import. | |
392ed2b Implement (de-)serialization of the description of a module and its submodules. This information will eventually be used for name hiding when dealing with submodules. For now, we only use it to ensure that the module "key" returned when loading a module will always be a module (rather than occasionally being a FileEntry). | |
d699ade [analyzer] Add checker callback documentation. | |
c55edcf Use raw_ostream::indent. | |
7f5fd8e Switch the module map printer over to raw_ostream::write_escaped. Thanks, Benjamin! | |
6eb47da Add preprocessor-only test for submodule imports | |
01e19be Fix the instantiation of pseudo-object expressions. This is a really bad way to go about this, but I'm not sure there's a better choice without substantial changes to TreeTransform --- most notably, preserving implicit semantic nodes instead of discarding and rebuilding them. | |
a8cc6ce When writing a module file, pass the module through to the AST writer. No functionality change. | |
b514c79 Teach the preprocessor how to handle module import declarations that involve submodules (e.g., importing std.vector), rather than always importing the top-level module. | |
49009ec When loading a module that involves submodules (e.g., std.vector), check whether the named submodules themselves are actually valid, and drill down to the named submodule (although we don't do anything with it yet). Perform typo correction on the submodule names when possible. | |
dc8dab6 Add bigger method type encodings to protocol objects. <rdar://problem/10492418> | |
dff466c when -faddress-sanitizer is present, add required flags to the linker command (linux-only) | |
3d3589d Switch the module-loading interfaces and parser from a simple top-level module name to a module path (e.g., std.vector). We're still missing a number of pieces for this actually to do something. | |
d5a3b78 Make sure that forward declarations are marked as such in the debug info for the structure type. | |
5c2a1f7 [libclang] Do the ConcurrencyCheck at the beginning of clang_findReferencesInFile. | |
592d26e Change processor names. Patch by Simon Atanasyan. | |
c8d7f58 Revert r145244. It causes us to create broken ASTs with missing type information for some cast expressions. | |
381711c Suppress -Warray-bounds for classes (not just structs) where the last field is a 1-length character array. | |
6649014 Eliminate the -emit-module option, which emitted a module by parsing a source file (e.g., a header). Immediately steal this useful option name for building modules from a module map file. | |
36ef702 Test isa<FunctionDecl> to exclude objective-C methods. This ensures the following cast will never fail. | |
213d1be Escape strings when printing module maps, for silly operating systems that use \ as a separator. | |
18ee547 Switch on-demand module building over to use module maps, always. When we infer the module map, we'll just print the module map to a temporary file and generate the module using that. | |
214323b Relax RegionStore to allow loads from CodeTextRegions. Apparently you can actually write code that does this. This seems worthy of a checker, but the StoreManager should handle the memory abstraction without crashing. Fixes PR 11450. | |
cfbc5b5 Merge branch 'yo-dawg-i-herd-u-like-arrays' | |
2cbe84d Place "use @dynamic or provide a method implementation" warnings under a -W flag. | |
f9e357d Teach the module import mechanism how to rebuild modules expressed via module map, rather than assuming that there is an umbrella header. This allows us to automatically build umbrella-less modules. | |
933e7a6 Start refactoring to use module maps when rebuilding a module on-the-fly. No functionality change. | |
9870401 Initialize NumWarningsInPreamble in ASTUnit's constructor, for safety. | |
804c3bf Expose the printing of module maps as part of the ModuleMap::Module interface. No functionality change. | |
7a71524 The cheap version of getName() is sufficient here. | |
3267e11 Preserve constness. | |
85224ae Silence GCC warnings, RefCountedBase is meant to be default-initialized here. | |
6e1fd33 Add fix-it to remove 'typedef' from function template definitions. Such a token was probably meant to be 'typename', which we will have already suggested if it is appropriate. | |
2fea224 Fix leaking of LexedMethod objects created for caching objc method definitions tokens for late parsing. | |
7383550 [libclang] Fix leak in clang_indexSourceFile_Impl | |
573ea96 [Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver. | |
b8cb21c [libclang] Make the test portable. | |
874d253 PR10101: Recover better from a common copy-paste error: if a function declaration at namespace scope is followed by a semicolon and an open-brace (or in C++, a 'try', ':' or '='), then the error is probably a function definition with a spurious ';', rather than a mysterious '{'. | |
b49e728 [libclang] Make clang_findReferencesInFile also work on macros (find all expansions/definition of a macro in a file). | |
375f7c4 Add Clang release notes for OpenCL C support. | |
5cc989e Fix URL typo. | |
9b2eb7b objc: warn if NSObject attribute appears other than in a typedef. // rdar://10453342 | |
952538d Fix serialized diagnostics to handle FixIts that only remove text. Fixes <rdar://problem/10473903>. | |
ee77d3d Fix a spelling error pointed out by Sebastien, and tidy up the formatting here a bit... mostly to my preferred bikeshed-blue. | |
f9e2e18 Remove the last of my notes. I don't think these really need to be in the release notes despite their awesomeness. If we had a thorough discussion of the performance of Clang in 2.9 vs. 3.0, the first would be more relevant, but we don't. The serialization stuff hopefully isn't terribly visible to end users. | |
45901b3 Last major chunk of features. This covers a couple of language extensions and one infrastructure feature addition that has a direct impact on other projects which use Clang. | |
52e375e And sink the GNU runtime bit into this section as a stub. | |
4d58212 Flesh out the Objective-C section a bit. This may well need some love from the Objective-C experts, but the basic stuff is there now. | |
a9e269e The _setjmp builtin library function should have the "returns twice" attribute. This prevents the stack slot allocator from coming along and using a stack which it thinks is available but isn't. <rdar://problem/10492556> | |
a74ec5c Add a couple more GCC versions to C++ search paths for MinGW. Patch by Ruben Van Boxem. | |
a5c502c CFI is mentioned on the LLVM releases as the clang bits are relatively small. | |
7972c88 A couple driver fixes for PPC Linux. Patches by Michael Kostylev. PR11444/PR11445. | |
0c2198a Update release notes with 2 features now supported in -fms-extensions mode. I think that's enough for my release notes. | |
4793138 Release notes: add link to ISO C++ 2011 standard from the C++11 section. | |
551988f Update release notes with information on MSVC mode. | |
ce27567 Correct the code generation for function arguments of vec3 types on x86_64 when they are greater than 128 bits. This was incorrectly coercing things like long3 into a double2. Add test case. | |
ad5459a Release notes: fix up formatting of diagnostic example. | |
a4d36a6 When attempting to load a module that is not in the module cache, return the module itself (in the module map) rather than returning the umbrella header used to build the module. While doing this, make sure that we're inferring modules for frameworks to build that module. | |
185e930 Extract a Windows section in the release notes. Hopefully this is more accurate than my original notes were based on IRC conversations. Windows folks, please edit as needed to make this closer to the truth if I've still got it wrong. | |
9c35304 Create a stub for Nick to hack on, nuking another of my rough notes. | |
2f37685 Pull the uninitialized values rewrite into the diagnostics section, and add a bit to that section about the many bug-finding warnings that Clang has grown since 2.9 as this is one of the more visible new additions. | |
3030b74 Remove some features that don't really seem major enough or widely used enough to merit space in the release notes. | |
62d730f Add a release notes section for C1X language features supported by clang 3.0. | |
9a16712 Pull out the libclang section and try to clean it up some. This one feels a bit spartan currently. | |
ed8bef4 [libclang] Protect against the declaration's SourceRange being invalid before passing to RangeCompare. | |
21480b7 We now have text (or comment stubs for others) for these... | |
58f2cbc Expand and clean up the diagnostics section. | |
7a31d7b fix html markup | |
f3dee20 Fix some possible gcc-4.2 may be used uninitialized warnings. | |
a0df07d Create a more organized (but still commented out as not very useful) stub for OpenCL work. I can't really dig enough out of the commit log messages other than to tell that a lot of work went into this in the 2.9 -> 3.0 timeframe. I'll let the folks touching it decide if it merits a spot in the release notes and provide the appropriate details if so. | |
4e96944 Add missing equals. | |
59abf06 Create a 3.1 notes section in a comment so that the next batch are a bit easier. Move the CUDA bits and the C1X/C++11 atomics stuff there. We haven't exposed a __has_feature for the atomic builtins, so none of this is available yet... | |
bfa5525 Peter says this shouldn't make it to the relnotes, it's too immature at this stage. | |
b882a1d Flesh out and pretty-up the driver section. This could probably use some more love w.r.t. platforms other than Linux? | |
bc02a04 Add a brief mention of the warning flag name updates associated with the C++11 standard. | |
f16d725 Tidy up, wrap lines, and use <code> tags more consistently. | |
a5a6d1d Cleanup the Release Notes for the static analyzer: | |
ce98c9b First version of AddressSanitizer docs; documentation for __has_feature(address_sanitizer) | |
3881c69 [analyzer] Add more simple taint tests. | |
426a16d [analyzer] Minor cleanup of SValBuilder: Comments + code reuse. | |
6d387ae Fix comment. | |
f485388 When synthesizing an implicitly-defined copy or move constructor, or when computing the exception specification of a copy or move constructor, ignore non-static data member initializers. Fixes PR11418 / <rdar://problem/10478642>. | |
855746b Add a release notes section on new C++11 language features, and flesh it out. | |
70f30c5 Remove code made redundant by my previous patch. | |
39b4fc8 pinpoint name/location of deprecated/unavailable enumerator whose enum has been made deprecated/unavailable in the warning. // rdar://10201690 | |
c6f2af3 Add a proper blurb for the PPCallbacks features. | |
a621065 This doesn't really seem worthy of a relnote... Shout if you disagree! | |
7d727b7 Fill in a section for the instantiation -> expansion rename. Not great, but better. | |
c4dbffa Add proper text for the Diagnostic API changes. | |
d3c147f objc: turn warning for property type mismatch in primary and its continuation class into error. // rdar://10142679 | |
a1e3e8c Add a release note for Objective-C related result types | |
7c304c4 Note that code completion now works better for in-class member functions | |
a976641 When checking a call to a builtin atomic operation, be sure to consider the _<width> variants as well, which we'll see if we're performing the type checking in a template instantiation where the call expression itself was originally not type-dependent. Fixes PR11411. | |
7a1f148 And that completes my sweep through commits for things that might be worth noting in the release notes. These remain raw notes. I'll be re-writing them into nice prose first thing tomorrow, with help from others. A couple of notes for any reading the commits: | |
7717ce4 Finished with August's commits, and actually added a clearly missing section on libclang. | |
5d46a50 July's notes.. | |
56f5d36 Removed useless ImplicitCast nodes in explicit cstyle and static casts | |
b6a1d9d July was a bit quiet to... except for ARC. ;] | |
bba72a8 June was a quiet month... I can't imagine why... ;] | |
1af4022 Notes through another month... a *really* busy month, but mostly bug fixing. | |
a3950cc Add the first month's commit notes. | |
3e627ae Install c-index-test and clang-c/Index.h as internal files. rdar://10217046 | |
c00c0c3 Begin sketching out the Clang release notes. The plan is to link to these more detailed notes from the primary LLVM release notes for Clang. This gives us a nice place to flesh out in plenty of detail the major changes that have happened in Clang land since 2.9. | |
6079676 test/lit.cfg: Enhance getRegisteredTargets() to retrieve +Asserts. | |
6f3ce97 [libclang] Indexing API: If the client requested to get a CXTranslationUnit after indexing, honor all the TU options. | |
991bf49 [libclang] Indexing API: Capture diagnostics during indexing. | |
5c00fc3 Another silly workaround for MSVC. | |
6da4274 [arcmt] Integrate GC __weak into property attributes even when we don't have the implementation. | |
567f02f Sigh, another workaround for MSVC. | |
6d7d16d [arcmt] Don't add __weak if there is already a GC __weak and make sure to clear __weak from a readonly property. | |
3fb91f6 Work around a gcc4.2 bug. | |
bceb755 In Sema::MaybeBindToTemporary, create a CXXBindTemporaryExpr for an array of objects with non-trivial destructors. PR11365. | |
8681160 When destroying temporaries, instead of a custom cleanup use the generic pushDestroy function. | |
53ac3d8 Make our handling of MMX x SSE closer to what gcc does: | |
2871020 Add inreg attributes to reference arguments. | |
13dc8f9 Reference initialization with initializer lists. | |
1376ba9 Error on non x86 architectures. | |
7f16d70 Fix file name in comments. | |
19b6e7b Bookkeeping wrt downstreaming changes to fix miscompiles. | |
a10678d Use libcxx makefile's do-installhdrs target. <rdar://problem/10397739> | |
b816276 Add the minimum implementation of cpuid.h. This works on "modern" intel cpus and on clang, which seams to handled "=b" correctly even when ebx is the PIC register. | |
f7a73a0 Test commit | |
50b2af4 Add build rules for MIPS. | |
4c51548 Fixed lexical declaration context when instantiating a friend / out-of-line class template member. | |
4c7ce36 Set __OPTIMIZE_SIZE__ on -Os and -Oz. This matches gcc's behaviour on both OS X and linux. | |
2db4f4e Apply changes to migrate to clang upstream r145117. (Nov 25th 2011) | |
c8ff915 In Microsoft mode, make "Unqualified lookup into dependent bases of class templates" works inside a friend function definition at class scope. | |
0ff6495 Fix typo (becuase->because), PR11427 | |
a5aa96d Wordsmith the -Warray-bounds diagnostic text a bit | |
6efd4c5 Add feature to diagnostics that will provide more information on function pointer mismatch. Cases covered are: initialization, assignment, and function arguments. Additional text will give the extra information about the nature of the mismatch: different classes for member functions, wrong number of parameters, different parameter type, different return type, and function qualifier mismatch. | |
bcf8df8 [PCH] Check for isTopLevelDeclInObjCContainer when picking abbreviations. | |
c14a03d [libclang] Fix operations (token annotation, getting cursor, etc.) with a file region inside an objc container that "contains" other file-level declarations. | |
e93433d Remove an assertion that is not valid if we cancel parsing. | |
37f4057 [libclang] Indexing API: Fix issues, mostly C++ related. | |
a6d81f9 AAPCS compliance - 32-bit wchar_t should be unsigned for both aapcs and aapcs-linux. | |
1a3246a Don't check alignment, it's irrelevant to this test. | |
7401cf5 Use static storage duration for file-scope compound literals, even when they appear in non-constant initializers in C++. | |
6300f5b Remove assert from hot code path and add a clarifying comment. | |
1e85565 Provide better source info for template specializations with non-type arguments. | |
3f6f4e6 Lexer: Don't throw away the hard work SSE did to find a slash. | |
2957e6f [libclang] Indexing API: Support C++ symbols. | |
b619688 implement __has_feature(address_sanitizer); also use LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer | |
3fa45bb Un-XFAIL this test on Darwin, it reportedly passes now. | |
bdb1018 Add stub section to the user manual for C++ language features, and document -ftemplate-depth= and -fconstexpr-depth= in it. | |
c18c423 Add driver arguments -ftemplate-depth=N and -fconstexpr-depth=N, with the same semantics and defaults as the corresponding g++ arguments. The historical g++ argument -ftemplate-depth-N is kept for compatibility, but modern g++ versions no longer document that option. | |
1052c1d Change the linker emulation name for FreeBSD/PPC32. | |
c3c8f22 CodeGen: Simplify code. | |
1b91ab4 Delete the depfile if we could not open a header file. We cannot generate any reasonable depfile if a header is missing. | |
5d4d980 Teach the driver about failure result files, which are compilation output files that are valid regardless of whether the compilation succeeded or failed (but not if we crash). Add depfiles to the failure result file list. | |
82c3460 Create the clang++ symlink as a POST_BUILD custom command on clang. | |
5c247db CodeGen: allow __asm renaming on static local variables. | |
1c2e933 Allow preprocessor callbacks to recover from a "file not found" error, from Jason Haslam! | |
1bea880 Add support for pretty-printing attributes, from Richard Membarth! | |
1a02680 Update signature of HandleTopLevelDecl. | |
8b06d6b Tweak the guidelines for when one should send patches to cfe-commits vs. cfe-dev | |
22c107b Fixed HadMultipleCandidates loading. | |
ecff7c8 Driver: Remove the signal number from the "command failed" diagnostic. | |
459001f Initialize ImplicitConversionSequence::ListInitializationSequence. Fixes PR11394 | |
7955a25 Add missing initialization in the ContentCache. Seriously, when do constructors go below public member functions? | |
9d38dbc Enable delayed template parsing for friend functions declared at template class scope. | |
e994624 Fixed implicit instantiations source range. | |
8a0c5c2 Refine placement of LangOptions object in CompilerInvocation by adding a new baseclass CompilerInvocationBase with a custom copy constructor. This ensures that whenever the CompilerInvocation object's copy constructor is used we always clone the LangOptions object. | |
5a1ac89 Finish r144971, which was an incomplete commit. | |
7e7ad3f Fix the meaning of an "empty" record for the case of a zero-length array. Use isEmptyRecord for arguments on x86-32; there are structs of size 0 which don't count as empty. | |
8d2fe42 Make va_arg on x86-64 compute alignment the same way as argument passing. | |
8f4caf5 [analyzer] Warn when non pointer arguments are passed to scanf (only when running taint checker). | |
7b1fb81 A bunch of fixes to argument passing and va_arg on Darwin x86-32 for structures containing an SSE vector. | |
506d4e3 Don't try to expand struct arguments containing holes on x86-32. From gcc struct layout tests. | |
bd4d3bc Simplify code for returning a struct for Darwin x86-32 ABI. Use a better type for a function returning a struct containing only a pointer. Handle the edge case of a struct containing only a float or double plus some dead padding instead of asserting. | |
87adb0b c-index-test.c: Fix syntax according to C. | |
01f2a1e [analyzer] The compiler warning was disabling the analyzer in this test. | |
5a4d352 Ignore empty unions in argument lowering on x86-32. From gcc struct layout tests. | |
88c2596 Change ASTConsumer::HandleTopLevelDecl to return true for the parser to continue parsing or false to abort parsing. | |
b395c63 [libclang] Indexing API: | |
144b6c0 [libclang] Indexing API: make sure we don't pass declarations/references without USR or location. | |
deae6a8 Use the canonical decl to index so that we can really find it later. | |
f1b6946 Added a clause to the ASTImporter allowing it to import TranslationUnitDecls. | |
0d339d0 [analyzer] Do not conjure a symbol when we need to propagate taint. | |
d3b74d9 Make 'LangOptions' in CompilerInvocation a heap-allocated, reference counted object. I discovered that llvm::RefCountedBase<T> has a bug where the reference count is copied in the copy constructor, which means that there were cases when the CompilerInvocation objects created by ASTUnit were actually leaked. When I fixed that bug locally, it showed that a whole bunch of code assumed that the LangOptions object that was part of CompilerInvocation was still alive. By making it heap-allocated and reference counted, we can keep it around after the CompilerInvocation object goes away. | |
d04a982 Simplify crash cleanup logic in ASTUnit::LoadFromCommandLine() by zeroing out two IntrusiveRefCnt pointers after we have assigned their respective values into fields of ASTUnit. | |
ee081c4 [analyzer] Minor tweaks to the ProgramState::isTainted(). | |
64595fa [analyzer] Add a helper method. Naming could be improved.. But we should first rename the classes in the SVal hierarchy. | |
e24f5fc Constant expression evaluation: add support for evaluation of member pointers and base-to-derived casts, and add proper handling of temporaries. | |
c69c42e When making a suggestion regarding which module to load rather than preprocess/parse a header, report back with an actual module (which may be a submodule) rather than just the name of the module. | |
a865405 Add the notion of "framework" modules to module maps. Framework modules (obviously) describe frameworks, and understand the header layout of frameworks. | |
a4581a1 If we're dealing with an overridden buffer in the AST reader, load the file as a virtual file with the stored modification time and size. | |
3b91757 Update README for android. | |
0e53df6 docs/UsersManual.html: Remove obsolete mingw issue. | |
117bc17 test/Frontend/dependency-gen.c: Relax expressions for Win32 host (mingw msys). | |
678a3ea Revert r132539 for now, "My testing shows that function stat has no problem with trailing separators. (tested on Windows and Darwin)." | |
6fe2965 Include named unions in union member init checking | |
e6226ae In Microsoft mode, make "Unqualified lookup into dependent bases of class templates" works inside default argument instantiation. | |
09fe1bb Actually free memory for the module maps | |
35f9ae6 Try to appease the failing buildbot where I can't reproduce the problem | |
2821c7f When we're loading a framework header, first try to turn the framework into a module. This module can either be loaded from a module map in the framework directory (which isn't quite working yet) or inferred from an umbrella header (which does work, and replaces the existing hack). | |
eeea7c4 [analysis] Constify CheckerContext. | |
8687397 [analyzer] Put CheckerConext::getCalleeName out of line. | |
f471487 clang/Darwin: Use the compiler-rt provided profile library. | |
643ffaa tests/Driver/darwin-ld.c: Get rid of the "splatter" test case. We have enough other coverage that actually properly checks features such that this test is not really adding value anymore. | |
24d1c96 Add missing header for modules test. | |
e33218a build/make/compiler-rt: Don't attempt to build compiler-rt runtime libraries when cross compiling under the current organization. - See verbose comment for explanation, justification, and how to fix. | |
adb9799 A module with an umbrella header assumes that all of the headers in the umbrella header's directory and its subdirectories are part of the module (that's why it's an umbrella). Make sure that these headers are considered to be part of the module for lookup purposes. | |
960809e Added missing ImplicitCastExpr around conversion operator call. | |
4648255 Fix Neon builtin pointer argument checking for "sret" builtins. | |
e42a0ab Fixed crash with initializer lists and unnamed bitfields in the RegionStore Manager. Added test to ensure proper binding of initialized values. This patch fixes PR11249. | |
a081da5 Implement (de-)serialization of the buffer contents for an overridden file in the source manager. This allows us to properly create and use modules described by module map files without umbrella headers (or with incompletely umbrella headers). More generally, we can actually build a PCH file that makes use of file -> buffer remappings, which could be useful in libclang in the future. | |
3d5f24a Update CMake build. | |
9b0970f [analyzer] Catch the first taint propagation implied buffer overflow. | |
df18c5a [analyzer] Adding generic taint checker. | |
ceac1d6 [analyzer] Adding basic building blocks for taint propagation. TaintTag.h will contain definitions of different taint kinds and their properties. TaintManager will be responsible for implementing taint specific operations, storing taint. ProgramState will provide API to add/remove taint. | |
57e156a [analyzer] Cleanup: Null->0, comments. | |
fc06f98 [analyzer] Cleanup (NULL -> 0, no doxygen in cpp). | |
c24b4f6 [analyzer] Assert if we ever get an over constrained state. | |
0e12ebf [analyzer] Factor getCalleeName to the checker context. many checkers are trying to get a name of the callee when visiting a CallExpr, so provide a convenience API. | |
245a538 Stop claiming that Visual Studio 2005 is a viable basis for building Clang. It isn't any more, and we're not going to twist the code around to make it work. | |
1b4eca6 Add -f[no-]address-sanitizer flag | |
2ad226b PR11391: Don't try to evaluate the LHS of a _Complex assignment as an rvalue. | |
261e75b When building a module from a module map that isn't simply an umbrella header, create our own in-memory buffer to parse all of the appropriate headers, and use that to build the module. This isn't end-to-end testable yet; that's coming next. | |
30bb420 Fixed missing cast and wrong cast kind in delete expression. | |
f8b42d1 Switch the remaining modules tests over to -emit-module-from-map. | |
c88e58c [libclang] Add a comment in lazyCreateDiags to explain why the check and reset of diagnostic set is necessary. | |
03ee2dd [libclang] Make clang_annotateTokens use "file-targeted" deserialization and avoid unnecessary deserializations. | |
e2079cf [libclang] Make clang_findReferencesInFile use "file-targeted" deserialization and avoid unnecessary deserializations. | |
9254bf7 Match LLVM API change. | |
b755a9d Fix PR11385: A pointer constant expression which has been cast via an integer is not safely derived. Don't allow lvalue-to-rvalue conversions on the result of dereferencing such a pointer. | |
4258332 Migrate a few more modules tests over to -emit-module-from-map. | |
de19bb1 Teach ccc-analyzer about -fobjc-arc. | |
35593a9 [libclang] Fix crash on invalid code. Fixes rdar://10451854 | |
3e340a6 [libclang] Indexing API: fill the objc category info for a category implementation and do not crash if no client container is registered for a declaration context. | |
d6c8209 [libclang] Indexing API: make sure we do not try to index local declarations. | |
c6b4a50 [libclang] Indexing API: if the CXIndexOpt_OneRefPerFile option is set, only report one reference per file. | |
220b45c [libclang] In lazyCreateDiags, recreate the diagnostic set if the number of diagnostics in the ASTUnit changed. | |
3238059 Fix test on Release builds. | |
2f77b3d Fix a bunch of really nasty bugs in how we compute alignment for reference lvalues. PR11376. | |
1432569 Switch some more of the modules tests over to "-emit-module-from-map", and remove stray fprintf. | |
db1cde7 Add support for building a module from a module map to the -cc1 interface. This is currently limited to modules with umbrella headers. | |
e614d6c In Microsoft mode, make "Unqualified lookup into dependent bases of class templates" works inside static functions. | |
d2536a6 Revert r144703. It was a dumb idea anyway; will add the new bits more incrementally with a new frontend action. | |
3bc4515 Compute whether a class is trivial correctly for template classes with an explicitly deleted or defaulted special member. PR11387. | |
b8691df Split GenerateModuleAction into its own action, which will start differing from GeneratePCHAction fairly soon. | |
9c0e1ec Fixed plausible overloads location. | |
b86b8dc Add a -cc1-level option -fmodule-name=<name>, which will be used when building modules. | |
0b69d13 Remove one group'ed warning. | |
bf2e680 Add -Wmismatched-method-attributes flag for when attributes in method definition and their decl. do not match. // rdar://10448471 | |
99643d9 Typo. | |
496cc8e Fix a regression from 143657. The second pass of the warning options should only be emitting warnings/errors for unknown warning options. getDiagnosticsInGroup returns false if the diagnostics is found and true otherwise. Thus, if we're reporting and we have a valid diagnostic, we were actually setting the flag and causing mayhem. rdar://10444207 | |
2d9eb21 Teach the CFG builder how to properly destroy temporaries who lifetimes have been extended via reference binding. The type of the reference and the type of the temporary are not necessarily the same, which could cause a crash. Fixes <rdar://problem/10398199>. | |
037ad1b Validate DiagGroup names in TableGen, they're used as command line arguments so we don't want shell meta chars in there. | |
dce6327 Warning option typo correction: When two options have the same edit_distance don't display either. | |
f7ce194 Fixed a cut&paste error introduced in r141336. | |
d6341f4 Apply changes to migrate to clang upstream r144605. | |
64482c6 [PCH] When serializing an PseudoObjectExpr or AtomicExpr, the serialization code must be set otherwise it will crash with asserts on or it will be written as null pointer. | |
e7bbab9 [libclang] Indexing API: Pass an implicit ObjCInterfaceDecl (@implementation without @interface) in a separate indexing callback than its implementation. | |
40f57ee Use Decl's isImplicit field to indicate whether an ObjCInterfaceDecl is 'ImplicitInterfaceDecl', no need to store it in another field. | |
21ee570 [libclang] Introduce a new function to apply the indexing callbacks on an existing CXTranslationUnit, mainly to be used for indexing a PCH. | |
ca3d3fc Fix crash in calling convention code expanding an struct with a complex member. | |
32509f1 Resolve placeholder expressions before trying to deduce 'auto'. Introduce a convenience method to make this a bit easier, and use it elsewhere. | |
02ae32a Remove extra ';'. | |
155fa39 The optimizers figured out how to make this store 6. | |
2407712 Fix potential memory leak for clients of clang_getOverriddenCursors(). If the number of overriden cursors is 0, do not allocate an array of CXCursors. This fixes a memory leak in c-index-test, and clients who use this API in a similar way. | |
639d5b8 A space in a diagnostic group is a bead idea. | |
a70cb9d Print a typo correction hint for unknown warning flags. | |
e1ba5be Don't track depfiles as result files which need to be cleaned up on failure. | |
7432b90 When we're checking access in a dependent context, don't try to look at the bases of an undefined class. Fixes <rdar://problem/10438657>. | |
c71d554 [libclang] Slight changes to the indexing API and bigger internal changes for it. | |
b302996 Use Sema::RequireCompleteType to check for the completeness of Objective-C classes. This has two purposes: to consistently provide "forward declaration here" notes when we hit an incomplete type, and to give LLDB a chance to complete the type. | |
2bbcd5c ARC: make assignment to 'self' within class methods illegal. Fixes <rdar://problem/10416568>. | |
4c42bb7 [static analyzer] Tweak RetainCountChecker's diagnostics to correctly indicate if a message was due to a property access. This can potentially be refactored for other clients, and this is a regression from the refactoring of property acceses. | |
729aa06 [analyzer;Regionstore] handle loads from StringLiteral elements for StringLiterals representing wide strings. Fixes PR 11294. | |
567c586 In ARC, don't reclaim objects of Class type. | |
ecb912e Change the checks in the type aka printing. A confusing case where the string of the first type is the same as the aka string of the second type, but both types are different. Update the logic to print an aka for the first type to show that they are different. | |
ccf1bfd [analyzer] teach AnalysisDeclContext::getSelfDecl() about blocks that capture the 'self' variable of the enclosing ObjC method decl. Fixes <rdar://problem/10380300>. | |
bf97947 Fixup comment. | |
f49c686 Refresh cl numbers in README.android. | |
5a17499 [PCH] Load the chained objc categories only after recursive loading is finished otherwise we may crash. | |
9b483df Fix a regression in wide character codegen. See PR11369. | |
c80553e [PCH] Do not crash if a class extension in a chained PCH introduces/redeclares a property. | |
67bc4ba [PCH] In ASTWriter::WriteChainedObjCCategories use getDeclID since the decls should have been already emitted. | |
16ac8be [libclang] Move the check for errors in c-index-test before the TU gets disposed. | |
590ad93 [PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos from the primary PCH is deserialized, otherwise we lose info that headers were already #imported/#included. | |
bda536d [libclang] for c-index-test, check for CINDEXTEST_FAILONERROR when doing -test-load-source-reparse | |
4fc04da Don't crash when a duplicate interface/protocol is inside an extern "C" context. | |
e2d4f4e Fix the signature of the getcontext builtin. Patch by Dimitry Andric. | |
c96c721 Silence unused variable warning. | |
65bfd68 When reference binding array rvalues, such as those created by compound literals of array type, materialise a temporary. | |
1bf9a9e Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to static member functions and static data members are now emitted as constant expressions. | |
8213eca [PCH] Fix the test. | |
1a43415 Add a method in ASTMutationListener for the last use of Decl's [is/set]ChangedSinceDeserialization and remove them. | |
ad834d5 [PCH] When completing an objc forward reference, do not serialize the chain of its categories because it is going to be rewritten (and the chain will be serialized again), otherwise we may form a cycle in its categories list when deserializing. | |
5bbe816 Remove unnecessary 'else's after 'return's. | |
ddadaa4 Add missing casts to AST. | |
6ec43ad [libclang] Further simplify the indexing API. | |
23d29c8 Tweak the module map file test slightly, by putting one of the headers into a submodule. Submodules aren't actually supported anywhere else, but we do parse them, so this verifies that we're at least seeing through them properly. | |
2669797 Implement a minor optimization when loading module maps to satisfy a module import: don't re-check for a loaded module unless we've actually loaded a new module map file. Already-loaded module map files aren't interesting. | |
cf70d78 When searching for a module, speculatively load module maps to see if the module is described in one of the module maps in a search path or in a subdirectory off the search path that has the same name as the module we're looking for. | |
194428c Make test compatible with ARM hosts. | |
484535e Teach the search for modules to consider modules described by a module map, so long as they have an umbrella header. This makes it possible to introduce a module map + umbrella header for a given set of headers, to turn it into a module. | |
9793e8f Fix some typos, grammar errors, etc. in cursor kind descriptions | |
65f3b5e Wire up the mapping from header files mentioned in module maps over to the corresponding (top-level) modules. This isn't actually useful yet, because we don't yet have a way to build modules out of module maps. | |
8b6d3de Resolve the header files named in module map "header" and "umbrella" declarations to actual files. | |
48a60c0 Update Clang to svn 144355. | |
ffd278b Make sure that restrict-qualifying an array actually adds a restrict qualifier. PR11354. (operator bool() is evil!) | |
79020e8 [serialized diagnostics]: add test cases for serialized diagnostics, including a test case for no issues, multiple issues, and a single issue. Along the way, tweak c-index-test -read-diagnostics output so it is easier to tell what diagnostics are child diagnostics. | |
77692f0 I predict that HeaderSearch will need the ability to generate diagnostics in the future. Make it so. | |
93fc4d2 [libclang] Simplify the indexing API. | |
1140f79 Add a const version of ObjCClassDecl::getForwardDecl, no functionality change. | |
4be48ad Move "Unqualified lookup into dependent bases of class templates" Microsoft specific behavior from -fms-extensions to -fms-compatibility. | |
48bfe6d [static analyzer] be more specific when running removeDeadBindings. Instead of seeing if the predecessor node was a non-StmtPoint, check if it is specifically a BlockEntrance node. | |
0499f76 Add top-level driver option '--serialize-diagnostics' for serialize compiler diagnostics to a file. | |
ff416d4 Implicit casts from rvalue to lvalue are not meaningful. Don't accidentally add them when performing a const conversion on the implicit object argument for a member operator call on an rvalue. | |
41bb91c [static analyzer]: only call RemoveDeadBindings() when analyzing non-Expr stmts, entering a basic block, or analyzing non-consumed expressions. This sigificantly speeds up analysis time, and reduces analysis time down to 27% less than before we linearized the CFG. | |
790bd91 Add invariant.load metadata to loads from selector references. Allows these loads to later be moved/combined in the optimizer. Fixes <rdar://problem/6027699> | |
f4635fe Add missing dependency for shared library build to CMakeLists. Patch by Johannes Obermayr. | |
33968da Revert r144273. It causes clang self-host build failure. | |
c5ee7de serialized diagnostics: simplify code. | |
9f75ab1 Whenever explicitly activating or deactivating a cleanup, we need to provide a 'dominating IP' which is guaranteed to dominate the (de)activation point but which cannot be avoided along any execution path from the (de)activation point to the push-point of the cleanup. Using the entry block is bad mojo. | |
6581c0b include/clang/AST/APValue.h: Try to fix *900* of cast-qual warnings by g++. | |
987215b c-index-test.c: Fix a comment style. /* It is C source. */ | |
e441a0b Constant expression evaluation: support for constexpr member functions. | |
add5d60 c-index-test.c: Fix syntax. It is C source. | |
4faa0b2 Fix a subtle bug with cleanups: when activating a previously-inactive cleanup, not only do we need a flag variable, but we should also force the cleanup to query the flag variable. However, we only need to do this when we're activating in a context that's conditionally executed; otherwise, we may safely assume that the cleanup is dominated by the activation point. | |
726f39d PR11148: Fix crash-on-invalid if an invalid member declaration is marked as defaulted or deleted. | |
b1c06ee serialized diagnostics: implement full deserialization of clang diagnostics via the libclang API. | |
bf0716b Enter the cleanups for a block outside the enclosing full-expression. Naturally they're inactive before we enter the block literal expression. This restores the intended behavior that blocks belong to their enclosing scope. | |
62d3cba Constant expression evaluation: support for evaluation of structs and unions of literal types, as well as derived-to-base casts for lvalues and derived-to-virtual-base casts. | |
0204854 Removing unused initialization. | |
427492c There's no good reason to track temporaries in ExprWithCleanups, but it is sometimes useful to track blocks. Do so. Also optimize the storage of these expressions. | |
a455709 Temporary fix for a performance problem Eli spotted. The APValue representation is currently too inefficient to allow us to use it for array initializers, but fortunately we usually don't yet need to evaluate such initializers. | |
46f02c2 Reflow lines, remove else-if after returns, rename variable "TydefContext" to "TypedefContext". No functionality change. | |
662e67f Fix some additional x86 intrinsics to use "I" (ICE) markings. Fix *mmintrin.h to take them into account. | |
4f1f667 Fix the signature of __sigsetjmp and sigsetjmp. Patch by Dimitry Andric. | |
a8c0a95 Remove unnecessary include. | |
2134ae3 objc rewriter: use a more specific name for local variable used in fast enumeration rewrite. // rdar://10415026 | |
0a888d4 We don't add ExprWithCleanups to the CFG, and getSVal looks through it, so we should look through it for the live-values analysis as well. | |
b7bcfe8 Define some built-ins macros on mips32 platform, from Simon Atanasyan! | |
d04810a Update test. | |
b17ee5e Try to fix an issue on some hosts where the 'lib' in the builtin include path is actually a multilib. | |
b5adc46 Fixing 80 col violations (& removing any trailing whitespace on files I was touching anyway) | |
0bc8fcb Fix 80 cols violations & remove trailing whitespace. | |
87d99bf Reflow one line I missed in previous cleanup commit. No functionality change. | |
b3a891a Minor cleanup, mostly reindenting. Remove one helper function that just called the other helper functions, since we already differentiated the cases it was testing between. No functionality change. | |
d1b26c1 Fix an issue that Duncan discovered on a specific (no longer current) version of Ubuntu. It has a very broken multiarch configuration, and so we need special logic to handle it correctly. Fixing and testing this uncovered a few other trivial issues with the logic that are fixed as well. | |
607f7ff Emit the copy and dipose helpers for ARC __strong block-typed __block variables using objc_retainBlock and objc_dispose. Previously we were using _Block_object_assign and _Block_object_destroy with BLOCK_BYREF_CALLER, which causes the runtime to completely ignore the retain and release. In most cases this doesn't cause catastrophe because the retain/release are balanced and because the block in the variable was copied upon assignment there. However, the stack copy of the variable will be released when it goes out of scope, which is a problem if that value was released due to an assignment to the heap copy. Similarly, a leak can occur if the variable is assigned after the copy to the heap. | |
1fe0389 Workaround for compilers that don't implement C++ DR45, from Tom Honermann! | |
38949ab Put ext_offsetof_extended_field_designator under the warning flag -Wextended-offsetof, from Jeff Walden! | |
e911eea Don't crash when transforming an ill-formed pseudo-destructor expression. Fixes PR11339. | |
f88d14d Extract the blocks-related ARC tests into their own file. | |
b6a4290 Introduce proper spacing after the Objective-C parameter qualifiers (bycopy, inout, etc.). Fixes <rdar://problem/10402900>. | |
640de18 Constant expression evaluation: support for default arguments. | |
7606eb6 Remove extra ';' | |
f789d0a [PCH] Fix reading from PCH of diagnostic pragmas. | |
e3d326d Add "I" (ICE) annotations onto a few more x86 intrinsics. | |
f95e2cc Don't crash on invalid objc code. | |
3e56703 [arcmt] Take into account that all properties are strong-by-default now and fix the test. | |
e5c47f8 Bind function "r-values" as l-values when emitting them as opaque values. Silly C type system. | |
7475d27 objc: Don't crash on missing @interface decl. // rdar://10415026 | |
9f4e4dc [analyzer] Testing: test with all the non-experimental checker packages. | |
057f62a [analyzer] Testing: support for regenerate reference output | |
599ad17 [arcmt] Now that readonly properties are strong-by-default, do not add redundant 'strong'. | |
6e751d8 Fix comment typos | |
a427024 objc-arc: 'readonly' property of retainable object type is strong by default too. // rdar://10410903 | |
d8946bc Sort contents of exports file. No functionality change. | |
72ff323 serialized diagnostics: serialize the version info in a separate meta block. | |
e6b86f5 [analyzer] Remove redundant check from DivZeroChecker | |
5be8faa [analyzer] Testing: Display the number of reported differences in the main log. | |
53aef85 This test isn't portable to non-x86 platforms; specify a triple. | |
f231359 Mark the overloaded atomic builtins as having custom type checking, which they do. This avoids all of the default argument promotions that we (1) don't want, and (2) undo during that custom type checking, and makes sure that we don't run into trouble during template instantiation. Fixes PR11320. | |
ce7e445 Misc fixes for clang driver on Mips Linux. Patch by Simon Atanasyan. | |
a4aece4 From Vassil Vassilev: add checks for removing Decls for more use cases. | |
65e1cb4 Add a default system include of '/include'. This isn't particularly useful when using Clang as a system-compiler, but its harmless. When using Clang as a cross-compiler, this can be very handy as quite a few toolchains ship their libc headers here rather than under '/usr/include'. | |
3265263 [arcmt] Now that properties are strong by default, avoid adding redundant '(strong)' property attribute. | |
b71c146 [arcmt] NSViewController does not support weak. | |
c4202ba Check pointer types for arguments of Neon load/store macros. rdar://9958031 | |
f95e992 Misc fixes to pcmp*stri. | |
1e8c75f Fix the layout of vb-tables and vf-tables in the MS C++ ABI. Based on work by Dmitry Sokolov! | |
570d388 lib/CodeGen/CGBuiltin.cpp: Tweak the identifier "Type" to appease msvc. | |
a97b443 TypePrinter: print OpenCL address space names. Patch by Richard Membarth, test case by myself. | |
d9d6203 DeclPrinter: print the declaration's storage class specifier as written, instead of the resolved storage class, which might not be legal to specify on the declaration (such as out-of-line definitions of static class members in C++, and __local variables in OpenCL). Initial patch by Richard Membarth. | |
2bbe2c6 Some tests missed from r144056. | |
efe7232 [arcmt] When we already removed a __weak, don't try to change it to __unsafe_unretained later on, or we will end up with a redundant '__unsafe_unretained'. | |
b7abd3b Revert r143972, which didn't actually compile under -Wnon-virtual-dtor. | |
c59af90 Fix a cluster of related issues involving value-dependence and constant expression evaluation: - When folding a non-value-dependent expression, we may try to use the initializer of a value-dependent variable. If that happens, give up. - In C++98, actually check that a const, non-volatile DeclRefExpr inside an ICE is of integral or enumeration type (a reference isn't OK!) - In C++11, DeclRefExprs for objects of const literal type initialized with value-dependent expressions are themselves value-dependent. - So are references initialized with value-dependent expressions (though this case is missing from the C++11 standard, along with many others). | |
2d21c99 Clean up type flags for overloaded Neon builtins. No functional change. | |
78f5458 [analyzer] Testing infrastructure: flush the output between projects. | |
1fdf5b7 There are some crazy cases that LookupMethodInReceiverType doesn't duplicate, but they all surface as implicit properties. It's also a useful optimization to not duplicate the implicit getter lookup. So, trust the getter lookup that was already done in these cases. | |
3487646 [analyzer] Make sure scan-build catches all clang failures. | |
ec603c8 constexpr: static data members declared constexpr are required to have an initializer; all other constexpr variables are merely required to be initialized. In particular, a user-provided constexpr default constructor can be used for such initialization. | |
348d3bd When we notice that a member function is defined with "= delete" or "= default", make a note of which is used when creating the initial declaration. Previously, we would wait until later to handle default/delete as a definition, but this is too late: when adding the declaration, we already treated the declaration as "user-provided" when in fact it was merely "user-declared". | |
f5ddabf Whitespace. | |
7c2ea8d Tablegenify -g options. | |
134e6d0 Remove test with int128 printing since it breaks on some platforms. | |
9127874 Add missing part of test | |
8fd620d ASTConsumer::handleTopLevelDecl will end up getting called for function template instantiations. Fixes <rdar://problem/10398005> / PR11312. | |
b67b3ff [arcmt] Fix handling NSMakeCollectable inside an objc method. | |
6b06d3b [arcmt] In GC, handle (assign) @properties. | |
f2d1c25 [arcmt] Map property decls to their GC attributes. | |
964ba86 Add support for printing integer literals of type short, unsigned short, __int128_t and __uint128_t. Short and unsigned short integer literals support is only to work around a crasher as reported in PR11179 and will be removed once Clang no longer builds short integer literals. | |
e16240d [arcmt] In GC, change '__weak' -> '__unsafe_unretained' when applied to objects of classes that don't support ARC weak | |
1d8790f When applying ARC __weak to a non-objc pointer, do not give error that __weak is unsupported by the deployment target, since it is going to be ignored anyway. | |
3f8e00d Better fix for -Wnon-virtual-dtor | |
534a9f0 Remove duplicate listings for core.DivideZero | |
3adc33b Drastically simplify the mapping from the declaration corresponding to the injected-class-name of a class (or class template) to the declaration that results from substituting the given template arguments. Previously, we would actually perform a substitution into the injected-class-name type and then retrieve the resulting declaration. However, in certain, rare circumstances involving deeply-nested member templates, we would get the wrong substitution arguments. | |
f31c383 Tighten up the conditions under which we consider ourselves to be entering the context of a nested-name-specifier. Fixes <rdar://problem/10397846>. | |
ed7f727 Appease -Wnon-virtual-dtor | |
2c4a9bc Fix an unsafe use of Twine. | |
a938489 Constant expression evaluation: support for arrays. | |
5b077a9 Rip out one of the features I added for the driver-include-management. We don't actually need a separate flag for non-sysrooted paths as the driver has to manage the sysroot anyways. The driver is not infrequently adding paths to the header search based on their existence on the filesystem. For that, it has to add the sysroot anyways, we should pass it on down to CC1 already joined. More importantly, the driver cannot in all cases distinguish between sysrooted paths and paths that are relative to the Clang binary's installation directory. Essentially, we always need to ignore the system root for these internal header search options. It turns out in most of the places we were already providing the system root in the driver, and then another one in CC1 so this fixes several bugs. | |
6ef1a0b Fix Linux libc++ usage. Somehow this slipped through during the port. | |
6be60b3 Fix 32-bit build bots and remove some casting-away-const warnings. | |
94c83ee Colorize. (this is consistent with the coloring in diagnostics.html, but perhaps that's a bit out of date because it doesn't look like current clang behavior) | |
e0665c0 [analyzer] Add the Checker Developer Manual to the menu. It's still under construction but has enough info to be useful. | |
eba4ba7 [analyzer] Add overview and checker registration to the checker developer manual. | |
6295b53 Rip out CK_GetObjCProperty. | |
dd6797f Constant expression evaluation: preserve subobject designator when flattening a core constant value down to an APValue. | |
ec1c59c Rip the ObjCPropertyRef l-value kind out of IR-generation. | |
6fe7e01 Remove duplicate word & unnecessary conditional. | |
fd8b9d9 Move tests to the appropriate directory to match the spec hierarchy. | |
547c88a Allow constexpr variables' initializers to be folded in C++11 mode. This partially undoes the revert in r143491, but does not introduce any new instances of the underlying issue (which is not yet fixed) in code which does not use the 'constexpr' keyword. | |
1b40efe Begin lifting some of the one-off checking logic into generic helper routines on the base toolchain class. | |
e269cf0 Move the GCC installation detection logic down into the Generic_GCC toolchain. The logic is mostly generic already, and where possible should be made more generic. Also, it has no impact other than to expose a set of methods which each toolchain can then query to setup their desired configuration. These should be available to toolchains beyond just Linux. | |
4983ec4 Remove an old OpenSUSE hack that is no longer needed -- it is exactly the same as a directory added further down in the new logic. | |
f02f2ce Remove the HasMultilib check. It was essentially useless. The driver now looks for evidence of a multilib installation, and adds the appropriate bits to the search paths. | |
bf58d99 Correcting grammar. | |
aabc56f Use StringRef's case transformation methods. | |
9986cdb [arcmt] In GC, error for __strong/__weak on non-objc pointers. | |
0f8c0b5 [arcmt] In GC, clear redundant __strong's. | |
81f51e2 Make sure when setting AttributesAsWritten of a property that they do not include ownership qualifiers from the type. | |
b3f86fb [arcmt] Make PropertiesRewriter::getPropertyType return the unqualified type. | |
bdbe864 [arcmt] Collect all the places where GC attributes __strong/__weak occur. | |
8129179 [arcmt] Refactor PropertiesRewriter to use MigrationContext. | |
849b014 test/Driver/crash-cleanup.c: Remove "XFAIL: mingw32" corresponding to r143876. | |
8a26389 The version objects need to actually store the version strings; they aren't guaranteed to live long enough otherwise. | |
9207da1 Throw the switch and move all Linux header search over to the GCC detection system that is providing the library paths and crt object files. | |
ad5cd20 Add a missing triple spotted by inspecting and testing of the include path triples. Also order the 32-bit triples a bit more reasonably. | |
384fabe Unbreak gcc build. | |
a619afb Lift the GCCVersion type into the header file and start persisting it in the detected GCC installation. This allows us to expose another aspect of what we detected: the GCC version. This will be used shortly. | |
32d4d95 Make format string 64 bit safe. | |
86680d7 Switch some of these interfaces from std::string to StringRef and Twine. This will facilitate further use and recombinations of them. | |
0a2d3eb test/Driver/crash-cleanup.c: Mark as XFAIL: mingw32, for investigating. | |
7acf4bf Change the AST representation of operations on Objective-C property references to use a new PseudoObjectExpr expression which pairs a syntactic form of the expression with a set of semantic expressions implementing it. This should significantly reduce the complexity required elsewhere in the compiler to deal with these kinds of expressions (e.g. IR generation's special l-value kind, the static analyzer's Message abstraction), at the lower cost of specifically dealing with the odd AST structure of these expressions. It should also greatly simplify efforts to implement similar language features in the future, most notably Managed C++'s properties and indexed properties. | |
4309604 Take a better approach to detecting and selecting multiarch include directories. This way we stop at the first multiarch directory found on the system. This achieves the real intended result of pruning non-existent directories. | |
d29d69f Revert r143864, as the problem I was actually looking at can be solved a better way. The more I think about it the more worried I am that this hammer is simply too large. We should only be reaching out to the filesystem when doing interesting "detection" things, not gratuitously. | |
ab3f007 Start pruning down the set of flags passed to CC1 for header search. This cleans up the CC1 invocations, and reduces the overhead there. We're still hammering the filesystem looking for the C++ standard libraries though. | |
5fabc1c This test was assuming that /usr/include was in the system header search path. That assumption should never have been true, but it was until I fixed it. Now that its fixed, add a triple here to get correct behavior even on Windows. | |
8007c6a XFAIL crash-cleanup.c only on Darwin and msys. | |
d0e9706 XFAIL test until Peter has a chance to investigate. | |
13d0aff Fixing -g break caused by a dead reference to a temporary introduced in r143732. | |
583a677 Add the depfile as a result file so that it is deleted if we crash, and prevent the diagnostic preprocessor run from writing a depfile. | |
d5f524a Switch Lit to directly query the driver for the builtin inclue path. Thanks to Peter for pointing out how easy this is to do. I'm now much happier with this solution. | |
eece882 Enhance the GCC version parsing and comparison logic to handle some more edge cases and have better behavior. Specifically, we should actually prefer the general '4.6' version string over the '4.6.1' string, as '4.6.2' should be able to replace it without breaking rpaths or any other place that these paths have been embedded. Debian-based distributions are already using a path structure with symlinks to achieve in-place upgrades for patch versions. Now our parsing reflects this and we select the shorter paths instead of the longer paths. | |
8a80efe Remove a pointless member. I have no idea why I made this not a local variable to begin with... As I'm planning to add include root information to this object, this would have caused confusion. It didn't even *actually* hold the include root by the time we were done with it. | |
577e1a9 Remove a no-longer needed helper function. Thanks for implementing this Michael! | |
58e013f Move the GCC installation detection helper a member of the Linux toolchain instead of merely using it in the constructor. This will allow us to query it when building include paths as well as the file search paths built in the constructor. I've lifted as little of it as I could into the header file. | |
6f75007 Remove support for Gentoo subversion-ebuild installed llvm-gcc libstdc++ headers. As llvm-gcc is dead, and I have no idea if this ever really worked, I think it's time for it to go. More importantly, it makes it harder to generalize the include search logic. If someone really wants these to work, they can set the CPLUS_INCLUDE_PATH environment variable. | |
d97e134 Teach lit to ask the Clang it is running what version string to use rather than presuming that it is 3.0. This is extra important as the version should be 3.1, but CMake hasn't caught up with the times. That'll be fixed in a separate commit. | |
c9b8daa Move the Linux header searching from the Frontend to the Driver. This is the first (and diff-noisiest) step to making Linux header searching tremendously more principled and less brittle. Note that this step should have essentially no functional impact. We still search the exact same set of paths in the exact same order. The only change here is where the code implementing such a search lives. | |
fa9773c Try to reduce the nastiness that creeps in through Windows.h a bit. | |
d18c714 [driver] If we're only linking, don't warn about unused arguments which are obviously only used during compilation. rdar://10386708 | |
d7e1c04 Compute the path properly on different platforms. Specifically, compute it the exact same way that the Clang code computes this path. | |
fc61d9d Change this test to reflect the state we are moving in. The Clang builtin headers are no longer going to receive the old 'implicit extern "C" block' semantics. This hint is actually ignored by both Clang and GCC at this point, and Clang's own builtin headers can simply be changed if there is any issue with this. Clang should be free to include these however it wants, and so shorter and simpler is better. | |
c08391f Switch these two tests to use the Clang driver instead of CC1. They want to do "realistic" includes, and so need the header search logic now in the driver. This in turn requires switching the CC1 options to the actual driver options, and passing -Xclang where there is no analogy. | |
1bca7d0 Teach Lit to pass the CC1 invocation the builtin include directory. This is a pretty gross hack, but I don't have any significantly cleaner ideas for this. There are several things obviously gross about it: | |
6c84f36 Fix markup weirdness. | |
09476d9 Fix a significant oversight in my move of MSVC includes to the driver: actually manage the builtin header file includes as well as the system ones. | |
50bdce2 Now that we have a portable 64 bit format string use it to make this simple again. | |
47ae192 Add two flags to the CC1 layer that I was hoping to avoid. We need to encode the *exact* semantics which the header search paths internally built by the Frontend layer have had, which is both non-user-provided, and at times adding the implicit extern "C" bit to the directory entry. | |
16fdb04 Tweak LookThroughStmt() in LiveVariables to properly look through alternativing ParenExprs and OpaqueValueExprs. Thanks to Anna and Argiris for iterating on this function. My original patch embarssingly didn't even pass the Clang tests. | |
51e6c0d LookThroughStmt GM release. | |
ade89cd LookThroughStmt v4.6.3 | |
ade278d Simplify LookThroughStmt in LiveVariables.cpp | |
7a160f8 Fix vector macros to correctly check argument types. <rdar://problem/10261670> | |
68d95dd tests: Remove some stray and unused -cc1 flags. These tests appear to be written to go through the driver. | |
20a61a5 Another correction to the LiveVariables commit (r143767, r143780). Make test/Analysis/misc-ps.c test pass. | |
21f064d [analyzer] Relax the cmp criteria for analyzer reports. | |
a5149d0 [analyzer] Add the list of available checkers to the website. | |
c0161d0 [analyzer] There should be a space between "expect" and "only" | |
652a1c6 [analyzer] Add support for testing with individual preprocessed files. | |
3571917 Fix infinite loop in LiveVariables due to a misplaced 'break' (it would break out of switch statement, not the while loop). | |
abd60d1 [libclang] For "c-index-test -index-file", print out the names of the callbacks. | |
0415413 On Linux, enable the gold plugin if we are using LTO. | |
431eb2e Correct the grammar for __builtin_astype. | |
91471b7 serialized diagnostics: include FixIt information in serialized diagnostics. | |
a044ad9 Move definitions of SizeType and PtrDiffType to Mips32TargetInfoBase. | |
49d4158 Fix test so that it XFAILs consistently. | |
e6e3186 Fix MSVC build. | |
44489a9 Fix one last place where we weren't writing into a string literal consistently. | |
34143a0 Fix incorrect format string in debug output. | |
972a4c8 Teach LiveVariables to look through OpaqueValueExprs for extending Stmt liveness. | |
97078ec Per discussion with John McCall, don't add OpaqueValueExprs to the CFG. | |
8477fe9 serialized diagnostics: pull emission of filenames into diagnostic block. | |
feba931 serialized diagnostics: pull emission of diagnostic flag string into diagnostics block. | |
ea12412 Serialized diagnostics: pull category name serialization into diagnostic blocks. The goal is to remove BLOCK_STRINGS so that the bitcode file can potentially be streamed. | |
020566e serialized diagnostics: emit source ranges. | |
a2c05e4 Move definition of record/block IDs for serialized diagnostics to public header. | |
b05d6c0 Serialized diagnostics: encode a 24 bit version number as part of the "magic number" of serialized diagnostics. | |
36d315e serialized diagnostics: unique warning strings when emitting serialized diagnostics. | |
cd3bef9 Serialized diagnostics: serialize "notes" as sub diagnostics of warnings and errors. | |
124a25e Also include file modification time and size in output of SerializedDiagnosticPrinter. | |
d8695b4 [arcmt] Fix an assertion hit in rdar://10336125; a bit too complicated to reduce. | |
b2cf89f Begin the migration of header search logic to the driver, starting with Windows. There are still FIXMEs and lots of problems with this code. Some of them will be addressed shortly by my follow-up patches, but most are going to wait until we isolate this code and can fix it properly. This version should be no worse than what we had before. | |
f9df65c Switch the C++ include interface in the ToolChain to use the same naming as the system include interface before I start adding implementations of it to individual ToolChain implementations. | |
76479d6 Check for invalid after calling getSLocEntry, for safety. | |
51e3685 [arcmt] In GC, error out when there is a call that returns a pointer to GC managed non-objc object memory. | |
d87e0e3 In ARC, when applying an ownership to a non-objc pointer, instead of ignoring it create an attributed type with same type as the original type. | |
f289589 Enable -flimit-debug-info by default. Now, clang lazily emits debug info for structs. Original behavior can be restored using -fno-limit-debug-info. | |
b2bb5fe [driver] Don't blindly accept all -g options. rdar://10383444 | |
4d4e6dd Revert r143551. It is causing g++.dg/template/crash52.C test failure. | |
ebeea76 objc: fixed enum type is supported in objc mode. Fixes a bug where enumerator type is not this fixed type. // rdar://10381507 | |
948b6c7 Clean up C++11 constant expression testing. | |
dbec732 Add new test. | |
8ae185a Add new test. | |
4b3e40d [arcmt] For GC, cleanup and turn -finalize to -dealloc. | |
197371e [arcmt] In GC, error for use of CFMakeCollectable because it will leak the object that it receives in ARC. | |
5b1ebba In C++ keep unavailable function calls in the AST, like in C/ObjC. | |
3004fea [arcmt] In GC, transform NSMakeCollectable to CFBridgingRelease. | |
3130d7c Remove unused variables. | |
740d56c Sink the strange '-stdlib=...' flag handling into the C++ include handling logic of the generic ToolChain. This flag, despite its name, has *nothing* to do with the GCC flag '-nostdlib' that relates (exclusively) to the linking behavior. It is a most unfortunate name in that regard... | |
01a8c2f Sink the handling of -fobjc-arc-cxxlib to live with the other -fobjc-arc implementation in the driver. This cleans up the signature and semantics of the include flag adding component of the toolchain. Another step to ready it for holding all the InitHeaderSearch logic. | |
ec6bd8c Add a FIXME to cleanup the CPATH handling. It's currently burried with the rest of the mess in InitHeaderSearch.cpp. We could hoist it into the driver profitably, removing more noise from the driver -> frontend communication. | |
9b6402e Add a system include management interface to the toolchain, and call it and the C++ include management routine from the proper place when forming preprocessor options in the driver. This is the first step to teaching the driver to manage all of the header search paths. Currently, these methods remain just stubs in the abstract toolchain. Subsequent patches will flesh them out with implementations for various toolchains based on the current code in InitHeaderSearch.cpp. | |
109717d Constant expression evaluation: refactor to start the groundwork for coping with initializations which refer indirectly to elements of the object being initialized. | |
3b9bf18 Constant expression evaluation: track the manner in which an lvalue was written, to allow us to implement the C++11 rule that a non-active union member can't be read, and use it to implement subobject access for string literals. | |
001d501 Constant expression evaluation: although we don't know whether a literal will be at the same address as another object, we do know it won't alias a null pointer. | |
ff71fad In the AST dump, add a space between the type and value for CharacterLiteral. | |
ec2f877 Use a single integer type for a sub-doubleword part of a byval structure. | |
b9c6199 Fix alignment on alloca's for parameters using ABIArgInfo::Expand. | |
d35c03e Parse the warning options twice. The first pass sets diagnostic state, while the second pass reports warnings/errors. This has the effect that we follow the more canonical "last option wins" paradigm when there are conflicting options. rdar://10383776 | |
fefddd3 After resetting the diagnostic state, set the number of warning occurring in the preamble. | |
0d5365f Fix the alignment on scalar parameter variables so that it matches what the AST thinks it should be. Per report on cfe-dev. | |
e3263b9 [libclang] Fix crash when a #pragma diagnostic is included in the preamble. | |
6555088 Force test to use the non-fragile ABI | |
00096f1 [libclang] Move CursorVisitor to its own header. | |
3e48832 [libclang] Make sure pointing inside the #include of the fields will return the struct. | |
68e5886 [libclang] Use CursorVisitor::Visit instead of invoking the visitor directly. | |
6943d54 [libclang] Add a test for "targeting" a field inside an #include that only contains fields. | |
8b85f6c Extend IsSimplyAccessible to check for Objective-C instance variable accessibility. Fixes <rdar://problem/3727335>. | |
0f002d2 Fix grammaro | |
6e50100 Teach the ASTImporter to import DefinitionData bits. | |
187c079 Class can't be null in this context | |
b4321f5 Refactor Sema::IsSimplyAccessible slightly, to work on a DeclContext rather than a class | |
8f2e7db When we're checking a friend function template in an out-of-line class definition, we may not have a scope corresponding to the namespace where that friend function template actually lives. Work around this issue by faking up a scope with the appropriate DeclContext. | |
0a9b863 [libclang] Add missing return in clang_getExpansionLocation that resulted in that function always returning a null file/line/column. | |
1102af7 [libclang] Add infrastructure to be able to only deserialize decls in a file region and use it for clang_getCursor. | |
35ace1c [libclang] For c-index-test disable caching of code completion results if the CINDEXTEST_COMPLETION_NO_CACHING environment variable is present. | |
f528f6b Do not add "byval" attribute to records with non-trivial copy constructors and destructors in the DefaultABIInfo. | |
738f003 Add a printing policy flag to suppress printing "<anonymous>::" prior to types. Enable this flag for code completion, where knowing whether something is in an anonymous or inline namespace is actually not useful, since you don't have to type it anyway. Fixes <rdar://problem/10208818>. | |
1c740da Set MinABIStackAlignInBytes to 8 if ABI is N32/64. | |
a9f43af Convert the type of a structure passed by value if it has double precision fields in order to ease handling of such structures in backend. | |
f45b716 Test code completion for constructor initializers within the class definition. This already worked; <rdar://problem/10208871>. | |
673325f Return function results whose size is smaller than 128-bits in registers if ABI is N32/64. | |
d0e307d Use native endianness for writing out character escapes to the result buffer for string literal parsing. No functional change on little-endian architectures; should fix test failures on PPC. | |
476caaf Don't build member initializers for zero-length or incomplete arrays, and don't try to destroy them, either. Fixes <rdar://problem/10228639>. | |
a364fb7 back out changes in r143399 and r143475. rvale-references are captured by reference in blocks. // rdar://9971124. | |
3563caa Don't encourage bug reports to the Clang mailing list. We have a bug report link for that. | |
7fb9d10 In addition to dumping preprocessed source, dump a script with the command line arguments that caused clang to crash. rdar://8314451 | |
a95cba9 Fix various minor issues find via unreachable code warnings, from Ahmed Charles! | |
8a43043 [analyzer] Tweak the test script | |
cef45ad Add the newest Gentoo GCC version based on the reported installed version in PR11298. | |
dfd1f7b [analyzer] Start writing Checker Developer Manual. | |
a553e03 Drastically simplify the mapping from the declaration corresponding to the injected-class-name of a class (or class template) to the declaration that results from substituting the given template arguments. Previously, we would actually perform a substitution into the injected-class-name type and then retrieve the resulting declaration. However, in certain, rare circumstances involving deeply-nested member templates, we would get the wrong substitution arguments. | |
c535c17 Use StringLiteral::getBytes(), not StringLiteral::getString(), when profiling the expression, so that it works for non-UTF8 strings. | |
6dcd478 Fixing some dead links. Patch by Jean-Daniel Dupas! | |
4495d39 Remove virtually empty file. | |
edec448 Add colors to the C++11 status page. | |
82fb2e4 Invoke the Darwin assembler with -g instead of --gdwarf2. | |
e4bacce Update the CMake build for clang-tblgen to reflect that it directly depends on the Support library rather than relying on TableGen's transitive dependency. | |
0ffea35 Check for homogeneous aggregate return values with ARM's AAPCS-VFP ABI. | |
0e13ea6 Add an option to emulate the strange Apple gcc behavior of #pragma pack. | |
2b10ae9 objc: warn if a readonly property has a setter attribute too. // rdar://10357768 | |
33f9b24 [analyzer] Make sink attribute part of the node profile. | |
1f61467 [analyzer] Fix PR11282 - an assert in markAsSink | |
d20c49a [analyzer] Make sure the child builder use temporary destination sets | |
a1e0540 [analyzer] BranchNodeBuilder should not generate autotransitions. | |
0c9bada [analyzer] CheckerContext::getPredecessor() cleanup | |
16c9bfc [analyzer] Remove the CheckerContext's destructor. | |
4ad351d Add missing export. Spotted by Leandro Melo. | |
b229055 When we run into a constructor or destructor that is defined in the wrong class, make sure to drop it immediately; we don't want that constructor to be available within the DeclContext. Fixes <rdar://problem/9677163>. | |
b2568c2 Fix r143463 to test what it was intended to test. | |
c0577e2 When we see an out-of-line definition of a member class template that does not match any declaration in the class (or class template), be sure to mark it as invalid. Fixes PR10924 / <rdar://problem/10119422>. | |
826ed07 rename getHostTriple into getDefaultTargetTriple in clang | |
99326e2 When constant-folding, don't look at the initializer of a global const variable if it's marked as weak: that definition may not end up being used. | |
e3a6425 Temporarily disable lvalue-to-rvalue conversions on const pointers while an apparent miscompile triggered by this is investigated. This is essentially a revert of r143298. | |
ff49b40 Do not create sub_dirs. This breaks the CSS links for the website and produces really long URLS. | |
dff580e [libclang] Fix non-darwin buildbots. | |
2a16520 Find copy constructor needed to copy an rvalue reference c++ object into block descriptor. // rdar://9971124 | |
b28d698 Silence a warning in -Asserts builds | |
2a4b944 Downgrade err_iboutlet_object_type to a warning. It was breaking a bunch of code. We will reconsider promoting it back to an error later. | |
1cbd444 Put a reference of the ASTReader in the ASTUnit. | |
627440b [libclang] For a class extension, give it a unique USR but for any property or ivar it contains give it a USR based on its semantic context, which is the interface. | |
23de5c7 Implement C++11 'constexpr calls must return constant expressions' rule, and perform the code simplifications this rule allows. | |
dcb0b93 Enable function call and some overload resolution with parameters of aggregate class type and initializer list arguments. | |
f70509f Correct test for additional comment line. | |
56461bd Mark test as requiring x86 backend. | |
40752f7 Don't depend on system includes in test. | |
18b681a Make test work with ARM C++ ABI. | |
4979e0b Tests for UTF-8 encoding in strings in source code. Patch by Seth Cantrell. | |
f3aa8d6 Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving treating wide strings as a series of bytes. | |
9039b18 Perform proper conversion for strings encoded in the source file as UTF-8. (For now, we are assuming the source character set is always UTF-8; this can be easily extended if necessary.) | |
e8172b5 Move ConvertUTF8toUTF32 out of #if 0, in preparation for a patch which needs it. | |
f9a73eb Add LinkAllPasses to clang | |
b12412f Add __has_feature(cxx_raw_string_literals) and __has_feature(cxx_unicode_literals), from Michel Morin! | |
5a81e7d Add __has_feature(cxx_defaulted_functions) for querying "defaulted functions", from Michel Morin! | |
12e3a16 Rework the AST for the initializer of a delegating constructor, so that it retains source location information for the type. Aside from general goodness (being able to walk the types described in that information), we now have a proper representation for dependent delegating constructors. Fixes PR10457 (for real). | |
23833e3 Adds IRGen support for captured rvalue references in blocks. In this case, temporary value is copied into block descriptor as their own copy to work on. // rdar://9971124 | |
ab78a9c Some minor comment changes in constant-folding comparisons. | |
c347251 Don't try to fold comparisons between the address of an object and an arbitrary integer constant. Fixes regression from r143334. | |
64179bd [libclang] Tweak internals of CXSourceLocation to allow an alternate implementation if the lowest bit of ptr_data[0] is not 0. This is prep for work on serialized diagnostics. | |
ba93b1c [libclang] Move implementation of functions for manipulation CXSourceLocations and CXSourceRanges into a separate file. | |
af7848f [libclang] Add CXDiagnosticImpl to represent a super class for the implementation backing a CXDiagnostic. This allows CXStoredDiagnostic to be just one possible implementation of a CXDiagnostic. | |
4582249 Revert r143342. Caching of code-completion results was intentionally placed in "reparse" because we don't want to take this performance hit when doing code completion | |
f8e5fdb Add missing lvalue-to-rvalue conversion. | |
af3467c Refactoring and test for r143360. Support for array rvalue to pointer decay is needed for C++11, and will follow later. | |
b4cc540 Temporary fix for assert while evaluating array-to-pointer decay on array rvalue. Test and better fix to follow. | |
dd5b7b6 Improve text of a diagnostic. | |
321b7ac In x86_64, when calling an Objective-C method that returns a _Complex long double, make sure to use the objc_msgSend_fp2ret function which ensures that the return value will be {0, 0} if the receiver is nil. | |
197a974 Add possibility to specify an include location for createFileIDForMemBuffer(). Useful to set up a virtual include hierarchy, e.g. to order diagnostics for ambiguous overloads from MemoryBuffers. | |
eb60a26 Simplify the set of directories we look for on multiarch systems. I don't have any Debian system with one of these currently, and it seems unlikely for one to show up suddenly. We can add more patterns here if they become necessary. | |
26d513a Add "just one more" include path to the monstrosity that is our header search logic. The Debian multiarch seems to have completely changed from when these were originally added, and I'd like to remove a bunch of them, but I'll be lazy and delay that until this logic is hoisted into the driver where it belongs. | |
e15d011 Fix part of PR11223 and probably a few dups as well. This teaches the library search logic to "properly" handle multiarch installations. I've tested this on both Debian unstable and the latest Ubuntu which both use this setup, and this appears to work largely the same way as GCC does. It isn't exactly the same, but it is close enough and more principled in its behavior where it differs. This should resolve any failures to find 'crt1.o' etc on Debian-based Linux distributions. If folks find more cases where we fail, please file bugs and CC me. | |
5668e92 Fix the source range for ObjCInterfaces that are forward decls. | |
f93c619 Move caching of code-completion results from ASTUnit::Reparse to ASTUnit::CodeComplete, so that it will happen when we are doing code-completion, not reparsing. | |
5fe62ec [PCH] Now that we store the location of a decl outside its record make sure that we keep track of locations of replaced decls as well. | |
7db89cd [PCH] For ASTReader's FileDeclIDs also associate the Module that the local DeclIDs came from. | |
311da2f Introduce SourceManager::isLocalFileID/isLoadedFileID functions. | |
bd463dc Have the ASTUnit associate the local declarations that get parsed with the file that contains them. | |
49917f1 [libclang] Rename VisitIncludedPreprocessingEntries -> VisitIncludedEntities | |
a8398cc C++11 generalized constant expression handling: evaluation support for materialized temporaries. | |
a58a22a C++11 generalized constant expressions: evaluate equality comparisons between arbitrary pointers, if those pointers don't point to weak objects or literals. | |
5d94bec cindex.py: Remove more ternary operator + whitespace fixes | |
57f1c1d C++11 generalized constant expressions: support pointer comparisons where the result is not unspecified. | |
70b2382 Turn on the new .file directive when appropriate, instead of turning it off. | |
3989d10 clang.py: Remove use of ternary operators | |
e128154 cindex.py: Allow to create a cursor from file/row/column | |
509d869 cindex.py: Add File.create_from_name() | |
c33d2b7 Fix assert on constant expression evaluation of floating point increment. | |
7e770a0 Add support for lazily linking bitcode files (using a new -mlink-bitcode-file flag), and more generally llvm::Modules, before running optimisations. | |
9979cfe Add support for sse4a and enable it for amdfam10 cpu. | |
d8063ce Fixed CXX struct and class initialization printing to support 'move' type constructors. | |
f051cde Add support for amdfam10 cpu. | |
9c8052b Stop disabling integrated assembler with -static. <rdar://problem/10175391> | |
18dbecb Don't crash if a GCC binary conditional is used in a constant expression on an integer-cast pointer value. | |
bf855d3 constexpr evaluation: allow lvalue-to-rvalue conversion on any literal type, not just integers and floating point types. Since we don't support evaluating class types or performing lvalue-to-rvalue conversions on array elements yet, this just means pointer types right now. | |
8ff064e constexpr function substitution: Track the function invocation where an lvalue referring to a constexpr function parameter originated from, and use it to substitute the correct argument and to determine whether such an argument's lifetime has ended. | |
899ad68 Fixed FriendDecl source locations. | |
3ff3c70 Use LIBCLANG_NOTHREADS instead of CINDEXTEST_NOTHREADS inside libclang, so the c-index-test one can be enabled without affecting libclang. | |
d778105 Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will implicitly perform an lvalue-to-rvalue conversion if used on an lvalue expression. Also improve the documentation of Expr::Evaluate* to indicate which of them will accept expressions with side-effects. | |
c820f18 Start work on SerializedDiagnosticPrinter, a new DiagnosticConsumer that serializes out the diagnostics for a given translation unit to a bit code file. This is a WIP. | |
ca7c127 objc-arc: desugar certain type and improve on diagnostic for ownership qualifier cast which won't work. // rdar://10244607 | |
fcbee47 Add test missed from r143234. | |
3e90591 [PCH] Sort the file decls by file offset not raw source location. | |
0ab8a14 [PCH] In ASTWriter::associateDeclWithFile don't bother finding the file loc if we are not interested in the decl. | |
a5a478c Fix assertion in constant expression evaluation. The LHS of a floating-point binary operator isn't an rvalue if it's an assignment operator. | |
11ee277 Move -Wc++11-compat out of -Wall. It causes trouble for clients that define their own "nullptr" class in C++98 and build with -Wall. | |
6fa4bf3 Give __STDC_VERSION__ the value 201001L when we're in C1x mode. The committee hasn't set a value for __STDC_VERSION__ yet, so this is a placeholder. But at least it's > 199901L. | |
701cb62 [libclang] Introduce use of CINDEXTEST_FAILONERROR environment variable which, if set, will cause c-index-test to return as failed if a compiler error occurred. | |
ee2f4b8 [libclang] Check for environment variable CINDEXTEST_NOTHREADS in clang_reparseTranslationUnit. | |
5bf27ab Make -error-on-deserialized-decl work correctly by correctly delegating to the previous ASTDeserializationListener. | |
6be7465 [ARC] Do not transfer ARC ownership if the cast is going to result in r-value, in which case the ownership is redundant. Thanks to John for the suggestion. | |
5ab3cf5 Add an alias option for -error-on-deserialized-decl with joined '='. | |
40b839d [PCH] Keep track of file-level declarations that are contained by files. | |
b060361 Initial support for C++11 constexpr function invocation substitution. Using constexpr function arguments outside of their function (passing or returning them by reference) does not work correctly yet. | |
b26f67c In case of template specialization, do not try to delay emitting debug info for concrete type in -flimit-debug-info mode. This fixes some of the failures from bs15503.exp tests in gdb testsuite. | |
329a9c3 Fix this on the bots and make the test more complete by enabling optimizations. | |
55a96f0 Fix PR9614 for functions with the always_inline attribute. Try to keep the common case (-O0, no always_inline) fast. | |
51e9ef0 objective-c arc: type-casting of an objc pointer to an rvalue retainable object type with life-time qualifier has no effect and wil be diagnosed as error. // rdar://10244607 | |
27c373a Deleted functions were in Clang 2.9, defaulted functions in 3.0. Fixses PR11252. | |
98d03ba [analyzer] ObjC message sends to nil receivers that return structs are now okay (compiler zeroes out the data). Fixes <rdar://problem/9151319>. | |
8485874 It turns out that the Objective-C message lookup functions can throw exceptions after all... | |
8fc563e Reinstate r142844 (reverted in r142872) now that lvalue-to-rvalue conversions are present in all the necessary places: | |
286d990 Use const_cast to make it obvious that it's just removing constness (and silence warnings). | |
eaff700 Reflow code. No intended functionality change. | |
1d9d8df Fix test for LLVM change r143186. | |
358519b Add (hopefully) the last missing lvalue-to-rvalue conversion. Add an assertion to catch some future implicit lvalue-to-rvalue casts of inappropriate kinds. | |
199b5db Be sure to build a dependent expression when we see a binary operator involving a dependently-typed overload set. | |
6adb12d Fix for PR9751 to change the behavior of -Wformat warnings. If the format string is part of the function call, then there is no difference. If the format string is not, the warning will point to the call site and a note will point to where the format string is. | |
0ddb17c Add missing lvalue-to-rvalue conversion to vector splat casts. | |
a446adc Remove the Alpha backend. | |
3bad5b1 Fix some cases where a CK_IntegralCast was being used to convert an lvalue to an rvalue. An assertion to catch this is in ImpCastExprToType will follow, but vector operations currently trip over this (due to omitting the usual arithmetic conversions). Also add an assert to catch missing lvalue-to-rvalue conversions on the LHS of ->. | |
b2deb1f Mark these tests as requiring use of the shell. | |
1417646 objc: fix an ir-gen crash caused by recent property refactoring. // rdar://10327068 | |
46ab5f5 Add mutex for accessing ASTUnit's global OnDisk data. This may be an issue as libclang could be processing multiple ASTUnit's at once. | |
2006a7f Annotate imprecise FP division with fpaccuracy metadata | |
0493603 [PCH] Pull the location out of the serialized declarations and put it in the array of decl bit offsets. | |
821f8a1 Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>. | |
e558289 [libclang] Add comments. | |
37a5e89 Make the loading of information attached to an IdentifierInfo from an AST file more lazy, so that we don't eagerly load that information for all known identifiers each time a new AST file is loaded. The eager reloading made some sense in the context of precompiled headers, since very few identifiers were defined before PCH load time. With modules, however, a huge amount of code can get parsed before we see an @import, so laziness becomes important here. | |
f17126e Teach format string analysis that "%zu" means size_t. | |
a1fabef Move these test from checking assembly to checking LLVM IR. Should fix fallout from r143097. | |
f234773 [analyzer] Optimize by not generating empty transitions in CheckerContext | |
d8d15cf [analyzer] Move enqueueEndOfFunction into CoreEngine. | |
4c7b518 [analyzer] Make CoreEngine responsible for enqueueing Stmt Nodes. | |
1404950 Make use of the parameter in Sema::ActOnObjCTemporaryExitContainerContext. | |
749e95e Fix crash on an @interface nested inside @implementation, rdar://10336158 | |
393117c For the "'@end' is missing in implementation context" point at the location of '@'. | |
69cd886 Do not warn when weak-import attribute is applied to enum decl. in Darwin due to certain projects requirement. // rdar://10277579 | |
0a6433c Disalbe more Microsoft-specific stuff. | |
cab62f8 [analyzer] Add getLocationContext to CheckerContext | |
a21ca0e [analyzer] Remove EmitBasicReport form CheckerContext. | |
23c5497 [analyzer] Rename generateNode -> addTransition in CheckerContext | |
8bb2881 [analyzer] Remove forward declarations of GenericNodeBuilder | |
2ce6450 [analyzer] GenericNodeBuilder -> NodeBuilder. | |
3e24434 Objective-c: fix an ir-gen crash where objc messag returns a _Complex value and ABI requires return slot to be passed as first argument to message sent. // rdar://10331109 | |
0edb8c8 Fix this tests on the bots. | |
b8020ba Fix pr9614 by not emitting an available_externally function when it calls itself via an asm label. | |
f0508a6 Try to appease the Windows builders | |
cda80f8 Pull out conversion on LHS of -> and . into its own function. This happens implicitly in LookupMemberExpr and explicitly in cases where template instantiation doesn't redo the lookup. | |
0a76324 Eliminate a hang while loading a sequence of redeclarable entities. In essence, the redeclaration chain for a class could end up in an inconsistent state while deserializing multiple declarations in that chain, where the circular linked list was not, in fact, circular. Since only two redeclarations of the same entity will get loaded when we're in this state, restore circularity when both have been loaded. Fixes <rdar://problem/10324940> / PR11195. | |
996f5d5 Disable on Windows, for real. | |
194af98 Compute the promoted integer type of fixed-width enums correctly. Found by inspection. | |
d978c92 Correctly perform integral promotions on wchar_t/char16_t/char32_t in C++. <rdar://problem/10309088>. | |
31161c7 Fix crash due to missing array-to-pointer decay when instantiating an unresolved member expression. Refactoring to follow. | |
7ab7528 UnresolvedMemberExprs need lvalue-to-rvalue conversions during template instantiations too. | |
85a3736 Turn off delayed template parsing for this test | |
c23482b [analyzer] Remove getEngine() form CheckerContext | |
f5d6176 [analyzer] Simplify CheckerContext | |
643f4d3 [analyzer] Remove unused headers. | |
a284a7a [analyzer] Make branch for condition callback use CheckerContext | |
1f7571b [analyze] Convert EndOfPath callback to use CheckerContext | |
f299b1b Handle redundant 'typename' on base class specifications. | |
fafbc37c Fix erroneous name-specifiers prior to decltypes better/correctly as per Doug's feedback. | |
e859fbf Restore r142914 and r142915, now with missing file and apparent GCC compiler workaround. | |
4e6e0e4 Initialize the BaseLoc for decltype base type specifications. | |
3e1bffd Fix cases where the optional nested-name-specifier erroneously preceeded a decltype-specification when specifying a base type. | |
20afb0c Support the use of decltype for specifying base types. Fixes PR11216. | |
50e13c5 Revert r142914 and r142915, due to possibly missing file. | |
4827cf6 Change an int64_t to an intptr_t so that we don't end up with crashes in the back end on large classes on 32-bit. | |
0cb6837 Pull the pseudo-object stuff into its own file. Tidy up some marginally related code just to annoy single-purpose-commit lovers. No functionality change. | |
1374a27 Introduce a placeholder type for "pseudo object" expressions: expressions which refer to a logical rather than a physical l-value, where the logical object is actually accessed via custom getter/setter code. A subsequent patch will generalize the AST for these so that arbitrary "implementing" sub-expressions can be provided. | |
01a666e Allow the -fno-operator-names option to be passed down to the rest of the compiler. | |
53c8b9e Don't forget the lvalue-to-rvalue conversion on the LHS when instantiating a dependent ->, where the member being referred to is an anonymous struct or union. This path was missed by the fix in r142890. | |
2922f41 Relax restriction of assigning to 'self' in ARC when a method is attributed with ns_consumes_self. Fixes <rdar://problem/10274056>. | |
811cba7 Tweak printf format string parsing to accept 'hh' conversion specifier to accept any char, not just signed char. Fixes <rdar://problem/10303638>. | |
d62f4a5 Undo unnecessary change | |
6f03371 Check for unexpanded parameter packs in the name that guards a Microsoft __if_exists/__if_not_exists statement. Also note that we weren't traversing DeclarationNameInfo *at all* within the RecursiveASTVisitor, which would be rather fatal for variadic templates. | |
71811eb Remove extra copy of contents of header file resulting in a patch being applied twice. Aren't include guards great? | |
b80b6a9 Make the -Wc++11-compat warnings ignored by default, so we don't break valid C++98/03 code. However, add these warnings to -Wall, for those who obviously already like clean code. | |
1db0028 Implement support for dependent Microsoft __if_exists/__if_not_exists statements. As noted in the documentation for the AST node, the semantics of __if_exists/__if_not_exists are somewhat different from the way Visual C++ implements them, because our parsed-template representation can't accommodate VC++ semantics without serious contortions. Hopefully this implementation is "good enough". | |
2715deb Tidy up testcase from r142890, spotted by Chandler. | |
e125274 Remove another Blackfin test. | |
2b99fac Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when rebuilding it during template instantiation, for a known RHS decl. | |
a34fc03 [PCH] When visiting preprocessed entities, make it possible to avoid deserializing preprocessed entities that are #included in the range that we are interested. | |
527de44 Use assert(0) instead of duplicating the check, suggestion by Anna. | |
7c4629c Add source-level dominators analysis. Patch by Guoping Long! | |
290c296 Clean up, as suggested by John. | |
bc8f376 Remove more SystemZ (s390) tests. | |
8b82b68 Remove the Blackfin backend. | |
4dc0396 Remove the SystemZ backend. | |
b7b4fa3 Do not drop type qualifiers in -flimit-debug-info mode. | |
53a12a2 Revert r142844, it broke selfhost. The problem appears to be a missing lvalue-to-rvalue conversion on the LHS operand of '->'. | |
bdd9d74 Add explanatory comments for ICE checking in C99 mode. | |
f438794 Rework Microsoft __if_exists/__if_not_exists parsing and semantic analysis to separate dependent names from non-dependent names. For dependent names, we'll behave differently from Visual C++: | |
4592bf7 Don't try to emit CK_LValueBitCast casts as constants. PR9558. | |
9b2bb42 When we perform a lookup for a dependent name that is a member of an unknown specialization, treat this the same way as if the name were not found in the current instantiation. No actual functionality change, since apparently nothing depends on this. | |
0962ee5 [analyzer] Node builders cleanup + comments Renamed PureNodeBuilder->StmtNodeBuilder. | |
36075b9 [analyzer] Remove the old StmtNodeBuilder. | |
300f753 [analyzer] Completely remove the global Builder object. | |
479f24e [analyzer] Remove more dependencies from global Builder - OSAtomicChecker - ExprEngine::processStmt | |
892cc7f Constant expression evaluation: evaluate lvalues as lvalues, and rvalues as rvalues, as C++11 constant evaluation semantics require. DeclRefs referring to references can now use the normal initialization-caching codepath, which incidentally fixes a crash in cyclic initialization of references. | |
fd40ad4 Switch to a more natural formatting of the macro name printing. Suggested by John McCall. | |
38b4ed4 Constant expression evaluation: factor out handling of ignored values. | |
2aa40ed In accordance with the C89, C99 and C++98 standards, ICEs can only contain floating-point literals if they are the immediate operands of casts. ImplicitCastExpr is not a cast in the language-standards sense. | |
2ecce33 [analyzer] Convert ExprEngine::visit() to use short lived builders. | |
e6c41f4 [analyzer] Convert VisitDeclStmt to use local node builder. | |
05b1c89 [analyzer] Convert more functions (ex:evalBind()) to iterative builders | |
93cda48 [analyzer] Convert VisitUnaryOperator to use short lived Node builders | |
1d2c12e [analyzer] Use a temporary builder in CheckerContext. | |
8689a00 [analyzer] Pass external Dst set to NodeBuilder | |
5c75259 Simplify parsing ellipsis in Parser::ParseAlignArgument, spotted by Doug. | |
3b60ca1 Constant expression evaluation: factor out VarDecl initializer evaluation and caching. | |
417a3ec Minor refactoring of my last patch. Per Doug's suggestion. | |
60a4a25 [libclang] Make sure we don't try to erase past the StoredDiagnostics vector. | |
b8217de Fix mismatched new[]/delete[]. | |
1138bb9 Have -fms-no-extensions turn off -fms-compatibility | |
3ead475 Make -fms-compatibility imply -fms-extensions. Fixes PR11204. | |
320fa62 Remove debugging printfs that some idiot left in. | |
7ad3a4c Enable experimental support for objc_msgSend with GNUstep ObjC runtime. | |
2be1379 Revert "Test commit" | |
c586188 Test commit | |
7c237a8 Actually rename the file AnalysisContext.cpp -> AnalysisDeclContext.cpp to match the CMakeLists.txt change in r142782; this should fix the CMake build. | |
579ee4f Rename AnalysisContext to AnalysisDeclContext. Not only is this name more accurate, but it frees up the name AnalysisContext for other uses. | |
dcc71da Fix grammar for C++11 alignment specifiers, and add a few FIXMEs. | |
4bcccba Fix typo (C++1 -> C++11). | |
197cd9e Diagnose unexpanded parameter packs in member initialisers (including in-class member initialisers). | |
5d398f5 Clean up duplicated code in Sema::BuildMemInitializer. | |
9234b8b Improve unexpanded parameter pack diagnostics by using UPPC_Initializer here. | |
5e07ce3 Attach class template attributes to the templated CXXRecordDecl, instead of silently discarding them. | |
063f52b Reduce dependencies. | |
3bd5a81 [analyzer] Remove LocationContext creation methods from AnalysisManager, and change clients to use AnalysisContext instead. | |
f5aca73 Fix a typo that completely broke the expansion of complex arguments. | |
248b14a Refactor vector constant expression evaluation to return bool like all the other const expression evaluation subclasses, and remove some APValue copying and malloc traffic in the process. | |
b773239 Remove obsolete debugging macro, make helper static. | |
6eafffd Pack struct better. | |
18075cc test/Driver/debug.c: Mark this as "REQUIRES: shell". | |
6db0281 lib/Driver/Tools.cpp: Use PathV2::is_absolute() to add -fdebug-compilation-dir. pwd[0] might not be '/' on Win32 hosts. | |
1100563 Only emit implicit constant conversion truncation warnings in reachable code. Apparently this is what GCC does, and some code depends on this. Fixes <rdar://problem/10321089>. | |
506d525 Refactor ThreadSafety to use PostOrderCFGView instead of its own copy (of TopologicallySortedCFG). | |
970c23b Pull TopologicallySortedCFG out of LiveVariables into its own analysis: PostOrderCFGView. | |
0a08ae6 Fixes a minor hick up to my last patch. | |
e24086e objc: private methods can have their attributes, no diagnostic is required. None private methods if their implementation have attribute, they must exactly match those in their declarations. // rdar://10271563 | |
1250759 Make changes necessary for N32/64 ABI conformance. | |
da75375 XFAIL test on Windows | |
aa0d541 More speculative test tweaking | |
5cf5545 Fix PR11073 by adding the argument type information to the decl we construct for the function type. Update a testcase accordingly. | |
97dcdae Switch tests from grep to FileCheck | |
6ceca46 Add tests for CodeGen types in MS ABI. Based on patch by r4start. | |
3c5cf58 [PCH] When serializing Stmts, keep track of when sub statements are referenced again and in such a case just write out a reference of a previously serialized Stmt, instead of serializing it all over again. | |
28bc9b0 Don't try to set the "array filler" in a InitListExpr twice. | |
cc82772 More ASTRecordLayout changes for MS ABI; based on patch by r4start. | |
c93c168 c++: support gcc's application of weak attribute on class declaration which forces any such class and any class that inherits from such a class to have their typeinfo symbols be marked as weak. // rdar://10246395 A test/CodeGenCXX/weak-extern-typeinfo.cpp M lib/Sema/SemaDeclCXX.cpp M lib/Sema/SemaDeclAttr.cpp M lib/CodeGen/CGRTTI.cpp | |
03eda2b Doug reports that this test is still failing. Try applying Benjamin Kramer's suggestion! | |
00111be Added support for thread safety attributes on destructors. | |
57d2b8a Thread safety analysis refactoring: invalid lock expressions. | |
759cb9d Thread safety analysis: add support for attributes on constructors. | |
dcd4d6f objective-c: Diagnose redeclaration of private ivars in class extensions. // rdar://10309454 | |
371a4d9 Added documentation for the recently-added addDecl() and makeDeclVisibleInContextInternal() functions, and made the latter private since it does not and should not have external clients. | |
3141fc0 Refactoring and code cleanup. | |
0a45e43 When performing name lookup for the previous declaration of a field, be sure to consider all of the possible lookup results. We were assert()'ing (but behaving correctly) for unresolved values. Fixes PR11134 / <rdar://problem/10290422>. | |
6c4e3d3 Permit auto SCS on parameter declarations, C++03 [dcl.stc]p2 | |
5751fc0 Try to be exceedingly clever and make this test work properly whether it's run under bash or under cmd.exe. | |
1aaa249 Treat the Microsoft/Borland keyword "__except" as a context-sensitive keyword, because both libstdc++ and libc++ use "__except" as an identifier. Fixes <rdar://problem/10322555>. | |
be29039 Massage this test a little so it works when run inside the Google environment. | |
d20f023 I added a new function to DeclContext called addDeclInternal(). This function suppresses any calls to FindExternalVisibleDeclsByName() while a Decl is added to a DeclContext. This behavior is required for the ASTImporter, because in the case of the LLDB client the ASTImporter would be called recursively to import the visible decls, which leads to assertions because the recursive call is seeing partially-formed types. | |
c8f2c40 Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This is closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. | |
1447542 Add -Wc++98-compat diagnostics for jumps which bypass initialization of non-POD but trivially constructible and destructible variables in C++11 mode. Also incidentally improve the precision of the wording for jump diagnostics in C++98 mode. | |
8a54dc1 When fixing up the storage class for an anonymous union, don't mark the anonymous union as valid: our fixes have Fix-Its. | |
60973b0 Add test case for analyzer crash reported in <rdar://problem/10308201> (which is already fixed in mainline). | |
f777d4b 'extern template' is a C++11 feature. Add an Extension for C++98 (this matches gcc's behaviour), and a -Wc++98-compat-pedantic warning for C++11. | |
f9c0daf There's no point in marking a declaration invalid just because it shadows a template parameter. Complain about the shadowing (or not, under -fms-extensions), but don't invalidate the declaration. Merely forget about the template parameter declaration. | |
ca2e121 [libclang] Don't use C++-style comments in c-index-test.c. | |
c9aa53c Diagnose class template (partial) specializations that occur in the *wrong* class scope. This is one of the problems behind <rdar://problem/9676205>. | |
86180ee When we parse something that looks like a templated friend tag but actually just has an extraneous 'template<>' header, strip off the 'template<>' header and treat it as a normal friend tag. Fixes PR10660 / <rdar://problem/9958322>. | |
6406f91 Further refine the diagnostic categories for ARC diagnostics. Addresses <rdar://problem/10245086>. | |
52441ce Add -Wc++98-compat warning for enumerations in nested name specifiers. | |
13e0b77 FixIt insert 'static' for anonymous unions at global or namespace scope. | |
6d4eb70 Add a fixit to remove storage specifiers on anonymous enums. | |
365508c Fix all 80 col violations in include/clang/Basic, plus any trailing whitespace in the files I'm touching anyway. | |
dc72776 Make the -verify bits in this test actually test something, and fix a few cases where the test didn't work. | |
022474a Define __STDC__ in -fms-extensions mode; defining it is consistent with gcc, and not defining it causes the system headers on multiple platforms to break with -fms-extensions because they assume the lack of a definition of __STDC__ implies a traditional (pre-ANSI) preprocessor. PR10324 and <rdar://problem/10313809> . | |
54ed6c2 80 cols (one I created in my last commit, plus a bunch of others that were already there) | |
b2a6279 Don't provide errors for anonymous unions when they're actually anonymous classes. | |
4c4c2bb Improve the diagnostic when a comma ends up at the end of a declarator group instead of a semicolon (as sometimes happens during refactorings). When such a comma is seen at the end of a line, and is followed by something which can't possibly be a declarator (or even something which might be a plausible typo for a declarator), suggest that a semicolon was intended. | |
3da576c -Wc++98-compat: warn on nontrivial types used in unions and anonymous structs. | |
e98282d Only warn at self-initialization if some later use is always uninitialized. | |
763ab67 -Wc++98-compat: diagnose if a reference is bound to a prvalue which does not have an unambiguous accessible copying constructor; this is ill-formed in C++98. | |
39d3196 Extend -Wno-bind-to-temporary-copy and -Wno-{unnamed,local}-type-template-args to disable the corresponding -Wc++98-compat warnings in addition to the C++11 extension warnings, so that people already using these flags can switch to C++11 mode and turn on -Wc++98-compat. | |
72cd7a0 Rename SPECIAL_TYPE_jmp_buf and SPECIAL_TYPE_sigjmp_buf to follow the convention of SPECIAL_TYPE*. | |
a30cfe5 Introduce basic support for parsing module map files. | |
b1ce730 When importing an ObjCInterfaceDecl, ensure that superclass information is imported before validating it. This fixes spurious "incompatible superclasses" errors in LLDB. | |
e97ac9e Tweak CXLoadedDiagnosticSetImpl::makeString() to include an extra null character, and change the creation of the FixIT's string to again just rely on this string (instead of duplicating it when calling createCXString). | |
8f6457e Silence compiler warning. | |
f64699e Constant expression evalation: const_cast support. | |
5a5dcdc Search for libstdc++.dylib in llvm-gcc's files on darwin10. rdar://10419079 | |
40f6975 libclang/CXLoadedDiagnostic.cpp: Work around not to miss the string terminator on fixit. | |
6660ae6 Don't recurse so deep in this test, pending APValue rework to further reduce the stack pressure. | |
cd99b07 Reduce the constexpr stack pressure somewhat. Hopefully this will be enough to please the buildbots. | |
6edae59 test/Misc/serialized-diags.c: Tweak FileCheck expressions to be tolerant to DOSish output. | |
59efe26 Constant expression evaluation: support for constexpr member functions. This reinstates r144273; a combination of r144333's fix for NoOp rvalue-to-lvalue casts and some corresponding changes here resolve the regression which that caused. | |
cc1af78 Place 'argument unused during compilation' under a -W flag. Fixes <rdar://problem/10403653>. | |
1cd76e8 Don't apply NRVO to over-aligned variables. The caller only guarantees alignment up to the ABI alignment of the return type. | |
538773c Be sure to insulate block literals from any cleanups in their enclosing full-expressions. It is somewhat amazing that this hasn't come up as a problem before. | |
d7df785 Add Linux multiarch include directories for mips/mipsel. Patch from Simon Atanasyan. | |
ab336c1 include/clang-c/Index.h: Update CINDEX_LINKAGE on 6 decls. Corresponds to libclang.exports in r144343 | |
8ac2c66 Make sure that restrict-qualifying an array actually adds a restrict qualifier. PR11354. (operator bool() is evil!) | |
a7e8a83 [serialized diagnostics]: add test cases for serialized diagnostics, including a test case for no issues, multiple issues, and a single issue. Along the way, tweak c-index-test -read-diagnostics output so it is easier to tell what diagnostics are child diagnostics. | |
8e23806 I predict that HeaderSearch will need the ability to generate diagnostics in the future. Make it so. | |
dd93c59 [libclang] Simplify the indexing API. | |
ba49103 Add a const version of ObjCClassDecl::getForwardDecl, no functionality change. | |
ef04ecf Move "Unqualified lookup into dependent bases of class templates" Microsoft specific behavior from -fms-extensions to -fms-compatibility. | |
9e9a3e6 [static analyzer] be more specific when running removeDeadBindings. Instead of seeing if the predecessor node was a non-StmtPoint, check if it is specifically a BlockEntrance node. | |
36f6e30 Add top-level driver option '--serialize-diagnostics' for serialize compiler diagnostics to a file. | |
acdfa4d Implicit casts from rvalue to lvalue are not meaningful. Don't accidentally add them when performing a const conversion on the implicit object argument for a member operator call on an rvalue. | |
ce117a7 [static analyzer]: only call RemoveDeadBindings() when analyzing non-Expr stmts, entering a basic block, or analyzing non-consumed expressions. This sigificantly speeds up analysis time, and reduces analysis time down to 27% less than before we linearized the CFG. | |
b6d7114 Add invariant.load metadata to loads from selector references. Allows these loads to later be moved/combined in the optimizer. Fixes <rdar://problem/6027699> | |
a60279d Add missing dependency for shared library build to CMakeLists. Patch by Johannes Obermayr. | |
6142ca7 Revert r144273. It causes clang self-host build failure. | |
6eb29d2 serialized diagnostics: simplify code. | |
6f103ba Whenever explicitly activating or deactivating a cleanup, we need to provide a 'dominating IP' which is guaranteed to dominate the (de)activation point but which cannot be avoided along any execution path from the (de)activation point to the push-point of the cleanup. Using the entry block is bad mojo. | |
3fe0aad include/clang/AST/APValue.h: Try to fix *900* of cast-qual warnings by g++. | |
a4ca95a c-index-test.c: Fix a comment style. /* It is C source. */ | |
6c95787 Constant expression evaluation: support for constexpr member functions. | |
9190943 c-index-test.c: Fix syntax. It is C source. | |
b99785b Fix a subtle bug with cleanups: when activating a previously-inactive cleanup, not only do we need a flag variable, but we should also force the cleanup to query the flag variable. However, we only need to do this when we're activating in a context that's conditionally executed; otherwise, we may safely assume that the cleanup is dominated by the activation point. | |
c430ef4 PR11148: Fix crash-on-invalid if an invalid member declaration is marked as defaulted or deleted. | |
1532217 serialized diagnostics: implement full deserialization of clang diagnostics via the libclang API. | |
1a343eb Enter the cleanups for a block outside the enclosing full-expression. Naturally they're inactive before we enter the block literal expression. This restores the intended behavior that blocks belong to their enclosing scope. | |
180f479 Constant expression evaluation: support for evaluation of structs and unions of literal types, as well as derived-to-base casts for lvalues and derived-to-virtual-base casts. | |
64b4b43 Removing unused initialization. | |
80ee6e8 There's no good reason to track temporaries in ExprWithCleanups, but it is sometimes useful to track blocks. Do so. Also optimize the storage of these expressions. | |
1445bba Temporary fix for a performance problem Eli spotted. The APValue representation is currently too inefficient to allow us to use it for array initializers, but fortunately we usually don't yet need to evaluate such initializers. | |
7480d96 Reflow lines, remove else-if after returns, rename variable "TydefContext" to "TypedefContext". No functionality change. | |
3472089 Fix some additional x86 intrinsics to use "I" (ICE) markings. Fix *mmintrin.h to take them into account. | |
cb6542f Fix the signature of __sigsetjmp and sigsetjmp. Patch by Dimitry Andric. | |
a8ecd7c Remove unnecessary include. | |
108fb14 objc rewriter: use a more specific name for local variable used in fast enumeration rewrite. // rdar://10415026 | |
f3fb5c5 We don't add ExprWithCleanups to the CFG, and getSVal looks through it, so we should look through it for the live-values analysis as well. | |
c9a2371 Define some built-ins macros on mips32 platform, from Simon Atanasyan! | |
608b402 Update test. | |
a720287 Try to fix an issue on some hosts where the 'lib' in the builtin include path is actually a multilib. | |
ba243b5 Fixing 80 col violations (& removing any trailing whitespace on files I was touching anyway) | |
a8fbc05 Fix 80 cols violations & remove trailing whitespace. | |
7b3819d Reflow one line I missed in previous cleanup commit. No functionality change. | |
d4c100e Minor cleanup, mostly reindenting. Remove one helper function that just called the other helper functions, since we already differentiated the cases it was testing between. No functionality change. | |
d936d9d Fix an issue that Duncan discovered on a specific (no longer current) version of Ubuntu. It has a very broken multiarch configuration, and so we need special logic to handle it correctly. Fixing and testing this uncovered a few other trivial issues with the logic that are fixed as well. | |
a59e4b7 Emit the copy and dipose helpers for ARC __strong block-typed __block variables using objc_retainBlock and objc_dispose. Previously we were using _Block_object_assign and _Block_object_destroy with BLOCK_BYREF_CALLER, which causes the runtime to completely ignore the retain and release. In most cases this doesn't cause catastrophe because the retain/release are balanced and because the block in the variable was copied upon assignment there. However, the stack copy of the variable will be released when it goes out of scope, which is a problem if that value was released due to an assignment to the heap copy. Similarly, a leak can occur if the variable is assigned after the copy to the heap. | |
d3891e9 Workaround for compilers that don't implement C++ DR45, from Tom Honermann! | |
b31dd8f Put ext_offsetof_extended_field_designator under the warning flag -Wextended-offsetof, from Jeff Walden! | |
6b18e74 Don't crash when transforming an ill-formed pseudo-destructor expression. Fixes PR11339. | |
3382f65 Extract the blocks-related ARC tests into their own file. | |
6ef9209 Introduce proper spacing after the Objective-C parameter qualifiers (bycopy, inout, etc.). Fixes <rdar://problem/10402900>. | |
3d75ca8 Constant expression evaluation: support for default arguments. | |
790c372 Remove extra ';' | |
87429a0 [PCH] Fix reading from PCH of diagnostic pragmas. | |
75d0fe7 Add "I" (ICE) annotations onto a few more x86 intrinsics. | |
ccc9e76 Don't crash on invalid objc code. | |
8b08eb3 [arcmt] Take into account that all properties are strong-by-default now and fix the test. | |
a5493f8 Bind function "r-values" as l-values when emitting them as opaque values. Silly C type system. | |
90f7b62 objc: Don't crash on missing @interface decl. // rdar://10415026 | |
8d4a515 [analyzer] Testing: test with all the non-experimental checker packages. | |
86f14ab [analyzer] Testing: support for regenerate reference output | |
af9b5e9 [arcmt] Now that readonly properties are strong-by-default, do not add redundant 'strong'. | |
3f54d48 Fix comment typos | |
f21a92d objc-arc: 'readonly' property of retainable object type is strong by default too. // rdar://10410903 | |
4c11772 Sort contents of exports file. No functionality change. | |
0b69aa8 serialized diagnostics: serialize the version info in a separate meta block. | |
8d0ffc7 [analyzer] Remove redundant check from DivZeroChecker | |
a7a2564 [analyzer] Testing: Display the number of reported differences in the main log. | |
4219c66 This test isn't portable to non-x86 platforms; specify a triple. | |
5b0c519 Mark the overloaded atomic builtins as having custom type checking, which they do. This avoids all of the default argument promotions that we (1) don't want, and (2) undo during that custom type checking, and makes sure that we don't run into trouble during template instantiation. Fixes PR11320. | |
5bea4f6 Misc fixes for clang driver on Mips Linux. Patch by Simon Atanasyan. | |
d9d137e From Vassil Vassilev: add checks for removing Decls for more use cases. | |
c44bc2d Add a default system include of '/include'. This isn't particularly useful when using Clang as a system-compiler, but its harmless. When using Clang as a cross-compiler, this can be very handy as quite a few toolchains ship their libc headers here rather than under '/usr/include'. | |
ae7c25d [arcmt] Now that properties are strong by default, avoid adding redundant '(strong)' property attribute. | |
263d667 [arcmt] NSViewController does not support weak. | |
6f9f03e Check pointer types for arguments of Neon load/store macros. rdar://9958031 | |
355130f Misc fixes to pcmp*stri. | |
9da2352 Fix the layout of vb-tables and vf-tables in the MS C++ ABI. Based on work by Dmitry Sokolov! | |
83084c8 lib/CodeGen/CGBuiltin.cpp: Tweak the identifier "Type" to appease msvc. | |
63cf68a TypePrinter: print OpenCL address space names. Patch by Richard Membarth, test case by myself. | |
13330c4 DeclPrinter: print the declaration's storage class specifier as written, instead of the resolved storage class, which might not be legal to specify on the declaration (such as out-of-line definitions of static class members in C++, and __local variables in OpenCL). Initial patch by Richard Membarth. | |
aa9aa3b Some tests missed from r144056. | |
7cfd7fe [arcmt] When we already removed a __weak, don't try to change it to __unsafe_unretained later on, or we will end up with a redundant '__unsafe_unretained'. | |
1aa1721 Revert r143972, which didn't actually compile under -Wnon-virtual-dtor. | |
db1822c Fix a cluster of related issues involving value-dependence and constant expression evaluation: - When folding a non-value-dependent expression, we may try to use the initializer of a value-dependent variable. If that happens, give up. - In C++98, actually check that a const, non-volatile DeclRefExpr inside an ICE is of integral or enumeration type (a reference isn't OK!) - In C++11, DeclRefExprs for objects of const literal type initialized with value-dependent expressions are themselves value-dependent. - So are references initialized with value-dependent expressions (though this case is missing from the C++11 standard, along with many others). | |
da95f73 Clean up type flags for overloaded Neon builtins. No functional change. | |
bc05f57 [analyzer] Testing infrastructure: flush the output between projects. | |
dc4df51 There are some crazy cases that LookupMethodInReceiverType doesn't duplicate, but they all surface as implicit properties. It's also a useful optimization to not duplicate the implicit getter lookup. So, trust the getter lookup that was already done in these cases. | |
1a8a8cb [analyzer] Make sure scan-build catches all clang failures. | |
66f8571 constexpr: static data members declared constexpr are required to have an initializer; all other constexpr variables are merely required to be initialized. In particular, a user-provided constexpr default constructor can be used for such initialization. | |
45fa560 When we notice that a member function is defined with "= delete" or "= default", make a note of which is used when creating the initial declaration. Previously, we would wait until later to handle default/delete as a definition, but this is too late: when adding the declaration, we already treated the declaration as "user-provided" when in fact it was merely "user-declared". | |
cf6ba2e Whitespace. | |
55ccbd5 Tablegenify -g options. | |
8da270e Remove test with int128 printing since it breaks on some platforms. | |
21adcf3 Add missing part of test | |
66e8700 ASTConsumer::handleTopLevelDecl will end up getting called for function template instantiations. Fixes <rdar://problem/10398005> / PR11312. | |
a33849b [arcmt] Fix handling NSMakeCollectable inside an objc method. | |
b0e1e12 [arcmt] In GC, handle (assign) @properties. | |
bf8455c [arcmt] Map property decls to their GC attributes. | |
11cbe2a Add support for printing integer literals of type short, unsigned short, __int128_t and __uint128_t. Short and unsigned short integer literals support is only to work around a crasher as reported in PR11179 and will be removed once Clang no longer builds short integer literals. | |
12192cf [arcmt] In GC, change '__weak' -> '__unsafe_unretained' when applied to objects of classes that don't support ARC weak | |
5cad822 When applying ARC __weak to a non-objc pointer, do not give error that __weak is unsupported by the deployment target, since it is going to be ignored anyway. | |
8cacea5 Better fix for -Wnon-virtual-dtor | |
e113477 Remove duplicate listings for core.DivideZero | |
2c1227c Drastically simplify the mapping from the declaration corresponding to the injected-class-name of a class (or class template) to the declaration that results from substituting the given template arguments. Previously, we would actually perform a substitution into the injected-class-name type and then retrieve the resulting declaration. However, in certain, rare circumstances involving deeply-nested member templates, we would get the wrong substitution arguments. | |
efaa93a Tighten up the conditions under which we consider ourselves to be entering the context of a nested-name-specifier. Fixes <rdar://problem/10397846>. | |
90f93d4 Appease -Wnon-virtual-dtor | |
f2db04c Fix an unsafe use of Twine. | |
cc5d4f6 Constant expression evaluation: support for arrays. | |
0764308 Rip out one of the features I added for the driver-include-management. We don't actually need a separate flag for non-sysrooted paths as the driver has to manage the sysroot anyways. The driver is not infrequently adding paths to the header search based on their existence on the filesystem. For that, it has to add the sysroot anyways, we should pass it on down to CC1 already joined. More importantly, the driver cannot in all cases distinguish between sysrooted paths and paths that are relative to the Clang binary's installation directory. Essentially, we always need to ignore the system root for these internal header search options. It turns out in most of the places we were already providing the system root in the driver, and then another one in CC1 so this fixes several bugs. | |
eb35ffc Fix Linux libc++ usage. Somehow this slipped through during the port. | |
38dce9b Fix 32-bit build bots and remove some casting-away-const warnings. | |
19ff92b Colorize. (this is consistent with the coloring in diagnostics.html, but perhaps that's a bit out of date because it doesn't look like current clang behavior) | |
2b73517 [analyzer] Add the Checker Developer Manual to the menu. It's still under construction but has enough info to be useful. | |
464ef2e [analyzer] Add overview and checker registration to the checker developer manual. | |
7864435 Rip out CK_GetObjCProperty. | |
9a17a68 Constant expression evaluation: preserve subobject designator when flattening a core constant value down to an APValue. | |
db45806 Rip the ObjCPropertyRef l-value kind out of IR-generation. | |
6796fc1 Remove duplicate word & unnecessary conditional. | |
921da24 Move tests to the appropriate directory to match the spec hierarchy. | |
cd68992 Allow constexpr variables' initializers to be folded in C++11 mode. This partially undoes the revert in r143491, but does not introduce any new instances of the underlying issue (which is not yet fixed) in code which does not use the 'constexpr' keyword. | |
b37fe61 Begin lifting some of the one-off checking logic into generic helper routines on the base toolchain class. | |
19347ed Move the GCC installation detection logic down into the Generic_GCC toolchain. The logic is mostly generic already, and where possible should be made more generic. Also, it has no impact other than to expose a set of methods which each toolchain can then query to setup their desired configuration. These should be available to toolchains beyond just Linux. | |
089b272 Remove an old OpenSUSE hack that is no longer needed -- it is exactly the same as a directory added further down in the new logic. | |
d1f7306 Remove the HasMultilib check. It was essentially useless. The driver now looks for evidence of a multilib installation, and adds the appropriate bits to the search paths. | |
39e0203 Correcting grammar. | |
90c7892 Use StringRef's case transformation methods. | |
280b4ad [arcmt] In GC, error for __strong/__weak on non-objc pointers. | |
17ac319 [arcmt] In GC, clear redundant __strong's. | |
dbbdec9 Make sure when setting AttributesAsWritten of a property that they do not include ownership qualifiers from the type. | |
1d5fb8f [arcmt] Make PropertiesRewriter::getPropertyType return the unqualified type. | |
f38fa73 [arcmt] Collect all the places where GC attributes __strong/__weak occur. | |
b0d5db1 [arcmt] Refactor PropertiesRewriter to use MigrationContext. | |
fc8205e test/Driver/crash-cleanup.c: Remove "XFAIL: mingw32" corresponding to r143876. | |
7902d76 The version objects need to actually store the version strings; they aren't guaranteed to live long enough otherwise. | |
abaa1d7 Throw the switch and move all Linux header search over to the GCC detection system that is providing the library paths and crt object files. | |
6a21e65 Add a missing triple spotted by inspecting and testing of the include path triples. Also order the 32-bit triples a bit more reasonably. | |
acf9e82 Unbreak gcc build. | |
0e29dbb Lift the GCCVersion type into the header file and start persisting it in the detected GCC installation. This allows us to expose another aspect of what we detected: the GCC version. This will be used shortly. | |
4f80e00 Make format string 64 bit safe. | |
fa13459 Switch some of these interfaces from std::string to StringRef and Twine. This will facilitate further use and recombinations of them. | |
00c2877 test/Driver/crash-cleanup.c: Mark as XFAIL: mingw32, for investigating. | |
4b9c2d2 Change the AST representation of operations on Objective-C property references to use a new PseudoObjectExpr expression which pairs a syntactic form of the expression with a set of semantic expressions implementing it. This should significantly reduce the complexity required elsewhere in the compiler to deal with these kinds of expressions (e.g. IR generation's special l-value kind, the static analyzer's Message abstraction), at the lower cost of specifically dealing with the odd AST structure of these expressions. It should also greatly simplify efforts to implement similar language features in the future, most notably Managed C++'s properties and indexed properties. | |
a463089 Take a better approach to detecting and selecting multiarch include directories. This way we stop at the first multiarch directory found on the system. This achieves the real intended result of pruning non-existent directories. | |
0170fff Revert r143864, as the problem I was actually looking at can be solved a better way. The more I think about it the more worried I am that this hammer is simply too large. We should only be reaching out to the filesystem when doing interesting "detection" things, not gratuitously. | |
5ffa3ee Start pruning down the set of flags passed to CC1 for header search. This cleans up the CC1 invocations, and reduces the overhead there. We're still hammering the filesystem looking for the C++ standard libraries though. | |
5b898cc This test was assuming that /usr/include was in the system header search path. That assumption should never have been true, but it was until I fixed it. Now that its fixed, add a triple here to get correct behavior even on Windows. | |
997a1c0 XFAIL crash-cleanup.c only on Darwin and msys. | |
de7a500 XFAIL test until Peter has a chance to investigate. | |
b84575e Fixing -g break caused by a dead reference to a temporary introduced in r143732. | |
54db68b Add the depfile as a result file so that it is deleted if we crash, and prevent the diagnostic preprocessor run from writing a depfile. | |
df0a4c3 Switch Lit to directly query the driver for the builtin inclue path. Thanks to Peter for pointing out how easy this is to do. I'm now much happier with this solution. | |
cb2e00f Enhance the GCC version parsing and comparison logic to handle some more edge cases and have better behavior. Specifically, we should actually prefer the general '4.6' version string over the '4.6.1' string, as '4.6.2' should be able to replace it without breaking rpaths or any other place that these paths have been embedded. Debian-based distributions are already using a path structure with symlinks to achieve in-place upgrades for patch versions. Now our parsing reflects this and we select the shorter paths instead of the longer paths. | |
69cd4aa Remove a pointless member. I have no idea why I made this not a local variable to begin with... As I'm planning to add include root information to this object, this would have caused confusion. It didn't even *actually* hold the include root by the time we were done with it. | |
ca28a89 Remove a no-longer needed helper function. Thanks for implementing this Michael! | |
f13b13e Move the GCC installation detection helper a member of the Linux toolchain instead of merely using it in the constructor. This will allow us to query it when building include paths as well as the file search paths built in the constructor. I've lifted as little of it as I could into the header file. | |
258883b Remove support for Gentoo subversion-ebuild installed llvm-gcc libstdc++ headers. As llvm-gcc is dead, and I have no idea if this ever really worked, I think it's time for it to go. More importantly, it makes it harder to generalize the include search logic. If someone really wants these to work, they can set the CPLUS_INCLUDE_PATH environment variable. | |
b40fd3f Teach lit to ask the Clang it is running what version string to use rather than presuming that it is 3.0. This is extra important as the version should be 3.1, but CMake hasn't caught up with the times. That'll be fixed in a separate commit. | |
7d7e9f9 Move the Linux header searching from the Frontend to the Driver. This is the first (and diff-noisiest) step to making Linux header searching tremendously more principled and less brittle. Note that this step should have essentially no functional impact. We still search the exact same set of paths in the exact same order. The only change here is where the code implementing such a search lives. | |
6fdebee Try to reduce the nastiness that creeps in through Windows.h a bit. | |
5183b3d [driver] If we're only linking, don't warn about unused arguments which are obviously only used during compilation. rdar://10386708 | |
292da56 Compute the path properly on different platforms. Specifically, compute it the exact same way that the Clang code computes this path. | |
0cad538 Change this test to reflect the state we are moving in. The Clang builtin headers are no longer going to receive the old 'implicit extern "C" block' semantics. This hint is actually ignored by both Clang and GCC at this point, and Clang's own builtin headers can simply be changed if there is any issue with this. Clang should be free to include these however it wants, and so shorter and simpler is better. | |
129d924 Switch these two tests to use the Clang driver instead of CC1. They want to do "realistic" includes, and so need the header search logic now in the driver. This in turn requires switching the CC1 options to the actual driver options, and passing -Xclang where there is no analogy. | |
044a790c Teach Lit to pass the CC1 invocation the builtin include directory. This is a pretty gross hack, but I don't have any significantly cleaner ideas for this. There are several things obviously gross about it: | |
8398bdb Fix markup weirdness. | |
103accc Fix a significant oversight in my move of MSVC includes to the driver: actually manage the builtin header file includes as well as the system ones. | |
e4ebbf7 Now that we have a portable 64 bit format string use it to make this simple again. | |
ac2bc4d Add two flags to the CC1 layer that I was hoping to avoid. We need to encode the *exact* semantics which the header search paths internally built by the Frontend layer have had, which is both non-user-provided, and at times adding the implicit extern "C" bit to the directory entry. | |
6bbecd5 Tweak LookThroughStmt() in LiveVariables to properly look through alternativing ParenExprs and OpaqueValueExprs. Thanks to Anna and Argiris for iterating on this function. My original patch embarssingly didn't even pass the Clang tests. | |
ef911a1 LookThroughStmt GM release. | |
51e4e1e LookThroughStmt v4.6.3 | |
74b5edd Simplify LookThroughStmt in LiveVariables.cpp | |
32bae37 Fix vector macros to correctly check argument types. <rdar://problem/10261670> | |
83ea3bd tests: Remove some stray and unused -cc1 flags. These tests appear to be written to go through the driver. | |
38f0b5a Another correction to the LiveVariables commit (r143767, r143780). Make test/Analysis/misc-ps.c test pass. | |
e1e7367 [analyzer] Relax the cmp criteria for analyzer reports. | |
0e5df1a [analyzer] Add the list of available checkers to the website. | |
de2a6a8 [analyzer] There should be a space between "expect" and "only" | |
45518b1 [analyzer] Add support for testing with individual preprocessed files. | |
5112fc4 Fix infinite loop in LiveVariables due to a misplaced 'break' (it would break out of switch statement, not the while loop). | |
66042b3 [libclang] For "c-index-test -index-file", print out the names of the callbacks. | |
79d481a On Linux, enable the gold plugin if we are using LTO. | |
a160671 Correct the grammar for __builtin_astype. | |
96dcade serialized diagnostics: include FixIt information in serialized diagnostics. | |
148735e Move definitions of SizeType and PtrDiffType to Mips32TargetInfoBase. | |
cb3194f Fix test so that it XFAILs consistently. | |
9cef887 Fix MSVC build. | |
22508f4 Fix one last place where we weren't writing into a string literal consistently. | |
8a5d0ae Fix incorrect format string in debug output. | |
ddaec0d Teach LiveVariables to look through OpaqueValueExprs for extending Stmt liveness. | |
6a9065a Per discussion with John McCall, don't add OpaqueValueExprs to the CFG. | |
0d34e6e serialized diagnostics: pull emission of filenames into diagnostic block. | |
3baf63d serialized diagnostics: pull emission of diagnostic flag string into diagnostics block. | |
0dbadc4 Serialized diagnostics: pull category name serialization into diagnostic blocks. The goal is to remove BLOCK_STRINGS so that the bitcode file can potentially be streamed. | |
2a20b4f serialized diagnostics: emit source ranges. | |
fdd0ced Move definition of record/block IDs for serialized diagnostics to public header. | |
069f9c2 Serialized diagnostics: encode a 24 bit version number as part of the "magic number" of serialized diagnostics. | |
45d9275 serialized diagnostics: unique warning strings when emitting serialized diagnostics. | |
59b6161 Serialized diagnostics: serialize "notes" as sub diagnostics of warnings and errors. | |
28eac52 Also include file modification time and size in output of SerializedDiagnosticPrinter. | |
fcf28b2 [arcmt] Fix an assertion hit in rdar://10336125; a bit too complicated to reduce. | |
ca23419 Begin the migration of header search logic to the driver, starting with Windows. There are still FIXMEs and lots of problems with this code. Some of them will be addressed shortly by my follow-up patches, but most are going to wait until we isolate this code and can fix it properly. This version should be no worse than what we had before. | |
ab9fcd0 Switch the C++ include interface in the ToolChain to use the same naming as the system include interface before I start adding implementations of it to individual ToolChain implementations. | |
a246d27 Check for invalid after calling getSLocEntry, for safety. | |
1fe4203 [arcmt] In GC, error out when there is a call that returns a pointer to GC managed non-objc object memory. | |
e71202e In ARC, when applying an ownership to a non-objc pointer, instead of ignoring it create an attributed type with same type as the original type. | |
033be8b Enable -flimit-debug-info by default. Now, clang lazily emits debug info for structs. Original behavior can be restored using -fno-limit-debug-info. | |
2875bda [driver] Don't blindly accept all -g options. rdar://10383444 | |
03ea52f Revert r143551. It is causing g++.dg/template/crash52.C test failure. | |
3b25216 objc: fixed enum type is supported in objc mode. Fixes a bug where enumerator type is not this fixed type. // rdar://10381507 | |
545d1bb Clean up C++11 constant expression testing. | |
e71eb23 Add new test. | |
c915bc9 Add new test. | |
e7ef855 [arcmt] For GC, cleanup and turn -finalize to -dealloc. | |
81eecde [arcmt] In GC, error for use of CFMakeCollectable because it will leak the object that it receives in ARC. | |
0d579b6 In C++ keep unavailable function calls in the AST, like in C/ObjC. | |
e0ac745 [arcmt] In GC, transform NSMakeCollectable to CFBridgingRelease. | |
92d3dda Remove unused variables. | |
a461442 Sink the strange '-stdlib=...' flag handling into the C++ include handling logic of the generic ToolChain. This flag, despite its name, has *nothing* to do with the GCC flag '-nostdlib' that relates (exclusively) to the linking behavior. It is a most unfortunate name in that regard... | |
7ffa032 Sink the handling of -fobjc-arc-cxxlib to live with the other -fobjc-arc implementation in the driver. This cleans up the signature and semantics of the include flag adding component of the toolchain. Another step to ready it for holding all the InitHeaderSearch logic. | |
b5870e7 Add a FIXME to cleanup the CPATH handling. It's currently burried with the rest of the mess in InitHeaderSearch.cpp. We could hoist it into the driver profitably, removing more noise from the driver -> frontend communication. | |
88491fc Add a system include management interface to the toolchain, and call it and the C++ include management routine from the proper place when forming preprocessor options in the driver. This is the first step to teaching the driver to manage all of the header search paths. Currently, these methods remain just stubs in the abstract toolchain. Subsequent patches will flesh them out with implementations for various toolchains based on the current code in InitHeaderSearch.cpp. | |
69c2c50 Constant expression evaluation: refactor to start the groundwork for coping with initializations which refer indirectly to elements of the object being initialized. | |
0a3bdb6 Constant expression evaluation: track the manner in which an lvalue was written, to allow us to implement the C++11 rule that a non-active union member can't be read, and use it to implement subobject access for string literals. | |
74f4634 Constant expression evaluation: although we don't know whether a literal will be at the same address as another object, we do know it won't alias a null pointer. | |
49cf884 In the AST dump, add a space between the type and value for CharacterLiteral. | |
b49d5a6 Use a single integer type for a sub-doubleword part of a byval structure. | |
1bb94a4 Fix alignment on alloca's for parameters using ABIArgInfo::Expand. | |
05272a6 Parse the warning options twice. The first pass sets diagnostic state, while the second pass reports warnings/errors. This has the effect that we follow the more canonical "last option wins" paradigm when there are conflicting options. rdar://10383776 | |
27368f9 After resetting the diagnostic state, set the number of warning occurring in the preamble. | |
ddfb8d1 Fix the alignment on scalar parameter variables so that it matches what the AST thinks it should be. Per report on cfe-dev. | |
e6825d3 [libclang] Fix crash when a #pragma diagnostic is included in the preamble. | |
2c62864 Force test to use the non-fragile ABI | |
e397bf1 [libclang] Move CursorVisitor to its own header. | |
ea0e4e8 [libclang] Make sure pointing inside the #include of the fields will return the struct. | |
ba98617 [libclang] Use CursorVisitor::Visit instead of invoking the visitor directly. | |
dc35aac [libclang] Add a test for "targeting" a field inside an #include that only contains fields. | |
f3c0286 Extend IsSimplyAccessible to check for Objective-C instance variable accessibility. Fixes <rdar://problem/3727335>. | |
8a0ace6 Fix grammaro | |
27c72d8 Teach the ASTImporter to import DefinitionData bits. | |
a885dce Class can't be null in this context | |
17015ef Refactor Sema::IsSimplyAccessible slightly, to work on a DeclContext rather than a class | |
fb35e8f When we're checking a friend function template in an out-of-line class definition, we may not have a scope corresponding to the namespace where that friend function template actually lives. Work around this issue by faking up a scope with the appropriate DeclContext. | |
b4efaa0 [libclang] Add missing return in clang_getExpansionLocation that resulted in that function always returning a null file/line/column. | |
dfb332d [libclang] Add infrastructure to be able to only deserialize decls in a file region and use it for clang_getCursor. | |
dcaca01 [libclang] For c-index-test disable caching of code completion results if the CINDEXTEST_COMPLETION_NO_CACHING environment variable is present. | |
9030693 Do not add "byval" attribute to records with non-trivial copy constructors and destructors in the DefaultABIInfo. | |
25270b6 Add a printing policy flag to suppress printing "<anonymous>::" prior to types. Enable this flag for code completion, where knowing whether something is in an anonymous or inline namespace is actually not useful, since you don't have to type it anyway. Fixes <rdar://problem/10208818>. | |
b551dd3 Set MinABIStackAlignInBytes to 8 if ABI is N32/64. | |
d5a257f Convert the type of a structure passed by value if it has double precision fields in order to ease handling of such structures in backend. | |
3dd0f76 Test code completion for constructor initializers within the class definition. This already worked; <rdar://problem/10208871>. | |
c0e3b66 Return function results whose size is smaller than 128-bits in registers if ABI is N32/64. | |
caf1f26 Use native endianness for writing out character escapes to the result buffer for string literal parsing. No functional change on little-endian architectures; should fix test failures on PPC. | |
ddb2147 Don't build member initializers for zero-length or incomplete arrays, and don't try to destroy them, either. Fixes <rdar://problem/10228639>. | |
c637d73 back out changes in r143399 and r143475. rvale-references are captured by reference in blocks. // rdar://9971124. | |
3c24cab Don't encourage bug reports to the Clang mailing list. We have a bug report link for that. | |
ce50c55 In addition to dumping preprocessed source, dump a script with the command line arguments that caused clang to crash. rdar://8314451 | |
21a2516 Fix various minor issues find via unreachable code warnings, from Ahmed Charles! | |
5fa3f13 [analyzer] Tweak the test script | |
27e66ad Add the newest Gentoo GCC version based on the reported installed version in PR11298. | |
d67fc49 [analyzer] Start writing Checker Developer Manual. | |
0b1beb7 Drastically simplify the mapping from the declaration corresponding to the injected-class-name of a class (or class template) to the declaration that results from substituting the given template arguments. Previously, we would actually perform a substitution into the injected-class-name type and then retrieve the resulting declaration. However, in certain, rare circumstances involving deeply-nested member templates, we would get the wrong substitution arguments. | |
38738fc Use StringLiteral::getBytes(), not StringLiteral::getString(), when profiling the expression, so that it works for non-UTF8 strings. | |
b09a33c Fixing some dead links. Patch by Jean-Daniel Dupas! | |
2eba859 Remove virtually empty file. | |
45b636a Add colors to the C++11 status page. | |
591ff15 Invoke the Darwin assembler with -g instead of --gdwarf2. | |
d4e85fa Update the CMake build for clang-tblgen to reflect that it directly depends on the Support library rather than relying on TableGen's transitive dependency. | |
3b694fa Check for homogeneous aggregate return values with ARM's AAPCS-VFP ABI. | |
19bda3a Add an option to emulate the strange Apple gcc behavior of #pragma pack. | |
48a98c7 objc: warn if a readonly property has a setter attribute too. // rdar://10357768 | |
6800ba6 [analyzer] Make sink attribute part of the node profile. | |
2d950b1 [analyzer] Fix PR11282 - an assert in markAsSink | |
6889679 [analyzer] Make sure the child builder use temporary destination sets | |
cdcc653 [analyzer] BranchNodeBuilder should not generate autotransitions. | |
a2a8603 [analyzer] CheckerContext::getPredecessor() cleanup | |
6706e97 [analyzer] Remove the CheckerContext's destructor. | |
d22718c Add missing export. Spotted by Leandro Melo. | |
5d8419c When we run into a constructor or destructor that is defined in the wrong class, make sure to drop it immediately; we don't want that constructor to be available within the DeclContext. Fixes <rdar://problem/9677163>. | |
0b4072f Fix r143463 to test what it was intended to test. | |
ea9f54a When we see an out-of-line definition of a member class template that does not match any declaration in the class (or class template), be sure to mark it as invalid. Fixes PR10924 / <rdar://problem/10119422>. | |
5d8b954 rename getHostTriple into getDefaultTargetTriple in clang | |
65ac598 When constant-folding, don't look at the initializer of a global const variable if it's marked as weak: that definition may not end up being used. | |
344d78d Temporarily disable lvalue-to-rvalue conversions on const pointers while an apparent miscompile triggered by this is investigated. This is essentially a revert of r143298. | |
ef84af9 Do not create sub_dirs. This breaks the CSS links for the website and produces really long URLS. | |
d4e7e22 [libclang] Fix non-darwin buildbots. | |
0505321 Find copy constructor needed to copy an rvalue reference c++ object into block descriptor. // rdar://9971124 | |
2eb0ce3 Silence a warning in -Asserts builds | |
0bfaf06 Downgrade err_iboutlet_object_type to a warning. It was breaking a bunch of code. We will reconsider promoting it back to an error later. | |
62ba9f6 Put a reference of the ASTReader in the ASTUnit. | |
87ec9c2 [libclang] For a class extension, give it a unique USR but for any property or ivar it contains give it a USR based on its semantic context, which is the interface. | |
177dce7 Implement C++11 'constexpr calls must return constant expressions' rule, and perform the code simplifications this rule allows. | |
cc7a648 Enable function call and some overload resolution with parameters of aggregate class type and initializer list arguments. | |
885011b Correct test for additional comment line. | |
55a7ba0 Mark test as requiring x86 backend. | |
8bb6e9e Don't depend on system includes in test. | |
d9f5b33 Make test work with ARM C++ ABI. | |
f12e1b9 Tests for UTF-8 encoding in strings in source code. Patch by Seth Cantrell. | |
64f45a2 Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving treating wide strings as a series of bytes. | |
f74a458 Perform proper conversion for strings encoded in the source file as UTF-8. (For now, we are assuming the source character set is always UTF-8; this can be easily extended if necessary.) | |
436ecd9 Move ConvertUTF8toUTF32 out of #if 0, in preparation for a patch which needs it. | |
f358c8a Add LinkAllPasses to clang | |
172b221 Add __has_feature(cxx_raw_string_literals) and __has_feature(cxx_unicode_literals), from Michel Morin! | |
f695a69 Add __has_feature(cxx_defaulted_functions) for querying "defaulted functions", from Michel Morin! | |
76852c2 Rework the AST for the initializer of a delegating constructor, so that it retains source location information for the type. Aside from general goodness (being able to walk the types described in that information), we now have a proper representation for dependent delegating constructors. Fixes PR10457 (for real). | |
d8c4551 Adds IRGen support for captured rvalue references in blocks. In this case, temporary value is copied into block descriptor as their own copy to work on. // rdar://9971124 | |
c45061b Some minor comment changes in constant-folding comparisons. | |
ffbda40 Don't try to fold comparisons between the address of an object and an arbitrary integer constant. Fixes regression from r143334. | |
51a7d5d [libclang] Tweak internals of CXSourceLocation to allow an alternate implementation if the lowest bit of ptr_data[0] is not 0. This is prep for work on serialized diagnostics. | |
3ddef06 [libclang] Move implementation of functions for manipulation CXSourceLocations and CXSourceRanges into a separate file. | |
1edabbc [libclang] Add CXDiagnosticImpl to represent a super class for the implementation backing a CXDiagnostic. This allows CXStoredDiagnostic to be just one possible implementation of a CXDiagnostic. | |
2fe17fc Revert r143342. Caching of code-completion results was intentionally placed in "reparse" because we don't want to take this performance hit when doing code completion | |
7a420df Add missing lvalue-to-rvalue conversion. | |
6a7c94a Refactoring and test for r143360. Support for array rvalue to pointer decay is needed for C++11, and will follow later. | |
aa97b53 Temporary fix for assert while evaluating array-to-pointer decay on array rvalue. Test and better fix to follow. | |
56892c1 Improve text of a diagnostic. | |
eea6480 In x86_64, when calling an Objective-C method that returns a _Complex long double, make sure to use the objc_msgSend_fp2ret function which ensures that the return value will be {0, 0} if the receiver is nil. | |
f453cb9 Add possibility to specify an include location for createFileIDForMemBuffer(). Useful to set up a virtual include hierarchy, e.g. to order diagnostics for ambiguous overloads from MemoryBuffers. | |
236e0b6 Simplify the set of directories we look for on multiarch systems. I don't have any Debian system with one of these currently, and it seems unlikely for one to show up suddenly. We can add more patterns here if they become necessary. | |
ef0faea Add "just one more" include path to the monstrosity that is our header search logic. The Debian multiarch seems to have completely changed from when these were originally added, and I'd like to remove a bunch of them, but I'll be lazy and delay that until this logic is hoisted into the driver where it belongs. | |
deb73f8 Fix part of PR11223 and probably a few dups as well. This teaches the library search logic to "properly" handle multiarch installations. I've tested this on both Debian unstable and the latest Ubuntu which both use this setup, and this appears to work largely the same way as GCC does. It isn't exactly the same, but it is close enough and more principled in its behavior where it differs. This should resolve any failures to find 'crt1.o' etc on Debian-based Linux distributions. If folks find more cases where we fail, please file bugs and CC me. | |
d1cf3ff Fix the source range for ObjCInterfaces that are forward decls. | |
0922949 Move caching of code-completion results from ASTUnit::Reparse to ASTUnit::CodeComplete, so that it will happen when we are doing code-completion, not reparsing. | |
ef23b60 [PCH] Now that we store the location of a decl outside its record make sure that we keep track of locations of replaced decls as well. | |
9d128d0 [PCH] For ASTReader's FileDeclIDs also associate the Module that the local DeclIDs came from. | |
7186991 Introduce SourceManager::isLocalFileID/isLoadedFileID functions. | |
332cb9b Have the ASTUnit associate the local declarations that get parsed with the file that contains them. | |
e709846 [libclang] Rename VisitIncludedPreprocessingEntries -> VisitIncludedEntities | |
bd552ef C++11 generalized constant expression handling: evaluation support for materialized temporaries. | |
9e36b53 C++11 generalized constant expressions: evaluate equality comparisons between arbitrary pointers, if those pointers don't point to weak objects or literals. | |
ba5d10b cindex.py: Remove more ternary operator + whitespace fixes | |
625b807 C++11 generalized constant expressions: support pointer comparisons where the result is not unspecified. | |
aaf2f36 Turn on the new .file directive when appropriate, instead of turning it off. | |
8198288 clang.py: Remove use of ternary operators | |
58ba8c9 cindex.py: Allow to create a cursor from file/row/column | |
a9ea5df cindex.py: Add File.create_from_name() | |
7993e8a Fix assert on constant expression evaluation of floating point increment. | |
22a7dfe Add support for lazily linking bitcode files (using a new -mlink-bitcode-file flag), and more generally llvm::Modules, before running optimisations. | |
80b32b8 Add support for sse4a and enable it for amdfam10 cpu. | |
5eca37c Fixed CXX struct and class initialization printing to support 'move' type constructors. | |
01c770d Add support for amdfam10 cpu. | |
1a1764b Stop disabling integrated assembler with -static. <rdar://problem/10175391> | |
342f1f8 Don't crash if a GCC binary conditional is used in a constant expression on an integer-cast pointer value. | |
b78c0b6 constexpr evaluation: allow lvalue-to-rvalue conversion on any literal type, not just integers and floating point types. Since we don't support evaluating class types or performing lvalue-to-rvalue conversions on array elements yet, this just means pointer types right now. | |
47a1eed constexpr function substitution: Track the function invocation where an lvalue referring to a constexpr function parameter originated from, and use it to substitute the correct argument and to determine whether such an argument's lifetime has ended. | |
0216df8 Fixed FriendDecl source locations. | |
e7de9b4 Use LIBCLANG_NOTHREADS instead of CINDEXTEST_NOTHREADS inside libclang, so the c-index-test one can be enabled without affecting libclang. | |
51f4708 Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will implicitly perform an lvalue-to-rvalue conversion if used on an lvalue expression. Also improve the documentation of Expr::Evaluate* to indicate which of them will accept expressions with side-effects. | |
7800212 Start work on SerializedDiagnosticPrinter, a new DiagnosticConsumer that serializes out the diagnostics for a given translation unit to a bit code file. This is a WIP. | |
fc2eff5 objc-arc: desugar certain type and improve on diagnostic for ownership qualifier cast which won't work. // rdar://10244607 | |
839046a Add test missed from r143234. | |
fab8d5b [PCH] Sort the file decls by file offset not raw source location. | |
19645d2 [PCH] In ASTWriter::associateDeclWithFile don't bother finding the file loc if we are not interested in the decl. | |
ee591a9 Fix assertion in constant expression evaluation. The LHS of a floating-point binary operator isn't an rvalue if it's an assignment operator. | |
50af19c Move -Wc++11-compat out of -Wall. It causes trouble for clients that define their own "nullptr" class in C++98 and build with -Wall. | |
5aa6dea Give __STDC_VERSION__ the value 201001L when we're in C1x mode. The committee hasn't set a value for __STDC_VERSION__ yet, so this is a placeholder. But at least it's > 199901L. | |
dfca64d [libclang] Introduce use of CINDEXTEST_FAILONERROR environment variable which, if set, will cause c-index-test to return as failed if a compiler error occurred. | |
8c4b47e [libclang] Check for environment variable CINDEXTEST_NOTHREADS in clang_reparseTranslationUnit. | |
407ef9a Make -error-on-deserialized-decl work correctly by correctly delegating to the previous ASTDeserializationListener. | |
6ee5492 [ARC] Do not transfer ARC ownership if the cast is going to result in r-value, in which case the ownership is redundant. Thanks to John for the suggestion. | |
9a8cbc7 Add an alias option for -error-on-deserialized-decl with joined '='. | |
10f3df5 [PCH] Keep track of file-level declarations that are contained by files. | |
d0dccea Initial support for C++11 constexpr function invocation substitution. Using constexpr function arguments outside of their function (passing or returning them by reference) does not work correctly yet. | |
ef8857d In case of template specialization, do not try to delay emitting debug info for concrete type in -flimit-debug-info mode. This fixes some of the failures from bs15503.exp tests in gdb testsuite. | |
bcb5452 Fix this on the bots and make the test more complete by enabling optimizations. | |
cc4889f Fix PR9614 for functions with the always_inline attribute. Try to keep the common case (-O0, no always_inline) fast. | |
6d09f01 objective-c arc: type-casting of an objc pointer to an rvalue retainable object type with life-time qualifier has no effect and wil be diagnosed as error. // rdar://10244607 | |
26bae20 Deleted functions were in Clang 2.9, defaulted functions in 3.0. Fixses PR11252. | |
4a037c7 [analyzer] ObjC message sends to nil receivers that return structs are now okay (compiler zeroes out the data). Fixes <rdar://problem/9151319>. | |
6f3887e It turns out that the Objective-C message lookup functions can throw exceptions after all... | |
c49bd11 Reinstate r142844 (reverted in r142872) now that lvalue-to-rvalue conversions are present in all the necessary places: | |
854625f Use const_cast to make it obvious that it's just removing constness (and silence warnings). | |
aa9807a Reflow code. No intended functionality change. | |
9c273ff Fix test for LLVM change r143186. | |
9c129f8 Add (hopefully) the last missing lvalue-to-rvalue conversion. Add an assertion to catch some future implicit lvalue-to-rvalue casts of inappropriate kinds. | |
ac51650 Be sure to build a dependent expression when we see a binary operator involving a dependently-typed overload set. | |
55733de Fix for PR9751 to change the behavior of -Wformat warnings. If the format string is part of the function call, then there is no difference. If the format string is not, the warning will point to the call site and a note will point to where the format string is. | |
61ffd09 Add missing lvalue-to-rvalue conversion to vector splat casts. | |
e3271d4 Remove the Alpha backend. | |
4f87062 Fix some cases where a CK_IntegralCast was being used to convert an lvalue to an rvalue. An assertion to catch this is in ImpCastExprToType will follow, but vector operations currently trip over this (due to omitting the usual arithmetic conversions). Also add an assert to catch missing lvalue-to-rvalue conversions on the LHS of ->. | |
2ce634d Mark these tests as requiring use of the shell. | |
9c1ba40 objc: fix an ir-gen crash caused by recent property refactoring. // rdar://10327068 | |
e055f8a Add mutex for accessing ASTUnit's global OnDisk data. This may be an issue as libclang could be processing multiple ASTUnit's at once. | |
c5096cb Annotate imprecise FP division with fpaccuracy metadata | |
9d31fa7 [PCH] Pull the location out of the serialized declarations and put it in the array of decl bit offsets. | |
1872b31 Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>. | |
bd0ddf8 [libclang] Add comments. | |
eee242f Make the loading of information attached to an IdentifierInfo from an AST file more lazy, so that we don't eagerly load that information for all known identifiers each time a new AST file is loaded. The eager reloading made some sense in the context of precompiled headers, since very few identifiers were defined before PCH load time. With modules, however, a huge amount of code can get parsed before we see an @import, so laziness becomes important here. | |
29e97cb Teach format string analysis that "%zu" means size_t. | |
98a9203 Move these test from checking assembly to checking LLVM IR. Should fix fallout from r143097. | |
df95d14 [analyzer] Optimize by not generating empty transitions in CheckerContext | |
4d2ae4a [analyzer] Move enqueueEndOfFunction into CoreEngine. | |
dd7ddf2 [analyzer] Make CoreEngine responsible for enqueueing Stmt Nodes. | |
4a7dc8a Make use of the parameter in Sema::ActOnObjCTemporaryExitContainerContext. | |
458bacf Fix crash on an @interface nested inside @implementation, rdar://10336158 | |
1104d9b For the "'@end' is missing in implementation context" point at the location of '@'. | |
90eed21 Do not warn when weak-import attribute is applied to enum decl. in Darwin due to certain projects requirement. // rdar://10277579 | |
1b8fc01 Disalbe more Microsoft-specific stuff. | |
39ac187 [analyzer] Add getLocationContext to CheckerContext | |
48468df [analyzer] Remove EmitBasicReport form CheckerContext. | |
0bd6b11 [analyzer] Rename generateNode -> addTransition in CheckerContext | |
1d08123 [analyzer] Remove forward declarations of GenericNodeBuilder | |
c03a39e [analyzer] GenericNodeBuilder -> NodeBuilder. | |
6c29eda Objective-c: fix an ir-gen crash where objc messag returns a _Complex value and ABI requires return slot to be passed as first argument to message sent. // rdar://10331109 | |
e8f4eed Fix this tests on the bots. | |
a411d2f Fix pr9614 by not emitting an available_externally function when it calls itself via an asm label. | |
29e627a Try to appease the Windows builders | |
9138b4e Pull out conversion on LHS of -> and . into its own function. This happens implicitly in LookupMemberExpr and explicitly in cases where template instantiation doesn't redo the lookup. | |
d488b3a Eliminate a hang while loading a sequence of redeclarable entities. In essence, the redeclaration chain for a class could end up in an inconsistent state while deserializing multiple declarations in that chain, where the circular linked list was not, in fact, circular. Since only two redeclarations of the same entity will get loaded when we're in this state, restore circularity when both have been loaded. Fixes <rdar://problem/10324940> / PR11195. | |
3ab057f Disable on Windows, for real. | |
3bfb571 Compute the promoted integer type of fixed-width enums correctly. Found by inspection. | |
68a2dc4 Correctly perform integral promotions on wchar_t/char16_t/char32_t in C++. <rdar://problem/10309088>. | |
f1f6d85 Fix crash due to missing array-to-pointer decay when instantiating an unresolved member expression. Refactoring to follow. | |
601d2ee UnresolvedMemberExprs need lvalue-to-rvalue conversions during template instantiations too. | |
fd08009 Turn off delayed template parsing for this test | |
6a93bd5 [analyzer] Remove getEngine() form CheckerContext | |
063e088 [analyzer] Simplify CheckerContext | |
2e9264a [analyzer] Remove unused headers. | |
f236b65 [analyzer] Make branch for condition callback use CheckerContext | |
af498a2 [analyze] Convert EndOfPath callback to use CheckerContext | |
7fe3878 Handle redundant 'typename' on base class specifications. | |
152aa4b Fix erroneous name-specifiers prior to decltypes better/correctly as per Doug's feedback. | |
3c3b7f9 Restore r142914 and r142915, now with missing file and apparent GCC compiler workaround. | |
edae1a2 Initialize the BaseLoc for decltype base type specifications. | |
22216eb Fix cases where the optional nested-name-specifier erroneously preceeded a decltype-specification when specifying a base type. | |
09048df Support the use of decltype for specifying base types. Fixes PR11216. | |
327a50f Revert r142914 and r142915, due to possibly missing file. | |
f950134 Revert "Hard-code 2 constants to tolerate GCC 4.0.1 used by Xcode 3.0." | |
71c9e5a Revert "Declare friend class to tolerate GCC 4.0.1 used by Xcode 3.0." | |
ad8b260 Revert "Declare BalancedDelimiterTracker as Parser's friend class." | |
62a14fe Revert "Forward-declare BalancedDelimiterTracker and then befriend it." | |
9d06ba8 Change an int64_t to an intptr_t so that we don't end up with crashes in the back end on large classes on 32-bit. | |
8628862 Pull the pseudo-object stuff into its own file. Tidy up some marginally related code just to annoy single-purpose-commit lovers. No functionality change. | |
a1b852f Introduce a placeholder type for "pseudo object" expressions: expressions which refer to a logical rather than a physical l-value, where the logical object is actually accessed via custom getter/setter code. A subsequent patch will generalize the AST for these so that arbitrary "implementing" sub-expressions can be provided. | |
e88c451 Allow the -fno-operator-names option to be passed down to the rest of the compiler. | |
a01c711 Don't forget the lvalue-to-rvalue conversion on the LHS when instantiating a dependent ->, where the member being referred to is an anonymous struct or union. This path was missed by the fix in r142890. | |
3045ce7 Relax restriction of assigning to 'self' in ARC when a method is attributed with ns_consumes_self. Fixes <rdar://problem/10274056>. | |
6ca4a9a Tweak printf format string parsing to accept 'hh' conversion specifier to accept any char, not just signed char. Fixes <rdar://problem/10303638>. | |
5c27ee0 Undo unnecessary change | |
65019ac Check for unexpanded parameter packs in the name that guards a Microsoft __if_exists/__if_not_exists statement. Also note that we weren't traversing DeclarationNameInfo *at all* within the RecursiveASTVisitor, which would be rather fatal for variadic templates. | |
42edac0 Remove extra copy of contents of header file resulting in a patch being applied twice. Aren't include guards great? | |
c2c1144 Make the -Wc++11-compat warnings ignored by default, so we don't break valid C++98/03 code. However, add these warnings to -Wall, for those who obviously already like clean code. | |
ba0513d Implement support for dependent Microsoft __if_exists/__if_not_exists statements. As noted in the documentation for the AST node, the semantics of __if_exists/__if_not_exists are somewhat different from the way Visual C++ implements them, because our parsed-template representation can't accommodate VC++ semantics without serious contortions. Hopefully this implementation is "good enough". | |
f11e923 Tidy up testcase from r142890, spotted by Chandler. | |
94d881f Remove another Blackfin test. | |
97f9fe0 Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when rebuilding it during template instantiation, for a known RHS decl. | |
f226ff9 [PCH] When visiting preprocessed entities, make it possible to avoid deserializing preprocessed entities that are #included in the range that we are interested. | |
82ccbe7 Use assert(0) instead of duplicating the check, suggestion by Anna. | |
58f6f1e Add source-level dominators analysis. Patch by Guoping Long! | |
98326ed Clean up, as suggested by John. | |
1592c6c Remove more SystemZ (s390) tests. | |
78cf13d Remove the Blackfin backend. | |
0986eb5 Remove the SystemZ backend. | |
4142251 Do not drop type qualifiers in -flimit-debug-info mode. | |
436c889 Revert r142844, it broke selfhost. The problem appears to be a missing lvalue-to-rvalue conversion on the LHS operand of '->'. | |
0583014 Add explanatory comments for ICE checking in C99 mode. | |
3896fc5 Rework Microsoft __if_exists/__if_not_exists parsing and semantic analysis to separate dependent names from non-dependent names. For dependent names, we'll behave differently from Visual C++: | |
b000459 Don't try to emit CK_LValueBitCast casts as constants. PR9558. | |
3eafbb8 When we perform a lookup for a dependent name that is a member of an unknown specialization, treat this the same way as if the name were not found in the current instantiation. No actual functionality change, since apparently nothing depends on this. | |
aa0aeb1 [analyzer] Node builders cleanup + comments Renamed PureNodeBuilder->StmtNodeBuilder. | |
cca79db [analyzer] Remove the old StmtNodeBuilder. | |
056c4b4 [analyzer] Completely remove the global Builder object. | |
f185cc1 [analyzer] Remove more dependencies from global Builder - OSAtomicChecker - ExprEngine::processStmt | |
41bf4f3 Constant expression evaluation: evaluate lvalues as lvalues, and rvalues as rvalues, as C++11 constant evaluation semantics require. DeclRefs referring to references can now use the normal initialization-caching codepath, which incidentally fixes a crash in cyclic initialization of references. | |
9875c60 Switch to a more natural formatting of the macro name printing. Suggested by John McCall. | |
8327fad Constant expression evaluation: factor out handling of ignored values. | |
32cb471 In accordance with the C89, C99 and C++98 standards, ICEs can only contain floating-point literals if they are the immediate operands of casts. ImplicitCastExpr is not a cast in the language-standards sense. | |
ebae6d0 [analyzer] Convert ExprEngine::visit() to use short lived builders. | |
d231d01 [analyzer] Convert VisitDeclStmt to use local node builder. | |
6b6152b [analyzer] Convert more functions (ex:evalBind()) to iterative builders | |
8ad8c54 [analyzer] Convert VisitUnaryOperator to use short lived Node builders | |
8ff5c41 [analyzer] Use a temporary builder in CheckerContext. | |
1aae01a [analyzer] Pass external Dst set to NodeBuilder | |
fe9b2a8 Simplify parsing ellipsis in Parser::ParseAlignArgument, spotted by Doug. | |
03f9611 Constant expression evaluation: factor out VarDecl initializer evaluation and caching. | |
9158902 Minor refactoring of my last patch. Per Doug's suggestion. | |
3e9d326 [libclang] Make sure we don't try to erase past the StoredDiagnostics vector. | |
2a04f1c Fix mismatched new[]/delete[]. | |
ba97b6e Have -fms-no-extensions turn off -fms-compatibility | |
0bb935c Make -fms-compatibility imply -fms-extensions. Fixes PR11204. | |
dfa4ab9 Remove debugging printfs that some idiot left in. | |
89c3004 Enable experimental support for objc_msgSend with GNUstep ObjC runtime. | |
ea62379 Revert "Test commit" | |
2ab3b90 Test commit | |
8e02604 Actually rename the file AnalysisContext.cpp -> AnalysisDeclContext.cpp to match the CMakeLists.txt change in r142782; this should fix the CMake build. | |
1d26f48 Rename AnalysisContext to AnalysisDeclContext. Not only is this name more accurate, but it frees up the name AnalysisContext for other uses. | |
0b64ba9 Fix grammar for C++11 alignment specifiers, and add a few FIXMEs. | |
678b89e Fix typo (C++1 -> C++11). | |
fef2189 Diagnose unexpanded parameter packs in member initialisers (including in-class member initialisers). | |
dc69be2 Clean up duplicated code in Sema::BuildMemInitializer. | |
05b2127 Improve unexpanded parameter pack diagnostics by using UPPC_Initializer here. | |
0661bd0 Attach class template attributes to the templated CXXRecordDecl, instead of silently discarding them. | |
59283a0 Reduce dependencies. | |
b1b5daf [analyzer] Remove LocationContext creation methods from AnalysisManager, and change clients to use AnalysisContext instead. | |
bfcacd9 Fix a typo that completely broke the expansion of complex arguments. | |
07fc657 Refactor vector constant expression evaluation to return bool like all the other const expression evaluation subclasses, and remove some APValue copying and malloc traffic in the process. | |
f5c7504 Remove obsolete debugging macro, make helper static. | |
f634bce Pack struct better. | |
ba81d96 test/Driver/debug.c: Mark this as "REQUIRES: shell". | |
813a407 lib/Driver/Tools.cpp: Use PathV2::is_absolute() to add -fdebug-compilation-dir. pwd[0] might not be '/' on Win32 hosts. | |
5e745da Only emit implicit constant conversion truncation warnings in reachable code. Apparently this is what GCC does, and some code depends on this. Fixes <rdar://problem/10321089>. | |
439ed16 Refactor ThreadSafety to use PostOrderCFGView instead of its own copy (of TopologicallySortedCFG). | |
edb1863 Pull TopologicallySortedCFG out of LiveVariables into its own analysis: PostOrderCFGView. | |
ee28a4b Fixes a minor hick up to my last patch. | |
7fda400 objc: private methods can have their attributes, no diagnostic is required. None private methods if their implementation have attribute, they must exactly match those in their declarations. // rdar://10271563 | |
c7d0ab1 Make changes necessary for N32/64 ABI conformance. | |
4a8eff0 XFAIL test on Windows | |
60419fa More speculative test tweaking | |
0625366 Fix PR11073 by adding the argument type information to the decl we construct for the function type. Update a testcase accordingly. | |
33b3d2a Switch tests from grep to FileCheck | |
9bc2c6e Add tests for CodeGen types in MS ABI. Based on patch by r4start. | |
e6f0868 [PCH] When serializing Stmts, keep track of when sub statements are referenced again and in such a case just write out a reference of a previously serialized Stmt, instead of serializing it all over again. | |
21f77cd Don't try to set the "array filler" in a InitListExpr twice. | |
227e483 More ASTRecordLayout changes for MS ABI; based on patch by r4start. | |
13c7fcc c++: support gcc's application of weak attribute on class declaration which forces any such class and any class that inherits from such a class to have their typeinfo symbols be marked as weak. // rdar://10246395 A test/CodeGenCXX/weak-extern-typeinfo.cpp M lib/Sema/SemaDeclCXX.cpp M lib/Sema/SemaDeclAttr.cpp M lib/CodeGen/CGRTTI.cpp | |
9c0778b Doug reports that this test is still failing. Try applying Benjamin Kramer's suggestion! | |
6db51f7 Added support for thread safety attributes on destructors. | |
f1ac637 Thread safety analysis refactoring: invalid lock expressions. | |
e0eaa85 Thread safety analysis: add support for attributes on constructors. | |
3ff86f7 objective-c: Diagnose redeclaration of private ivars in class extensions. // rdar://10309454 | |
381509e Added documentation for the recently-added addDecl() and makeDeclVisibleInContextInternal() functions, and made the latter private since it does not and should not have external clients. | |
a60448d Refactoring and code cleanup. | |
95e5510 When performing name lookup for the previous declaration of a field, be sure to consider all of the possible lookup results. We were assert()'ing (but behaving correctly) for unresolved values. Fixes PR11134 / <rdar://problem/10290422>. | |
7a8a2e3 Permit auto SCS on parameter declarations, C++03 [dcl.stc]p2 | |
cb125dd Try to be exceedingly clever and make this test work properly whether it's run under bash or under cmd.exe. | |
b57791e Treat the Microsoft/Borland keyword "__except" as a context-sensitive keyword, because both libstdc++ and libc++ use "__except" as an identifier. Fixes <rdar://problem/10322555>. | |
258f9a2 Massage this test a little so it works when run inside the Google environment. | |
9faf810 I added a new function to DeclContext called addDeclInternal(). This function suppresses any calls to FindExternalVisibleDeclsByName() while a Decl is added to a DeclContext. This behavior is required for the ASTImporter, because in the case of the LLDB client the ASTImporter would be called recursively to import the visible decls, which leads to assertions because the recursive call is seeing partially-formed types. | |
7c4fd91 Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This is closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. | |
0e9e981 Add -Wc++98-compat diagnostics for jumps which bypass initialization of non-POD but trivially constructible and destructible variables in C++11 mode. Also incidentally improve the precision of the wording for jump diagnostics in C++98 mode. | |
ef47d27 When fixing up the storage class for an anonymous union, don't mark the anonymous union as valid: our fixes have Fix-Its. | |
beedc5f Add test case for analyzer crash reported in <rdar://problem/10308201> (which is already fixed in mainline). | |
9324583 'extern template' is a C++11 feature. Add an Extension for C++98 (this matches gcc's behaviour), and a -Wc++98-compat-pedantic warning for C++11. | |
cb8f951 There's no point in marking a declaration invalid just because it shadows a template parameter. Complain about the shadowing (or not, under -fms-extensions), but don't invalidate the declaration. Merely forget about the template parameter declaration. | |
f89bc05 [libclang] Don't use C++-style comments in c-index-test.c. | |
8e0c118 Diagnose class template (partial) specializations that occur in the *wrong* class scope. This is one of the problems behind <rdar://problem/9676205>. | |
ba4ee9a When we parse something that looks like a templated friend tag but actually just has an extraneous 'template<>' header, strip off the 'template<>' header and treat it as a normal friend tag. Fixes PR10660 / <rdar://problem/9958322>. | |
afdc21a Further refine the diagnostic categories for ARC diagnostics. Addresses <rdar://problem/10245086>. | |
95aafb2 Add -Wc++98-compat warning for enumerations in nested name specifiers. | |
82c8ca1 FixIt insert 'static' for anonymous unions at global or namespace scope. | |
f6f876c Add a fixit to remove storage specifiers on anonymous enums. | |
70042f5 Fix all 80 col violations in include/clang/Basic, plus any trailing whitespace in the files I'm touching anyway. | |
98e13ea Make the -verify bits in this test actually test something, and fix a few cases where the test didn't work. | |
85037d9 Define __STDC__ in -fms-extensions mode; defining it is consistent with gcc, and not defining it causes the system headers on multiple platforms to break with -fms-extensions because they assume the lack of a definition of __STDC__ implies a traditional (pre-ANSI) preprocessor. PR10324 and <rdar://problem/10313809> . | |
d662a79 80 cols (one I created in my last commit, plus a bunch of others that were already there) | |
2b79c32 Don't provide errors for anonymous unions when they're actually anonymous classes. | |
0706df4 Improve the diagnostic when a comma ends up at the end of a declarator group instead of a semicolon (as sometimes happens during refactorings). When such a comma is seen at the end of a line, and is followed by something which can't possibly be a declarator (or even something which might be a plausible typo for a declarator), suggest that a semicolon was intended. | |
e7d7c39 -Wc++98-compat: warn on nontrivial types used in unions and anonymous structs. | |
0d38181 Only warn at self-initialization if some later use is always uninitialized. | |
83da2e7 -Wc++98-compat: diagnose if a reference is bound to a prvalue which does not have an unambiguous accessible copying constructor; this is ill-formed in C++98. | |
project external/compiler-rt/ | |
project external/dexmaker/ | |
project external/dhcpcd/ | |
40d921b Fix comment | |
48d5a1d Reuse system properties for p2p | |
6a7ffa3 DHCPCD: Add the ability to redirect log to logcat. | |
31182b2 Pipe DHCP vendor info towards framework. | |
1f1ef57 DHCPDC: Actually we do have a monotonic clock... | |
733caa8 Remove obsolete files left from 4.0.15 | |
75d2334 dhcpcd: Use "old style" vendor id for compatibility | |
project external/doclava/ | |
3c925b4 Changes for dac2 design | |
880940a Doc change: add schema.org metadata. | |
de0f029 Elucidate text API parsing errors. | |
7393488 Fix doclava to preserve annotations on fields and methods | |
7efab06 Update the module name for the antlr runtime dependency | |
project external/dropbear/ | |
23022b8 Remove ssh and scp from build | |
project external/e2fsprogs/ | |
fada366 e2fsck: correctly propagate error from journal to superblock | |
df5d2e2 e2fsck: handle an already recovered journal with a non-zero s_error field | |
97bd1b7 Revert "Fix e2fsck to run a full check if only the journal has recorded an error" | |
a8948fc Revert "Better fix for marking fs err in superblock if err set in journal superblock." | |
46e96be Better fix for marking fs err in superblock if err set in journal superblock. | |
8c157a2 Fix e2fsck to run a full check if only the journal has recorded an error | |
dc3069a Stop use of LOCAL_MODULE_STEM for libraries. | |
project external/eclipse-basebuilder/ | |
project external/eclipse-windowbuilder/ | |
project external/elfutils/ | |
65a81b2 Build target libraries for eng builds. | |
fd93794 Tweak the host version of elfutils for MacOS. | |
fac061f Add new build rules and associated fixes needed by perf. | |
cc6695e Upgrade elfutils from version 0.97 to 0.138 | |
72940de Don't define strnlen in MacOS >= 10.7 | |
a76f854 Don't define strnlen in MacOS >= 10.7 | |
project external/expat/ | |
6f6dbce Remove dup header rules. | |
85d7cec Make a libexpat.so for the host too. | |
9b83edb [MIPS] Remove reference to NDK libs | |
project external/fdlibm/ | |
f0c0422 Revert revert "Use a consistent name for libfdlibm.a on both device and host" | |
db30abc (needs to be submitted at once with all the other changes.) | |
c619988 Use a consistent name for libfdlim.a on both device and host. | |
2b584d8 [ENDIAN] Select endianess correctly for MIPS | |
project external/flac/ | |
686d6ff Compile FLAC encoder in libFLAC | |
7a4c039 Add NOTICE and MODULE_LICENSE_BSD_LIKE under libFLAC | |
project external/freetype/ | |
41371e1 Update to freetype 2.4.9 | |
2781190 Updated freetype to 2.4.8 | |
bff90fb DO NOT MERGE Update FreeType library to 2.4.7 | |
15321e1 Add additional implementation files needed by Skia. | |
50571ad Add additional implementation files needed by Skia. | |
project external/fsck_msdos/ | |
ef65d73 fix possible memory leaking | |
project external/ganymed-ssh2/ | |
project external/gcc-demangle/ | |
project external/gtest/ | |
cfee58b Fix Clang build. Enable death tests. | |
41d0579 Update gtest to 1.6 | |
e6eec1e Explicitly include stddef in gtest-param-util | |
4e8814a Explicitly include stddef in gtest-param-util | |
d32ab53 Remove libraries from static library module. | |
project external/guava/ | |
adee4a2 Add NOTICE file to Guava | |
1d580d0 Upgrade guava to v11.0.2 | |
5b0ce86 Add Eclipse project files. | |
project external/hamcrest/ | |
project external/harfbuzz/ | |
580c68b Make Arabic script runs longer (for performance) - bug 6426451. | |
a91c24c Add NOTICE file | |
e8c9796 Update Harfbuzz from upstream | |
d3671e0 Add Android logging to Harfbuzz | |
db0ba8c Fix Indic Text overlap problem. | |
5b51d0c Syncup with upstream HarfbuzzOld. | |
c8f4ca0 Fix double comparison | |
873b7b3 Fixed bug in Indic shapping. | |
e39b0cc Fix Harfbuzz script properties table for Arabic | |
project external/hyphenation/ | |
bfa8483 Add NOTICE and MODULE_LICENSE_LGPL files. | |
project external/icu4c/ | |
02c1be4 Fix array-bounds errors in ICU decNumber.c | |
73f568c Fix buffer overflow in uresopen.c | |
50e1cae Move ICU prebuilt packages from linux-x86/icu-4.8 to linux-x86_64/icu-4.8. | |
0c557cf Bug 6045986 - missing check against NULL in icu ubrk_setText(). | |
816c50f Bug 6008414 - ICU uloc.c out of boundary read error. | |
ab19ce4 Apply fixes for ICU ticket8984. | |
c8af25d Sort CJK scripts before Latin script when the locale is CJK. | |
b26ce3a Upgrade ICU to 4.8.1.1. | |
8b5912e Update the display names for the America/Resolute time zone. | |
a11988e Add af, am, be, et, ms, sw, zu, and the missing bits of sr. | |
project external/iproute2/ | |
a6628ec Add NOTICE and MODULE_LICENSE files for every Android.mk | |
project external/ipsec-tools/ | |
adfbc90 ipsec-tools: back-port handle_vendorid() from 0.8.0 to 0.7.3. | |
c1b51d4 Add support for OpenSSL ENGINE for keystore | |
c91307a ipsec-tools: back-port 0.7.3 to Android. | |
e761171 ipsec-tools: exit when the first phase 1 cannot be completed. | |
project external/iptables/ | |
e07e0d3 Modify iptables to talk to xt_IDLETIMER version 1. | |
project external/javasqlite/ | |
c508dc6 Add NOTICE file. | |
project external/jhead/ | |
8f596c1 refactor libexif into libexif and libexif_jni | |
482486a Use values from attributes for DateTime tag. | |
f485c62 Revert "Use values from attributes for DateTime tag." | |
f4fd06d Use values from attributes for DateTime tag. | |
7a314da Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
d282614 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
84f254d Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
658ad71 jhead: Add handling for short tags with unknown length | |
56c2f1e Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE | |
project external/jmdns/ | |
project external/jmonkeyengine/ | |
project external/jsr305/ | |
5c7719f Add Eclipse project files to jsr305. | |
project external/junit/ | |
7f17dff Fix Mac build. | |
24c4107 Build core-junit from external/junit source. | |
49c1b9d Update junit with Android runner specific changes. | |
909fd84 Update junit with Android specific changes. | |
b3823db Upgrade to JUnit4.10. | |
21342bf Add Eclipse project files to junit. | |
project external/kernel-headers/ | |
fb79aae Update f_accessory.h kernel header | |
74855e5 add linux/sw_sync.h | |
0ad8116 add linux/sync.h | |
efab8f3 Update arm-asm/unistd.h for new syscalls | |
12b42e7 update linux/fb.h | |
f5f3dd8 Update linux/input.h to version 3.4. | |
ab89e41 kernel-headers/original: update v4l2 header from v3.3 | |
dd846d6 Add NETLINK_IDLETIMER msg type and include the corresponding header file. | |
e8a057d Add USB FunctionFS headers | |
01dbcaf Adding mman*.h for KSM support. | |
be3de88 Add in if_alg.h | |
bfde6f1 Add a few #define'ed values needed by perf. | |
d0bf90f Reverse sync from bionic/libc/kernel to external/kernel-headers | |
0287964 update stddef.h | |
22e2427 [MIPS] Some fixups are required to the kernel headers | |
632391c Add suspend block ioctls. | |
633c347 [MIPS] MIPS kernel headers are taken from 2.6.27. | |
9212f84 update personality.h | |
fbd582b Make sure __u64 is defined even for -std=c99 | |
f69b6cc update resource.h from 3.0 | |
024c881 update capabilities.h | |
project external/libmtp/ | |
project external/libnfc-nxp/ | |
856d765 Revert "Added addr field in response of Jewel command" | |
144d72d Remove some logs in case of abort() (DO NOT MERGE). | |
ba04075 Fix wrong extern variable size | |
cbd3e8d Add NOTICE and MODULE_LICENSE_APACHE files | |
8cd94e7 Fix T2T makeReadonly. | |
c0da27e Added addr field in response of Jewel command | |
8206325 Added recovery function when SE wired mode selected | |
c3a8731 Added support for tearing recovery for MIFARE Classic Readonly | |
40734e7 Mifare readonly support. This patch requires changes done in following projects submited as patches: 1. packages/apps/Nfc 2. frameworks/base | |
eb6da80 Patch to support MIFARE with SAK 0x01 | |
25aa129 Don't dump nfc target/initiator modes to system log. | |
c67f72f Replace loge with aloge. | |
3f79103 nfc-hal: generalize error handling in Reader thread. | |
21e3ef1 Support for handling of proprietry TLV in T4T | |
3013fc7 Skip proprietry TLV for Type 2 | |
d5dae5f Fix one coding error of using a temporary variable in the global structure NdefMap | |
20b7bd5 (DEBUG) Add support for setting p2p modes. | |
582cf5a DO NOT MERGE | |
6bd5058 Fix NFCSTATUS_BUSY responses after doing p2p. | |
ce7e880 Fixed FRMR sending on invalid LLCP frame received | |
177497f Handle inbound buffering in LLCP connectionless sockets | |
00485a3 Fixed rejected receive request in LLCP | |
2ee7157 Fixed wrong callbacks call | |
4bbf618 Increase internal LLCP buffers to fit max MIU | |
ffdbd5c Reset LLCP socket internal variables before next use. | |
49adea7 Update for LLCP V(SA) internal variable | |
d25018d LLCP 1.1: Fix some bugs. | |
32060a1 Adding support for handling maximum length supported by peer | |
7b187e7 LLCP 1.1 implementation. | |
955a8ef LLCP 1.1: allow pending operations on connectionless. | |
3a53a1e Don't overwrite psUpperLayerContext when reconfiguring the SE. | |
78b4597 Clear out send/recv callbacks for connectionless sockets. | |
5630038 Prevent LLCP stack from deactiving twice. | |
a12acb1 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE | |
113bdd7 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE | |
1f23e48 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE | |
project external/libphonenumber/ | |
b0e21c2 Upgrade libphonenumber to v4.7 | |
cc0ae73 Update libphonenumber to v4.6 | |
528b0d1 Update libphonenumber to v4.5 | |
96a7214 Update libphonenumber to v4.3. | |
5cd062f Tighten formatInOriginalFormat not to format numbers which we don't have formatting patterns, and use the raw_input instead. | |
a48b2d2 Upgrade to libphonenumber 4.2 | |
ca1e43d Upgrade libphonenumber to v4.1 | |
project external/libpng/ | |
5e12401 Revise png_set_text_2() to avoid potential memory corruption (fixes CVE-2011-3048) | |
e347efe DO NOT MERGE Fix for CVE-2011-3045 | |
54d908d Fix for CVE-2011-3045 | |
07fde26 DO NOT MERGE Fix for CVE-2011-3026 | |
ccee121 Fix for CVE-2011-3026 | |
433b85a Upgrading libpng to 1.2.46 to fix a few vulnerabilities. DO NOT MERGE | |
791d8f2 Upgrading libpng to 1.2.46 to fix a few vulnerabilities. DO NOT MERGE | |
project external/libselinux/ | |
project external/libsepol/ | |
project external/libusb/ | |
project external/libusb-compat/ | |
project external/libvpx/ | |
d45f2f4 Apparently we require a duplicate of the LICENSE, called NOTICE. Who knew? | |
11e8440 Update libwebm | |
project external/libxml2/ | |
48d0ed6 Suppress a boundary check warning | |
60fd9a3 DO NOT MERGE Fix for CVE-2011-3919 | |
df143a5 Upgrade libxml to 2.7.8 | |
project external/libxslt/ | |
98f5140 Add NOTICE and MODULE_LICENSE_BSD_LIKE files | |
project external/linux-tools-perf/ | |
project external/littlemock/ | |
project external/llvm/ | |
0aba94c Update for ASan cherry-pick. | |
563c712 Use zero-based shadow by default on Android. | |
fd6aea2 Fix assert handling for LLVM. | |
0bf048c Update README.android. | |
88cf47e Fix sdk_x86-sdk build. Add <cctype> for tolower(). | |
db0e8a7 Migrate external/llvm to LLVM-155090-2012-419. | |
fc728fb Allow targets to select the default scheduler by name. | |
27745c1 whitespace | |
0d77b9c Extract the broken part of XFAILed test into its own file. | |
d4824fc Fix typo. | |
c007eff Fixed the llvm-mv X86 disassembler so the 'C' API gets jumps properly symbolicated. These have and operand type of TYPE_RELv which was not handled as isBranch in translateImmediate() in X86Disassembler.cpp. rdar://11268426 | |
3b5b2a2 Don't crash on code where the user put __attribute__((constructor)) on a function with arguments. This fixes rdar://11265785. | |
bdcfb76 Add a flag to rebranch if we need to. | |
3709762 This reverts a long string of commits to the Hexagon backend. These commits have had several major issues pointed out in review, and those issues are not being addressed in a timely fashion. Furthermore, this was all committed leading up to the v3.1 branch, and we don't need piles of code with outstanding issues in the branch. | |
722b6f1 LiveIntervalUpdate validators weren't recorded after the calls to std::for_each. Turns out std::for_each doesn't update the variable passed in for the functor but instead copy constructs a new one. | |
838b7a3 Document that StringMap iteration order is non-deterministic. | |
b4b26f8 Revert "Replace some uses of std:map<std::string,...> with StringMap." | |
4c8fab8 Revert "-arm-long-calls of zone." | |
3cbcffc tblgen: remove duplicated newlines. | |
325478d Replace some uses of std:map<std::string,...> with StringMap. | |
89f33fd SourceMgr: Colorize diagnostics. | |
a5b0685 Use SmallVector for the requirements on an InstAlias. | |
016c679 Tidy up. Formatting. | |
a695349 Mark instruction classes ArithLogicR, ArithLogicI and LoadUpper as isRematerializable. | |
9853b49 Delete blank line. | |
bfb4327 Move a few more warnings to use PrintWarning(). | |
37c53ff Tidy up. No need for a Twine here, as it's just constants. | |
723fc11 Formatting. | |
5bd9e0d Tidy up. Add a '.' at the end of the sentence. | |
28b810e Fix copy/paste-o. | |
7be4397 Clean up warning text. Remove extraneous prefix. | |
9b29ea4 TableGen use PrintWarning rather than fprintf(stderr,...) for warnings. | |
4b18691 Tidy up. Trailing whitespace. | |
97c02bf TableGen add warning diagnostic helper functions. | |
f5782e2 FileCheckize | |
377bf1a Nobody likes shifty instructions, but that was a bit strong. | |
35ee7d2 Added support for disassembling unpredictable swp/swpb ARM instructions. | |
6b9f97d Fix the bahavior of the disassembler when decoding unpredictable mrs instructions on ARM. Now the diasassembler emmits warnings instead of errors. | |
fa1ebc6 Added support for unpredictable mcrr/mcrr2/mrrc/mrrc2 ARM instruction in the disassembler. Since the upredicability conditions are complex, C++ code was added to handle them. | |
e546c4c Fixed decoding for the ARM cdp2 instruction. The restriction on the coprocessor number was removed for this instruction. | |
9e71231 Add suport for unpredicatble cases of the cmp, tst, teq and cmnz ARM instructions in the disassembler. | |
316d930 -arm-long-calls of zonr. | |
4bb87cb SmallPtrSet: Reuse DenseMapInfo's pointer hash function instead of inventing a bad one ourselves. | |
9a14841 Move the JIT flags from llc to lli. These flags showed up as part of moving backend flags in TargetOptions.h into their own class in r145714. | |
ecc754d A bit of cleanup in the TestingGuide doc - dg.exp files no longer exist | |
b89ea68 Some formatting and grammar fixes in the FileCheck documentation | |
1356041 Use a heavy hammer to fix PR12573. | |
a963c81 Remove AVX vpermil intrinsics. I removed their uses from clang headers and builtins a while back. | |
b512263 loop-reduce: Add an early bailout to catch extremely large loops. | |
575fcb3 fix error check in assert | |
41c3e9a FileCheckify, un-XFAIL SimplifyLibCalls/floor test Fixes build on MSVC | |
d15c581 Move win32 SimplifyLibcall test under Transforms | |
b0616a5 C++ has newlines at the end of files (including include files). | |
d5bda5e fix pr12559: mark unavailable win32 math libcalls also fix SimplifyLibCalls to use TLI rather than compile-time conditionals to enable optimizations on floor, ceil, round, rint, and nearbyint | |
e652b52 allow opt to take a -mtriple option | |
d16ce17 Fixes a problem in instruction selection with testing whether or not the transformation: | |
3f5966b Typo. | |
67cd20d Sanity check error handling for TokenAlias. | |
ab42733 Fix incorrect call of resolveRelocation() for ARM ELF stub relocations. | |
fdc97cd platform support for counting column widths and checking isprint | |
b907570 Delete latter half of CMakeLists.txt. | |
ecdc9d5 Add disassembler to MIPS. | |
61c3d30 Goodbye, JSONParser... | |
388774c Adding operator== for document_iterator. | |
93751c8 Force cmov on test so block placement doesn't shuffle the code around. | |
ef1a3a2 Remove unused CCIfSubtarget. | |
d2bfce1 Unbreak the MSVC build, that next() thing again. | |
72aadc0 Fix bad EXTRACT_SUBREG in instruction selection for extending-loads on NEON. | |
86df062 Revert "SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW." | |
8ca441a Test cases that assume layout should use -disable-code-place. | |
2091df3 Don't decode vperm2i128 or vperm2f128 into a shuffle if bit 3 or 7 of the immediate is set. | |
e457626 Download and build the compiler-rt project. | |
613dfb2 SlotIndexes used to store the index list in a crufty custom linked-list. I can't for the life of me remember why I wrote it this way, but I can't see any good reason for it now. This patch replaces the custom linked list with an ilist. | |
33d9e89 Typo in an unused field. | |
03565ed Update woefully stale credits entry. Everything listed there had been re-done by wiser souls. | |
c76c94f Add a stub about the inline cost rewrite. | |
268fde4 Add a stub for block placement pass. This needs fleshing out w/ details about what folks should expect w.r.t. the new algorithm. | |
6d9cf6c Don't tag libcxx and libcxxabi since we don't release them just yet. | |
c5a2a33 Fix ARM disassembly of VLD2 (single 2-element structure to all lanes) instructions with writebacks. And add test a case for all opcodes handed by DecodeVLD2DupInstruction() in ARMDisassembler.cpp . | |
8975f51 temporarily XFAIL this test until post RA live-ins is properly enabled. | |
65da6fc Tidy up. 80 columns. | |
cf84d86 Typo. | |
e9722e1 Make comment here more clear. | |
fd2e4e6 Disable the atom scheduling test after r154874 broke it. | |
bf42f24 ARM two-operand forms for vhadd and vhsub instructions. | |
f232937 Temporarily turn off anti-dependency checking during Post RA scheduling in X86, until the X86 target is changed to properly set up post RA liveness. | |
482f878 Add files which were not included by commit 154868. | |
177bea5 Relax this test a touch to cope with different assembly variants. | |
689ff9c Implement GDB integration for source level debugging of code JITed using the MCJIT execution engine. | |
f1a60c7 Fix updateTerminator to be resiliant to degenerate terminators where both fallthrough and a conditional branch target the same successor. Gracefully delete the conditional branch and introduce any unconditional branch needed to reach the actual successor. This fixes memory corruption in 2009-06-15-RegScavengerAssert.ll and possibly other tests. | |
68f89a6 MC assembly parser handling for trailing comma in macro instantiation. | |
b8768dc ARM handle :lower16: and :upper16: after a '#' prefix. | |
39ac325 FileCheckize these tests. | |
7489765 Forgot to remove fast math metadata from the release notes. | |
fbefc91 Disable code placement for this test. | |
2867c85 Remove support for the special 'fast' value for fpmath accuracy for the moment. | |
2c651fe Fix incorrect atomics codegen introduced in r154705, and extend test to catch it. | |
1fbfea7 This patch fixes 3 problems: | |
8834559 Remove unused variable | |
199366a ARM assembly two-operand forms for VRSHL. | |
695eca6 Tidy up. Test formatting. | |
3ef7edc Do not add offset in applyFixup. This has already been accounted for in Value. | |
99a0b28 Describe Polly as a 'Polyhedral Optimizer' | |
76213b8 Add Polly news to the release notes | |
705e257 ARM two-operand aliases for VRHADD instructions. | |
dbd6ba3 Tidy up. Testcase formatting. | |
12c10b3 Link to the autovectorization EuroLLVM slides in the release notes. | |
87eb92d Hexagon V5 (Floating Point) Support. | |
57ca13e Move to X86 directory because this fails on non-X86 platforms. | |
8883c43 Make it possible to indicate relaxed floating point requirements at the IR level through the use of 'fpmath' metadata. Currently this only provides a 'fpaccuracy' value, which may be a number in ULPs or the keyword 'fast', however the intent is that this will be extended with additional information about NaN's, infinities etc later. No optimizations have been hooked up to this so far. | |
9e67db4 Flip the new block-placement pass to be on by default. | |
0de089a Remove an overly brittle test. This test will no longer be interesting once we start changing the block layout, so just nuke it. If anyone has ideas about how to craft a code layout agnostic form of the test please let me know. | |
0b36bb3 Remove the methods for attaching metadata to instructions/retrieving metadata from instructions. Chandler doesn't like them being here. | |
e773e8c Add a somewhat hacky heuristic to do something different from whole-loop rotation. When there is a loop backedge which is an unconditional branch, we will end up with a branch somewhere no matter what. Try placing this backedge in a fallthrough position above the loop header as that will definitely remove at least one branch from the loop iteration, where whole loop rotation may not. | |
656dc62 Add convenience methods to MDBuilder for attaching metadata to instructions, and retrieving it from instructions. I don't have a use for this but is seems logical for it to exist. While there, remove some 'const' markings from methods which are in fact 'const' in practice, but aren't logically 'const'. | |
05bc508 Fix style violation in BBVectorize (pointed out by Bill Wendling) | |
d0c478d Add -disassemble support for -show-inst and -show-encode capability llvm-mc. Also refactor so all MC paraphernalia are created once for all uses as much as possible. | |
4d2e9d9 Remove lto_codegen_set_whole_program_optimization. It is a work in progress, so we don't want it to show up in the stable 3.1 interface. | |
16295fc Tweak the loop rotation logic to check whether the loop is naturally laid out in a form with a fallthrough into the header and a fallthrough out of the bottom. In that case, leave the loop alone because any rotation will introduce unnecessary branches. If either side looks like it will require an explicit branch, then the rotation won't add any, do it to ensure the branch occurs outside of the loop (if possible) and maximize the benefit of the fallthrough in the bottom. | |
246de85 Reapply 'Add reverseColor to raw_ostream'. | |
4d66f4c Documentation fixes to LLVMBuild.html [PR 11563] | |
c9413c7 Revert r154800 which breaks windows builders. | |
ffa6c40 Replace vpermd/vpermps intrinic patterns with custom lowering to target specific nodes. | |
7d31d75 Add reverseColor to raw_ostream. | |
9204074 Change type profile for vpermv back to using operand type for the mask argument to match intrinsic behavior. Add a bitcast to the lowering code to convert mask from v8i32 to v8f32 for vpermps. | |
7e9f7fb Flip the arguments when converting vpermd/vpermps intrinsics into instructions. The intrinsic has the mask as the last operand, but the instruction has it as the second. | |
59fc166 Add credit and release notes for r150307. By Kai Nacke. | |
ab3a919 Add a Fixme. | |
7e5c316 add configure flag --with-default-sysroot | |
9068bf5 Say something about -vectorize in the release notes. | |
831a6e8 Simplify checking for pointer types in BBVectorize (this change was suggested by Duncan). | |
31490ba Remove dead SD nodes after the combining pass. Fixes PR12201. | |
70daea9 Rewrite how machine block placement handles loop rotation. | |
8325c11 Merge vpermps/vpermd and vpermpd/vpermq SD nodes. | |
ca9ee66 Fix SDTypeProfile for vpermps. The mask operand should be v8i32. | |
095c528 Spacing fixes and 80 column fixes. Use 0 instead of 0x80 for undef indices in vpermps/vpermd. Hardware only looks at lower 3-bits. | |
2cb1e9d Remove AVX2 vpermq and vpermpd intrinsics. These can now be handled with normal shuffle vectors. | |
fb22ede Make member variables of AsmToken private. Remove unnecessary forward declarations. Remove an unnecessary include. | |
e15660a Non-static arm-reserve-r9. | |
082d475 Fix class name. | |
7d719a5 Do not convert between fp128 <-> ppc_fp128 since there is no legal cast conversion between the two. | |
00920f6 Fix filename and register numbers. | |
f16af0a Fix PR12529. The Vxx family of instructions are only supported by AVX. Use non-vex instructions for SSE4. | |
e747fad Add the MDBuilder helper class for conveniently creating metadata. | |
362a05a Wire up support for diagnostic ranges in the ARMAsmParser. | |
3ab32ea When emulating vselect using OR/AND/XOR make sure to bitcast the result back to the original type. | |
73c504a Added VPERM optimization for AVX2 shuffles | |
8a81df1 HexagonCopyToCombine.cpp: Silence two warnings, -Wunused-variable, with -Asserts. | |
8c67cf4 Target/Hexagon: Tweak to fix msvc build. | |
3c1ded2 Remove trailing whitespace. | |
cff391a Add VLIW packetizer to ReleaseNotes.html and CREDITS.TXT. Committing patch by Sundeep Kushwaha. | |
ff73039 Add the loop unrolling info to ReleaseNotes.html and CREDITS.TXT. | |
35de761 There is no need for setIsExact to be public. Make it private. | |
5e5c5f8 Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'm thinking of generalizing it to be able to specify other freedoms beyond accuracy (such as that NaN's don't have to be respected). I'd like the 3.1 release (the first one with this metadata) to have the more generic name already rather than having to auto-upgrade it in 3.2. | |
164dfb0 Make StringMap's copy ctor non-explicit. | |
bba23ed Fix an error in BBVectorize important for vectorizing pointer types. | |
f3f5a1e Enhance BBVectorize to more-properly handle pointer values and vectorize GEPs. | |
0070792 misched: Added CanHandleTerminators. | |
6335e41 Remove old code to strip out unwanted PPC slices for Apple llvmCore. | |
42fc29e Fix X86 codegen for 'atomicrmw nand' to generate *x = ~(*x & y), not *x = ~*x & y. | |
3423132 Remove iostream from New Value Jump. | |
fc3665c Add support to BBVectorize for vectorizing selects. | |
8800cad Add support for Hexagon Architectural feature, New Value Jump. | |
05a2fea Pass to replace tranfer/copy instructions into combine instruction where possible. | |
36c38b8 Reduce malloc traffic in DwarfAccelTable | |
e05e55d Support for Hexagon backend. | |
88b271c Support for Hexagon backend. | |
7ece953 On Darwin targets, only use vfma etc. if the source use fma() intrinsic explicitly. | |
d6bf201 Add some comments, and fix a few places that missed setting Changed. | |
6c22695 For ARM disassembly only print 32 unsigned bits for the address of branch targets so if the branch target has the high bit set it does not get printed as: beq 0xffffffff8008c404 | |
4423477 Consider ObjC runtime calls objc_storeWeak and others which make a copy of their argument as "escape" points for objc_retainBlock optimization. This fixes rdar://11229925. | |
064551e By default, use Early-CSE instead of GVN for vectorization cleanup. | |
e92077f Catch the Python exception when subprocess.Popen is failing. | |
8fc7d5c Remove unused variable. | |
7a2e472 Silence various build warnings from Hexagon backend that show up in release builds. Mostly converting 'assert(0)' to 'llvm_unreachable' to silence warnings about missing returns. Also fold some variable declarations into asserts to prevent the variables from being unused in release builds. | |
b57b170 Fix target specific intrinsic handling to adjust intrinsic number before doing attribute table lookup. Also fix attribute table lookup to handle 'invalid' intrinsic correctly. Fixes PR12542 | |
bdc3adc Remove getElfArchType from ELF.h. It's only used in ELFObjectFile.cpp and there's already a copy there. ELF.h was hiding the one there and causing an unused function warning. | |
6c189ec Use the new Use-aware dominates method to apply the objc runtime library return value optimization for phi uses. Even when the phi itself is not dominated, the specific use may be dominated. | |
aab3c0c Code-gen may inject code into the IR before it emits the ASM. The linker obviously cannot know that this code is present, let alone used. So prevent the internalize pass from internalizing those global values which code-gen may insert. | |
511568d Don't move objc_autorelease calls past autorelease pool boundaries when optimizing autorelease calls on phi nodes with null operands. This fixes rdar://11207070. | |
0120f79 Def here is an Instruction, so !isa<Instruction>(Def) is always false, as Eli noticed. | |
558ece2 Add forms of dominates and isReachableFromEntry that accept a Use directly instead of a user Instruction. This allows them to test whether a def dominates a particular operand if the user instruction is a PHI. | |
2a7d3a9 Fix a few more places in the ARM disassembler so that branches get symbolic operands added when using the C disassembler API. | |
6bc572c Update CMake build. | |
cc8002a Hexagon: fix CMake error. | |
2f69e4c Disable Hexagon test temporarily. | |
d1a87a6 HexagonPacketizer patch. | |
c68dda8 This patch improves the MCJIT runtime dynamic loader by adding new handling of zero-initialized sections, virtual sections and common symbols and preventing the loading of sections which are not required for execution such as debug information. | |
f0bcecc Generalize r153635 to deal with TokenFactor chains; also clean up the logic and fix the tests. rdar://11069732, rdar://11236106 | |
e5041e6 Hexagon: enable assembler output through the MC layer. | |
4b47955 Add DFA generator for VLIW targets to ReleaseNotes.html and CREDITS.TXT. | |
503a86b Remove README entry obsoleted by register masks. | |
0ce12d5 Remove a remaining reference to the obsolete C backend in configure | |
bf596c9 Fix 128-bit ptest intrinsics to take v2i64 instead of v4f32 since these are integer instructions. | |
b54efe8 ARM 'adr' fixups don't need the interworking addend tweaking. | |
ed08489 Revert changes that were accidentally committed. | |
55e0e43 Fix string that is being checked. | |
1cc6333 Emit neg.s or neg.d only if -enable-no-nans-fp-math is supplied by user, otherwise expand FNEG during legalization. | |
c12a6e6 Emit abs.s or abs.d only if -enable-no-nans-fp-math is supplied by user. Invalid operation is signaled if the operand of these instructions is NaN. | |
b318cc1 Fixed a case of ARM disassembly getting an assert on a bad encoding of a VST instruction. | |
056c51e Fix bugs in lowering of FCOPYSIGN nodes. | |
2ce182c Remove incorrect comment. | |
11fc646 Tidy up. Remove hard tab characters. | |
bf1aab1 Tidy up. Whitespace. | |
b4b9db2 Fix pasto. | |
c9f27ee Typo. | |
ec14cd7 TableGen's regpressure: emit per-registerclass weight limits. | |
1835547 ARM 'vuzp.32 Dd, Dm' is a pseudo-instruction. | |
5c1761d TableGen'd regpressure: register unit set pruning. | |
6073b30 ARM 'vzip.32 Dd, Dm' is a pseudo-instruction. | |
6fc30c2 Fix the build under Debian GNU/Hurd. Thanks to Pino Toscano for the patch | |
611afc0 Cache the hash value of the operands in the MDNode. | |
f7c3e5f FoldingSet: Push the hash through FoldingSetTraits::Equals, so clients can use it. | |
7484920 Compute hashes directly with hash_combine instead of taking a detour through FoldingSetNodeID. | |
9179487 remove unused argument | |
d6b7b8f Add a C binding to the Target and TargetMachine classes to allow for emitting binary and assembly. Patch by Carlo Kok. Emitting was inspired by but not based on the D llvm bindings. | |
d6fc262 Add two statistics to help track how we are computing the inline cost. | |
2e50619 Reapply 154397. Original message: | |
21293ac Comment typo fix. | |
14b4c03 Add more fused mul+add/sub patterns. rdar://10139676 | |
e611378 Reapply 154396 after fixing a test. | |
bee78fe Clean up ARM fused multiply + add/sub support some more: rename some isel predicates. Also remove NEON2 since it's not really useful and it is confusing. If NEON + VFP4 implies NEON2 but NEON2 doesn't imply NEON + VFP4, what does it really mean? | |
7eb46d8 Fix an overly indented line. Remove an 'else' after an 'if' that returns. | |
c42e640 Inline implVisitAluOverflow by introducing a nested switch to convert the intrinsic to an nodetype. | |
680363b Tablegen'd regpressure: emit the weighted pressure limit. | |
aa744e2 Table-generated register pressure fixes. | |
23de31b Optimize code a bit by calling push_back only once in some loops. Reduces compiled code size a bit. | |
92c9045 Match (fneg (fma) to vfnma. rdar://10139676 | |
0d82fe7 Add retw and lretw instructions. Also, fix Intel syntax parsing for all ret instructions. | |
a0908d0 Merge fma.ll into fusedMAC.ll | |
a69da35 Fix ARM disassembly of VLD instructions with writebacks. And add test a case for all opcodes handed by DecodeVLDInstruction() in ARMDisassembler.cpp . | |
a5378eb ARM add missing Thumb1 two-operand aliases for shift-by-immediate. | |
82509e5 Fix a number of problems with ARM fused multiply add/subtract instructions. 1. The new instruction itinerary entries are not properly described. 2. The asm parser can't handle vfms and vfnms. 3. There were no assembler, disassembler test cases. 4. HasNEON2 has the wrong assembler predicate. rdar://10139676 | |
71fbed4 Tweak MachineLICM heuristics for cheap instructions. | |
8b560b8 Only check for PHI uses inside the current loop. | |
89cdaf46 Fix test to be register assignment invariant. | |
4b74558 TableGen/reginfo potential bug: typo from previous checkin. | |
06886aa Move the constant-folding support for FP_ROUND in SelectionDAG from the one-operand version of getNode() to the two-operand version, since it became a two-operand node at sound point. Zap a testcase that this allows us to completely fold away. | |
83f17f2 llvm-stress: stop abusing ConstantFP::get() | |
701de8f llvm-stress: don't make vectors of x86_mmx type | |
cff60c1 [tsan] two more compile-time optimizations: - don't isntrument reads from constant globals. Saves ~1.5% of instrumented instructions on CPU2006 (counting static instructions, not their execution). - don't insrument reads from vtable (which is a global constant too). Saves ~5%. | |
3aef2ff Handle llvm.fma.* intrinsics. rdar://10914096 | |
507bb7a Add a comment noting that the fdiv -> fmul conversion won't generate multiplication by a denormal, and some tests checking that. | |
3ecb447 The MDString class stored a StringRef to the string which was already in a StringMap. This was redundant and unnecessarily bloated the MDString class. | |
7f1f145 Whitespace. | |
9142ed5 Revert r154396, which looks to be the real culprit behind the bot failures. | |
a139051 Temporarily revert this patch to see if it brings the buildbots back. | |
2076af0 [tsan] compile-time instrumentation: do not instrument a read if a write to the same temp follows in the same BB. Also add stats printing. | |
18112d8 To ensure that we have more accurate line information for a block don't elide the branch instruction if it's the only one in the block, otherwise it's ok. | |
b79855e Revert r154397, which was causing make check failures on the buildbots. | |
a23ecc2 ARM fix cc_out operand handling for t2SUBrr instructions. | |
2330636 Remove unused variable. | |
77dde08 Fix a dagcombine optimization which assumes that the vsetcc result type is always of the same size as the compared values. This is ture for SSE/AVX/NEON but not for all targets. | |
50e64cf Modify the code that lowers shuffles to blends from using blendvXX to vblendXX. blendv uses a register for the selection while vblend uses an immediate. On sandybridge they still have the same latency and execute on the same execution ports. | |
45fb79b Make a somewhat subtle change in the logic of block placement. Sometimes the loop header has a non-loop predecessor which has been pre-fused into its chain due to unanalyzable branches. In this case, rotating the header into the body of the loop in order to place a loop exit at the bottom of the loop is a Very Bad Idea as it makes the loop non-contiguous. | |
999821c Transform div to mul with reciprocal only when fp imm is legal. This fixes PR12516 and uncovers one weird problem in legalize (workarounded) | |
bce0de4 Use the correct section types on Solaris for unwind data on both x86 and x86-64. | |
1fd63df Express the number of ULPs in fpaccuracy metadata as a real rather than a rational number, eg as 2.5 rather than 5, 2. OK'd by Peter Collingbourne. | |
d9fc1ce Fix 12513: Loop unrolling breaks with indirect branches. | |
64c0748 whitespace | |
0fb0678 Fix for register pressure tables. | |
fa12d0d Add proper checks. | |
b52ba49 Make the code slightly more palatable. | |
c72e08b Use std::includes instead of my own implementation. | |
decb37e Added a TargetRegisterInfo interface for accessing register pressure sets. | |
176194d Added register unit sets to the target description. | |
d35ac3c Added register unit weights to the target description. | |
aec111a Fix header comment | |
3fd9b84 Add a constructor for DataRefImpl and remove excess initialization. | |
bf010eb Fix a long standing tail call optimization bug. When a libcall is emitted legalizer always use the DAG entry node. This is wrong when the libcall is emitted as a tail call since it effectively folds the return node. If the return node's input chain is not the entry (i.e. call, load, or store) use that as the tail call input chain. | |
fdb230a Don't try to zExt just to check if an integer constant is zero, it might not fit in a i64. | |
2d620c5 ARM LDR/LDRT has the same encoding collision as STR/STRT. | |
23f369d Test case for PR12495. | |
64fae75 Revert the 'EnableInitializing' flag. There is debate on whether we should run that pass by default in LTO. | |
64d5b28 Apply the scope restrictions after parsing the command line options. There may be some which are used in that function. | |
787c3fd Have TargetLowering::getPICJumpTableRelocBase return a node that points to the GOT if jump table uses 64-bit gp-relative relocation. | |
7f35455 When performing a truncating store, it's possible to rearrange the data in-register, such that we can use a single vector store rather then a series of scalar stores. | |
f31ceaf Patch r153892 for PR11861 apparently broke an external project (see PR12493). | |
96b66d6 Update comments and remove unnecessary isVolatile() check. | |
31ba59a Typo. | |
6bb5212 Fix accidentally constant conditions found by uncommitted improvements to -Wconstant-conversion. | |
decbc43 Pattern match a setcc of boolean value with 0 as a truncate. | |
f08c7ab This patch adds X86 instruction itineraries, which were missed by the original patch to add itineraries, to X86InstrArithmetc.td. | |
92fc76c Clarify that fpaccuracy metadata is giving the compiler permission to use a less accurate method. | |
e80aa7c Lower some x86 shuffle sequences to the vblend family of instructions. | |
a3706d6 s/lto_codegen_whole_program_optimization/lto_codegen_set_whole_program_optimization/ | |
154819d Fix a bug in the lowering of broadcasts: ConstantPools need to use the target pointer type. Move NormalizeVectorShuffle and LowerVectorBroadcast into X86TargetLowering. | |
f920423 Remove unnecessary type check when combining and/or/xor of swizzles. Move some checks to allow better early out. | |
b7135e5 Remove unnecessary 'else' on an 'if' that always returns | |
4b206bd Optimize code slightly. No functionality change. | |
3029a0c Add a hook to turn on the internalize pass through the LTO interface. | |
ae1bec5 Replace some explicit checks with asserts for conditions that should never happen. | |
ab5a55e Cleanup and relax a restriction on the matching of global offsets into x86 addressing modes. This allows PIE-based TLS offsets to fit directly into an addressing mode immediate offset, which is the last remaining code quality issue from PR12380. With this patch, that PR is completely fixed. | |
6916a23 Fold 15 tiny test cases into a single file that implements the comprehensive testing of TLS codegen for x86. Convert all of the ones that were still using grep to use FileCheck. Remove some redundancies between them. | |
10612dc Optimize code a bit. No functional change intended. | |
c47bc33 Silence sign-compare warning. | |
3ef3fcf Only have codegen turn fdiv by a constant into fmul by the reciprocal when -ffast-math, i.e. don't just always do it if the reciprocal can be formed exactly. There is already an IR level transform that does that, and it does it more carefully. | |
f873dde Simplify code that tries to do vector extracts for shuffles when the mask width and the input vector widths don't match. No need to check the min and max are in range before calculating the start index. The range check after having the start index is sufficient. Also no need to check for an extract from the beginning differently. | |
253933e Teach LLVM about a PIE option which, when enabled on top of PIC, makes optimizations which are valid for position independent code being linked into a single executable, but not for such code being linked into a shared library. | |
3479713 Move the TLSModel information into the TargetMachine rather than hiding in TargetLowering. There was already a FIXME about this location being odd. The interface is simplified as a consequence. This will also make it easier to change TLS models when compiling with PIE. | |
0f55449 EngineBuilder::create is expected to take ownership of the TargetMachine passed to it. Delete it on error or when we create an interpreter that doesn't need it. | |
5e93a76 Remove an over zealous assert. The assert was trying to catch places where a chain outside of the loop block-set ended up in the worklist for scheduling as part of the contiguous loop. However, asserting the first block in the chain is in the loop-set isn't a valid check -- we may be forced to drag a chain into the worklist due to one block in the chain being part of the loop even though the first block is *not* in the loop. This occurs when we have been forced to form a chain early due to un-analyzable branches. | |
6313d94 Add a debug-only 'dump' method to the BlockChain structure to ease debugging. | |
2450eca Teach InstCombine to nuke a common alloca pattern -- an alloca which has GEPs, bit casts, and stores reaching it but no other instructions. These often show up during the iterative processing of the inliner, SROA, and DCE. Once we hit this point, we can completely remove the alloca. These were actually showing up in the final, fully optimized code in a bunch of inliner tests I've been working on, and notably they show up after LLVM finishes optimizing away all function calls involved in hash_combine(a, b). | |
9d68b06 AVX2: Build splat vectors by broadcasting a scalar from the constant pool. Previously we used three instructions to broadcast an immediate value into a vector register. On Sandybridge we continue to load the broadcasted value from the constant pool. | |
864737c Remove old 'grep' lines. | |
084cd7f Formatting changes. Don't put spaces in front of some code, which only makes it look 'off'. | |
a0126af FileCheckize these testcases. | |
69b2c71 Remove the 'Parent' pointer from the MDNodeOperand class. | |
5252c43 Allow subclasses of the ValueHandleBase to store information as part of the value pointer by making the value pointer into a pointer-int pair with 2 bits available for flags. | |
b45c969 Turn avx2 vinserti128 intrinsic calls into INSERT_SUBVECTOR DAG nodes and remove patterns for selecting the intrinsic. Similar was already done for avx1. | |
f16ffb1 Move vinsertf128 patterns near the instruction definitions. Add AddedComplexity to AVX2 vextracti128 patterns to give them priority over the integer versions of vextractf128 patterns. | |
ad9fb01 Remove 'else' after 'if' that ends in return. | |
d16c8d0 1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new shuffle node because it could introduce new shuffle nodes that were not supported efficiently by the target. | |
961d666 Convert floating point division by a constant into multiplication by the reciprocal if converting to the reciprocal is exact. Do it even if inexact if -ffast-math. This substantially speeds up ac.f90 from the polyhedron benchmarks. | |
5cd79bc Perform partial SROA on the helper hashing structure. I really wish the optimizers could do this for us, but expecting partial SROA of classes with template methods through cloning is probably expecting too much heroics. With this change, the begin/end pointer pairs which indicate the status of each loop iteration are actually passed directly into each layer of the combine_data calls, and the inliner has a chance to see when most of the combine_data function could be deleted by inlining. Similarly for 'length'. | |
c0d18b6 Fix ValueTracking to conclude that debug intrinsics are safe to speculate. Without this, loop rotate (among many other places) would suddenly stop working in the presence of debug info. I found this looking at loop rotate, and have augmented its tests with a reduction out of a very hot loop in yacr2 where failing to do this rotation costs sometimes more than 10% in runtime performance, perturbing numerous downstream optimizations. | |
c777645 SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW. | |
93abbc2 Fix Thumb __builtin_longjmp with integrated assembler. <rdar://problem/11203543> | |
86312cc Refactor: Use positive field names in VectorizeConfig. | |
847307a Target/X86/MCTargetDesc/X86MCAsmInfo.cpp: Enable DwarfCFI (aka DW2) on Cygming. | |
0fdfaaf Make the test for r154235 more platform-independent with a shorter string. | |
3420e7f Output UTF-8-encoded characters as identifier characters into assembly by default. | |
d4f020a Tidy up. 80 columns. | |
967cbbd ARMPat is equivalent to Requires<[IsARM]>. | |
aa395e8 Eliminate iOS-specific tail call instructions. | |
3e59b5e Add lines in global-address.ll to test N32 and N64 code generation. | |
ba4d457 There is no portable std::abs overload for int64_t, use the llvm::abs64 which exists for this purpose. | |
55e7980 Fixed two leaks in the MC disassembler. The MC disassembler requires a MCSubtargetInfo and a MCInstrInfo to exist in order to initialize the instruction printer and disassembler; however, although the printer and disassembler keep references to these objects they do not own them. Previously, the MCSubtargetInfo and MCInstrInfo objects were just leaked. | |
70fbea7 Allow negative immediates in ARM and Thumb2 compares. | |
b381578 Reintroduce InlineCostAnalyzer::getInlineCost() variant with explicit callee parameter until we have a more sensible API for doing the same thing. | |
9ceebb7 Sink the collection of return instructions until after *all* simplification has been performed. This is a bit less efficient (requires another ilist walk of the basic blocks) but shouldn't matter in practice. More importantly, it's just too much work to keep track of all the various ways the return instructions can be mutated while simplifying them. This fixes yet another crasher, reported by Daniel Dunbar. | |
be2df16 Tweak this test to ensure the inliner did indeed fire. Thanks to Richard Smith for pointing this out in review. | |
a28bd85 Make GVN's propagateEquality non-recursive. No intended functionality change. The modifications are a lot more trivial than they appear to be in the diff! | |
f85cb76 Test case for PR12413 | |
9e5512a Fix narrowing conversion. | |
4e58263 DenseMap: Perform the pod-like object optimization when the value type is POD-like, not the DenseMapInfo for it. | |
9a2b6e1 Allow 256-bit shuffles to be split if a 128-bit lane contains elements from a single source. This is a rewrite of the 256-bit shuffle splitting code based on similar code from legalize types. Fixes PR12413. | |
e45cddf Add the tests that were supposed to go with r153935 that I forgot svn add | |
c0a7a12 Actually finish this sentence in the comment the way I intended. Thanks Matt for pointing this out. | |
6bbab86 Sink the return instruction collection until after we're done deleting dead code, including dead return instructions in some cases. Otherwise, we end up having a bogus poniter to a return instruction that blows up much further down the road. | |
f16936e Deduplicate ARM call-related instructions. | |
3ef7376 ARM: Don't form a t2LDRi8 or t2STRi8 with an offset of zero. | |
42730ce Fix the build breakage introduced by r154131. | |
10d8971 Really fix -Wnon-virtual-dtor warnings; gcc needs the dtors to be explicitly marked as virtual. | |
97d9903 The internalize pass can be dangerous for LTO. | |
4e53fe8 ARM assembly aliases for add negative immediates using sub. | |
ba9536a Reapply test case in 154038, this time with triple to prevent the backend from emitting gp_rel relocation. | |
60b35f4 Patch to set is_stmt a little better for prologue lines in a function. This enables debuggers to see what are interesting lines for a breakpoint rather than any line that starts a function. | |
740cd65 Don't break the IV update in TLI::SimplifySetCC(). | |
036ebfd Fix accidentally inverted logic from r152803, and make the testcase slightly less trivial. This fixes rdar://11171718. | |
703bf84 Fix a problem in the target detection for Debian GNU/HURD | |
1d7e8c6 Fix a problem in the target detection for Debian GNU/kFreeBSD | |
d7484e5 Treat f16 the same as f80/f128 for the purposes of generating constants during instruction selection. | |
1c01249 Added support for unpredictable ADC/SBC instructions on ARM, and also fixed some corner cases involving the PC register as an operand for these instructions. | |
82e1bba Added support for handling unpredictable arithmetic instructions on ARM. | |
940371b BBVectorize: Add the const modifier to the VectorizeConfig because we won't modify it. | |
bef377b Introduce the VectorizeConfig class, with which we can control the behavior of the BBVectorizePass without using command line option. As pointed out by Hal, we can ask the TargetLoweringInfo for the architecture specific VectorizeConfig to perform vectorizing with architecture specific information. | |
17dcaf5 An oversight when applying the patches for r150956 and r150957 to a vanilla tree meant I forgot to svn add these testcases. | |
87825e7 Add the function "vectorizeBasicBlock" which allow users vectorize a BasicBlock in other passes, e.g. we can call vectorizeBasicBlock in the loop unroll pass right after the loop is unrolled. | |
22378fd ARM assembly aliases for two-operand V[R]SHR instructions. | |
541b2a4 In MemoryBuffer::getOpenFile() make sure that the buffer is null-terminated if the caller requested a null-terminated one. | |
b657a90 ARM assembly parsing for 'msr' plain 'cpsr' operand. | |
9243c4f Pass the right sign to TLI->isLegalICmpImmediate. | |
63246de Do not include multiple -arch options in CPPFLAGS. | |
68f404d Fix -Wnon-virtual-dtor warnings. | |
56ce6b3 Reapply 154038 without the failing test. | |
657a4e7 Revert r154038. It was causing make check failures. | |
ef74ca6 REG_SEQUENCE expansion to COPY instructions wasn't taking account of sub register indices on the source registers. No simple test case | |
e25a2bd Fix a C++11 UDL conflict. | |
9751b81 f16 FREM can now be legalized by promoting to f32 | |
e825fb3 Fix LowerGlobalAddress to produce instructions with the correct relocation types for N32 ABI. Add new test case and update existing ones. | |
c75ceb7 Fix LowerJumpTable to produce instructions with the correct relocation types for N32 ABI. Test case will be updated after the patch that fixes TargetLowering::getPICJumpTableRelocBase is checked in. | |
86a2733 Fix LowerConstantPool to produce instructions with the correct relocation types for N32 ABI and update test case. | |
c5041ca Implement ARMBaseInstrInfo::commuteInstruction() for MOVCCr. | |
1487cb3 Remove spurious debug output. | |
03d830e Fix LowerBlockAddress to produce instructions with the correct relocation types for N32 ABI and update test case. | |
99c8a5a Add testcase for r154007, when a function has the optsize attribute, the loop should be unrolled according the value of OptSizeUnrollThreshold. | |
26c8dcc Always compute all the bits in ComputeMaskedBits. This allows us to keep passing reduced masks to SimplifyDemandedBits, but know about all the bits if SimplifyDemandedBits fails. This allows instcombine to simplify cases like the one in the included testcase. | |
00b73a5 LoopUnrollPass: Use variable "Threshold" instead of "CurrentThreshold" when reducing unroll count, otherwise the reduced unroll count is not taking the "OptimizeForSize" attribute into account. | |
a95b4eb Move yaml::Stream's dtor out of line so it can see Scanner's dtor. | |
32d1774 Implement DwarfLLVMRegPair::operator< without violating asymmetry. | |
58609b7 Convert assert(false) followed by a return to llvm_unreachable | |
8d41a1a Remove default case from switch that was already covering all cases. | |
e5ae51a Removed useless switch for default case when switch was covering all the enum values | |
a348fec Fix the install location for the Embedded makefile target. | |
c35146b Sorry about that. MSVC seems to accept just about any random string you give it ;/ | |
d13af63 Remove dead code for installing libLTO when building llvmCore. | |
93210e8 Add YAML parser to Support. | |
2ce63c7 Add VSELECT to LegalizeVectorTypes::ScalariseVectorResult. Previously it would crash if it encountered a 1 element VSELECT. Solution is slightly more complicated than just creating a SELET as we have to mask or sign extend the vector condition if it had different boolean contents from the scalar condition. Fixes <rdar://problem/11178095> | |
dda3a09 Removed one last bad continue statement meant to be removed in r153914. | |
585d580 When building llvmCore, pass the SDKROOT and -arch setting to configure. | |
ac07407 Remove a reference to the C backend. | |
9dbb018 Fix an issue in SimplifySetCC() specific to vector comparisons. | |
1895fc9 Set soname for FreeBSD as well. Patch by Bernard Cafarelli! | |
fa5b050 Fix thinko check for number of operands to be the one that actually might have more than 19 operands. Add a testcase to make sure I never screw that up again. | |
d5be48a Matrix simplification in PBQP may push infinite costs onto register options. The colorability heuristic should count these as denied registers. | |
75e3b7f ARMDisassembler: drop bogus dependency on ARMCodeGen | |
70debec Object: drop bogus VMCore dependency | |
5fdf475 The speedup doesn't appear to have been from this, but was an anomaly of my testing machine. | |
f563fc3 Reserve space for the eventual filling of the vector. This gives a small speedup. | |
43b32e0 Add an additional testcase which checks ops with multiple users. | |
9cd5e7a Make PPCCompilationCallbackC function to be static, so there will be no need to issue call via PLT when LLVM is built as shared library. This mimics the X86 backend towards the approach. | |
9b1b25f Tidy up spacing in some tablegen outputs. | |
769bbfd Add support for AVX enhanced comparison predicates. Patch from Kay Tiong Khoo. | |
90e7d4f Reformatting. No functionality change. | |
cbece8c As Eric pointed out, even a Debug build should be equal. Leave the flag that can turn off comparisons though. | |
9dd16d4 Revert r153924. Delete test/MC/Disassembler/Mips and lib/Target/Mips/Disassembler. | |
0236594 Revert r153924. There were buildbot failures. | |
885020a MIPS disassembler support. | |
5aeda3f Cleanup set_union usage. The same thing but a bit cleaner now. | |
f127595 Use std::set_union instead of nasty custom code. | |
6126a1e Add a line number for the scope of the function (starting at the first brace) so that we get more accurate line number information about the declaration of a given function and the line where the function first starts. | |
2e267ae Fixes to r153903. Added missing explanation of behaviour when the VirtRegMap is NULL. Also changed it in this case to just avoid updating the map, but live ranges or intervals will still get updated and created | |
1adc215 Compare the .o files only for release builds. Add an option to bypass the comparison altogether. | |
789d5d8 Moved LiveRangeEdit.h so that it can be called from other parts of the backend, not just libCodeGen | |
1c8cf21 Make dominatedBySlowTreeWalk private and assert cases handled by the caller. | |
e3b23cd Allocate virtual registers in ascending order. | |
8a06af9 Refactored the LiveRangeEdit interface so that MachineFunction, TargetInstrInfo, MachineRegisterInfo, LiveIntervals, and VirtRegMap are all passed into the constructor and stored as members instead of passed in to each method. | |
3197b44 Add an option to turn off the expensive GVN load PRE part of GVN. | |
29f60f3 Add predicates for checking whether targets have free FNEG and FABS operations, and prevent the DAGCombiner from turning them into bitwise operations if they do. | |
be9fe49 During two-address lowering, rescheduling an instruction does not untie operands. Make TryInstructionTransform return false to reflect this. Fixes PR11861. | |
ce16784 No need to run llvm-as. | |
a551a48 Initial 64 bit direct object support. | |
70272aa The binutils for the IBM BG/P are too old to support CFI. | |
a47406c Add triple support for the IBM BG/P and BG/Q supercomputers. | |
60777d8 Turn on the accelerator tables for Darwin. | |
aad9c3f Fast fix for PR12343: http://llvm.org/bugs/show_bug.cgi?id=12343 | |
466958c Implement the SVR4 byval alignment for aggregates. Fixing a FIXME. | |
545b962 Second part for the 153874 one | |
50ac2e9 Added fix in TableGen instruction decoder generation. The decoder now breaks for every leaf node. | |
5004e98 Add missing 'd'. | |
8ba9405 Hack the hack. If we have a situation where an ASM object is defined but isn't reflected in the LLVM IR (as a declare or something), then treat it like a data object. | |
9433859 Emit the asm writer's mnemonic table with SequenceToOffsetTable. | |
c97ef61 Move getOpcodeName from the various target InstPrinters into the superclass MCInstPrinter. | |
fab3f7e Reorder fields in MatchEntry and OperandMatchEntry to reduce padding. A bit tricky due to the target specific sizes for some of the fields so the ordering is only optimal for the targets in the tree. | |
44b5e6d Optimizing swizzles of complex shuffles may generate additional complex shuffles. | |
7c0b3c1 Remove getInstructionName from MCInstPrinter implementations in favor of using the instruction name table from MCInstrInfo. Reduces static data in the InstPrinter implementations. | |
79e22d8 Fix CXXFLAGS for huge_val.m4. | |
17463b3 Make MCInstrInfo available to the MCInstPrinter. This will be used to remove getInstructionName and the static data it contains since the same tables are already in MCInstrInfo. | |
1fcbca0 It could come about that we parse the inline ASM before we get a potential definition for it. In that case, we want to wait for the potential definition before we create a symbol for it. | |
a4bd58b Use SequenceToOffsetTable to generate instruction name table for AsmWriter. | |
caa2c40 Start cleaning up the InlineCost class. This switches to sentinel values rather than a bitfield, a great suggestion by Chris during code review. | |
b66e943 Fix some 80-col. violations I introduced with the A2 PPC64 core. | |
19aa2b5 Enable prefetch generation on PPC64. | |
730acfb Add LdStSTD* itin. for the PPC64 A2 core. | |
4ac9081 This commit contains a few changes that had to go in together. | |
16d6eae Fix typo. | |
3f31d49 Set the default PPC node scheduling preference to ILP (for the embedded cores). | |
800125f Add ppc440 itin. entries for LdStSTD* | |
97c9d4c Use full anti-dep. breaking with post-ra sched. on the embedded ppc cores. | |
4d989ac Add instruction itinerary for the PPC64 A2 core. | |
413b2e7 Use SequenceToOffsetTable to create instruction name table. Saves space particularly on X86 where AVX instructions just add a 'v' to the front of other instructions. | |
243018f Emit the LLVM<->DWARF register mapping as a sorted table and use binary search to do the lookup. | |
dafe48e Belatedly address some code review from Chris. | |
48ec3b5 Add some more testing to cover the remaining two cases where always-inlining is disabled: recursive functions and indirectbr. | |
6052eef Fix a pretty scary bug I introduced into the always inliner with a single missing character. Somehow, this had gone untested. I've added tests for returns-twice logic specifically with the always-inliner that would have caught this, and fixed the bug. | |
0b42f9d Replace four tiny tests with various uses of grep and not with a single test and FileCheck. | |
830da40 misched: Add finalizeScheduler to complete the target interface. | |
d9182d6 Removing a file that's no longer being used after the recent refactorings | |
20b529b Split the LdStGeneral PPC itin. class into LdStLoad and LdStStore. | |
6226c49 Add a workaround for building with old versions of clang. | |
f10037b Add a triple to the test. | |
95d594c Teach CodeGen's version of computeMaskedBits to understand the range metadata. This is the CodeGen equivalent of r153747. I tested that there is not noticeable performance difference with any combination of -O0/-O2 /-g when compiling gcc as a single compilation unit. | |
5b00cea Fix dynamic linking on PPC64. | |
f5f256c Fix a typo reported in IRC by someone reviewing this code. | |
b594a84 Give the always-inliner its own custom filter. It shouldn't have to pay the very high overhead of the complex inline cost analysis when all it wants to do is detect three patterns which must not be inlined. Comment the code, clean it up, and leave some hints about possible performance improvements if this ever shows up on a profile. | |
45de584 Remove a bunch of empty, dead, and no-op methods from all of these interfaces. These methods were used in the old inline cost system where there was a persistent cache that had to be updated, invalidated, and cleared. We're now doing more direct computations that don't require this intricate dance. Even if we resume some level of caching, it would almost certainly have a simpler and more narrow interface than this. | |
f2286b0 Initial commit for the rewrite of the inline cost analysis to operate on a per-callsite walk of the called function's instructions, in breadth-first order over the potentially reachable set of basic blocks. | |
7384530 Add support to the InstVisitor for visiting a generic callsite. The visitor will now visit a CallInst and an InvokeInst with instruction-specific visitors, then visit a generic CallSite visitor, then delegate back to the Instruction visitor and the TerminatorInst visitors depending on whether a call or an invoke originally. This will be used in the soon-to-land inline cost rewrite. | |
7baa27d Move trivial functions into the class definition. | |
deee238 Trim headers. | |
c94c562 Indent according to LLVM's style guide. | |
ab53bc7 Cleanup whitespace and trim some of the #includes. | |
1955c9c Internalize: Remove reference of @llvm.noinline, it was replaced with the noinline attribute a long time ago. | |
f2cc2ee These strings aren't 'const char *' but 'char *'. | |
76b13ed Cleanup whitespace. | |
caf71d4 Free the codegen options when deleting LTO code generator object. | |
168f142 Cleanup whitespace and remove unneeded 'extern' keyword on function definitions. | |
426d571 Clean up the naming in this test. Someone pointed this out in review at one point, and I forgot to go back and clean it up. Sorry about that. =/ | |
c3e9559 FileCheck-ize this test, and generally tidy it up prior to changing things around. | |
4000afe I noticed in passing that the Metadata getIfExists method was creating a new node and returning it if one didn't exist. | |
6173ed9 Correctly vectorize powi. | |
9f2a9d7 comment typo | |
b2874df Select static relocation model if it is jitting. | |
dd9a501 Introduce Register Units: Give each leaf register a number. | |
3ee3661 Add a 2 byte safety margin in offset computations. | |
101c03a Add more debugging output to ARMConstantIslandPass. | |
5ff4bc2 * Set the scope attributes for the ASM symbol we added to be the value passed into the function. * Reorder some header files. | |
cef670a Rip out emission of the regIsInRegClass function for the asm printer. | |
bf3c322 ARM fix encoding fixup resolution for ldrd and friends. | |
c19f72b Use SequenceToOffsetTable in emitRegisterNameString. | |
0d4e2ea Reapply 153764 and 153761 with a fix. | |
77ff8bb Revert 153764 and 153761. They broke a --enable-optimized --enable-assertions --enable-expensive-checks build. | |
ad353c6 ARM assembler should prefer non-aliases encoding of cmp. | |
a45e374 ARM encoding for VSWP got the second operand incorrect. | |
8f1148b ARM can only use narrow encoding for low regs. | |
ecf2d9f Compress SimpleValueType lists by sharing. | |
8f36b0b Compress register lists by sharing suffixes. | |
184440e Add a SequenceToOffsetTable to TableGen. | |
2d30d94 ARM integrated assembler should encoding choice for add/sub imm. | |
092c5cc Handle unreachable code in the dominates functions. This changes users when needed for correctness, but still doesn't clean up code that now unnecessary checks for reachability. | |
0e4fa5f Re-factored RuntimeDyLd: | |
c0164f8 ARM assembly parsing needs to be paranoid about negative immediates. | |
7c7121e Add computeMaskedBitsLoad back, as it was the change to instsimplify that caused the slowdown last time. | |
2f1abe9 Add a note about a missed cmov -> sbb opportunity. | |
8fd3fcd Cleanup whitespace. Doxygenize comments. And indent to llvm coding standards. | |
cb0809b Ensure conditional BL instructions for ARM are given the fixup fixup_arm_condbranch. | |
1c80f56 ARM target should allow codegenprep to duplicate ret instructions to enable tailcall opt. rdar://11140249 | |
c459d31 Testcase for r153710. | |
4108bd3 Add testcase for r153705 | |
84364a4 If we have a VLA that has a "use" in a metadata node that's then used here but it has no other uses, then we have a problem. E.g., | |
f9e894d Change the constant in this testcase so that it results in a constant pool load. | |
288967d Revert r153694. It was causing failures in the buildbots. | |
7a4c071 Invalidate liveness in ARMConstantIslandPass. | |
ccca22e Prefer even-odd D-register pairs. | |
803d134 Filecheck-ize this test so that it actually tests something reasonable. | |
c0a9f82 Try using vmov.i32 to materialize FP32 constants that can't be materialized by vmov.f32. | |
4b0b8ef Re-factored RuntimeDyld. Added ExecutionEngine/MCJIT tests. | |
6c31ee2 Lowercase the tag name to match the rest of dwarf. | |
b22e70d ARM assembly 'cmp lr, #0' should not encode using 'cmn'. | |
182c34b The shuffle scheduler is only available in asserts build - make misched-new.ll testcase require asserts. | |
85bdf2e Handle register copies for the new ARM register classes. | |
e13cea4 Drop O4 from the llc manpage, it was removed in r70445. | |
616c841 Make x86 REP_MOV* and REP_STO instructions use the correct operand sizes in 64-bit mode. | |
95c677e Fix missed files in JIT unittests Makefile | |
21ecc2f Expand FREM. | |
c6a96ff Add more constness to CodeGenRegisters. | |
41e2073 Don't PRE compares. | |
7347840 Replace assert(0) with llvm_unreachable to avoid warnings about dropping off the end of a non-void function in Release builds. | |
b8ca988 Add support for objc property decls according to the page at: | |
24b8780 Make some headway towards compiling all of LLVM. | |
9e6ddcb Only allow symbolic names for (v)cmpss/sd/ps/pd encodings 8-31 to be used with 'v' version of instructions. | |
76d0310 For X86, change load/dec-or-inc/store into dec-or-inc, respectively. | |
3c6b29b Cleanup whitespace. | |
9f3b483 Cache the end() iterator. | |
f75f427 Reverted to revision 153616 to unblock build | |
c367a3e For X86, change load/dec-or-inc/store into dec-or-inc, respectively. | |
8b4c502 Enable machine code verification in the entire code generator. | |
7881166 Enable machine code verification after PreSched2 passes. | |
3bb1738 Cleanup some whitespaces. | |
892143f Don't kill the base register when expanding strd. | |
dc909bf Preserve implicit defs in ARMLoadStoreOptimizer. | |
eb95f65 Tidy up. Whitespace. | |
30b9e32 Move getPointerToNamedFunction() from JIT/MCJIT to JITMemoryManager. | |
8f3fabe Handle intrinsics in GlobalsModRef. Fixes pr12351. | |
5b2f913 Spill DPair registers, not just QPR. | |
2ef5bf6 Also verify after ExpandPostRAPseudos. | |
61476d6 Inline function into its one caller. | |
663ee20 Enable machine code verification after the late machine optimization passes. | |
948a444 Skip liveness verification when MRI->tracksLiveness() is false. | |
62cf01e Reformat the LTOModule code to be more inline with LLVM's coding standards. Add a bunch of comments for the various functions. No intended functionality change. | |
8d813de Revert r153516: "Invalidate liveness in Thumb2ITBlockPass." Revert r153519: "ARMLoadStoreOptimizer invalidates register liveness." | |
78836f0 Allow removeLiveIn to be called with a register that isn't live-in. | |
89e2b31 Revert r153521 as it's causing large regressions on the nightly testers. Original commit message for r153521 (aka r153423): Use the new range metadata in computeMaskedBits and add a new optimization to instruction simplify that lets us remove an and when loding a boolean value. | |
442ee9c Fixed commuteInstructions bug where if its called pre-regalloc the subreg indices weren't commuted | |
c1ea16e GlobalOpt: If we have an inbounds GEP from a ConstantAggregateZero global that we just determined to be constant, replace all loads from it with a zero value. | |
9b58464 Add another note about a missed compare with nsw arithmetic instcombine. | |
6e9d66c Fixup VST1.32 with writeback instruction. Also re-factor non-writeback version. | |
afff330 Switch to WeakVHs in the value mapper, and aggressively prune dead basic blocks in the function cloner. This removes the last case of trivially dead code that I've been seeing in the wild getting inlined, analyzed, re-inlined, optimized, only to be deleted. Nukes a FIXME from the cleanup tests. | |
9fc5c83 More debug output. | |
663e0cf Fix the output of the DW_TAG_friend tag to include DW_AT_friend and not the rest of the member tag. | |
30fe94e Some whitespace cleanup. | |
d4ec054 Use the correct filename for the error message. | |
7242a4f Use Nakamura's suggestion of bypassing using 'filename' and just the pointers directly. | |
5ca6b02 Turn off post-RA scheduler by default. | |
c2212f1 Fix 80-column violation. | |
701ea2b Fix test case. | |
81a424b Turn on post register allocation scheduler. | |
37ac18e Sort relocation entries before they are written out to a file. MIPS ABI imposes a constraint that GOT16 referring to a local symbol or HI16 has to be followed immediately by a matching LO16 relocation. | |
f93b863 Emit all directives except for ".cprestore" during asm printing rather than emit them as machine instructions. Directives ".set noat" and ".set at" are now emitted only at the beginning and end of a function except in the case where they are emitted to enclose .cpload with an immediate operand that doesn't fit in 16-bit field or unaligned load/stores. | |
d0b5c65 Mark flag neverHasSideEffects of pattern-less instructions that do not have any side effects. | |
da94248 MSVC doesn't like the mixing of declarations and statements in a .c file. | |
f2fd23b Add a note about a cute little fabs optimization. | |
c8591a4 Add two missed instcombines related to compares with nsw arithmetic. | |
66e30f8 Try to use the CWD if the path to the GCDA output is not available (e.g., the executable has been moved to another machine). If that's not available (read-only or something), then exit gracefully. <rdar://problem/11111686> | |
ced8af1 Remove trailing white space. | |
5f46eb1 Use a SmallVector and linear lookup instead of a DenseSet - SourceMap values will always be tiny sets, so DenseSet is overkill (SmallSet won't work as we need iteration support). | |
95f95a7 Add member EmitNOAT and its setter and getter functions to class MipsFunctionInfo. If EmitNOAT is true, directives ".set noat" and ".set at" are emitted at the beginning and end of a function. | |
130ba34 Add a test for the previous commit. Also, remove two tests that were testing a) the wrong behavior or b) something that I'm already testing in the new test. | |
7f31659 Use DW_AT_low_pc for a single entry point into a routine. | |
d23a64c Reapply r153423; the original commit was fine. The failing test, distray, had undefined behavior, which Rafael was kind enough to fix. | |
8055430 ARMLoadStoreOptimizer invalidates register liveness. | |
1f14168 Print SSA and liveness tracking flags in MF::print(). | |
80799fb Branch folding may invalidate liveness. | |
33fa614 Invalidate liveness in Thumb2ITBlockPass. | |
77d9521 fix what looks like a real logic bug, found by PVS-Studio (part of PR12357) | |
aba6559 Add an MRI::tracksLiveness() flag. | |
9c55f59 llvm/docs/*.html: Fix markups. | |
dacffb6 Make a seemingly tiny change to the inliner and fix the generated code size bloat. Unfortunately, I expect this to disable the majority of the benefit from r152737. I'm hopeful at least that it will fix PR12345. To explain this requires... quite a bit of backstory I'm afraid. | |
4e02f23 Prune some includes | |
c89c744 Remove unnecessary llvm:: qualifications | |
b4549e1 Pass the llvm IR pointer value and offset to the constructor of MachinePointerInfo when getStore is called to create a node that stores an argument passed in register to the stack. Without this change, the post RA scheduler will fail to discover the dependencies between the stores instructions and the instructions that load from a structure passed by value. | |
13daee3 Fix bug in LowerConstantPool. | |
56e1ed5 Add T9 to the list of live-in registers of the entry basic block. | |
59182f9 Retrieve and add the offset of a symbol in applyFixup rather than retrieve and set it in MipsMCCodeEmitter::getMachineOpValue. Assert in getMachineOpValue if MachineOperand MO is of an unexpected type. | |
d7edf7e Define function MipsGetSymAndOffset which returns a fixup's symbol and the offset applied to it. | |
d6c2355 Post-ra LICM should take care not to hoist an instruction that would clobber a register that's read by the preheader terminator. | |
bca9c25 Rewrite computation of Value in adjustFixupValue so that the upper 48-bits are cleared. No functionality change. | |
d9eb1d7 During MachineCopyPropagation a register may be the source operand of multiple copies being considered for removal. Make sure to track all of the copies, rather than just the most recent encountered, by holding a DenseSet instead of an unsigned in SrcMap. | |
7067d4e Reserve hardware registers. | |
e279f59 ARM has a peephole optimization which looks for a def / use pair. The def produces a 32-bit immediate which is consumed by the use. It tries to fold the immediate by breaking it into two parts and fold them into the immmediate fields of two uses. e.g movw r2, #40885 movt r3, #46540 add r0, r0, r3 => add.w r0, r0, #3019898880 add.w r0, r0, #30146560 ; However, this transformation is incorrect if the user produces a flag. e.g. movw r2, #40885 movt r3, #46540 adds r0, r0, r3 => add.w r0, r0, #3019898880 adds.w r0, r0, #30146560 Note the adds.w may not set the carry flag even if the original sequence would. | |
20df03c Add a debug option to dump PBQP graphs during register allocation. | |
eb6dd23 SCEV fix: Handle loop invariant loads. | |
29a776b Add 'undef's to make SWIG happier. Patch by Baozeng Ding. | |
c4b2271 Add InitializeNativeTargetDisassembler function. | |
11641d3 Unit test for PR11950: LSR crash. | |
0821200 Use the file in the inlined die rather than the compile unit for backtrace locations. | |
02f0a49 153465 was incorrect. In this code we wanted to check that the pointer operand is of pointer type (and not vector type). | |
b38aae4 Made RuntimeDyldMachO support vanilla i386 relocations. The algorithm is the same as that for x86_64. Scattered relocations, a feature present in i386 but not on x86_64, are not yet supported. | |
c71108b PR12357: The pointer was used before it was checked. | |
05fecbe LSR ivchain bug fix: corner case with ConstantExpr. | |
d4e46a6 comment typo | |
de813b7 eliminate an unneeded branch, part of PR12357 | |
ef18cd3 fix a failure path to print the right thing, part of PR12357 | |
7d8eb71 Tidy. | |
373c2d3 Tidy. | |
cde6650 Revert r153423 as this is causing failures on our internal nightly testers. | |
81748bc LSR cleanup: potential bug caught by PVS-Studio. | |
f642821 docs/lit: Add some notes on the lit test run output format. | |
52eb6992 [tsan] treat vtable pointer updates in a special way (requires tbaa); fix a bug (forgot to return true after instrumenting); make sure the tsan tests are run | |
be3f051 No need to do an expensive stable sort for a bunch of integers. | |
5dc8055 Add missing include of <new> | |
a3ad585 Fix GetMainExecutable on kFreeBSD. Patch by Sylvestre Ledru! | |
d792a27 Remove stale CBackend tests. | |
72e84f5 TableGen: Don't emit the llvm intrinsic -> gcc builtin table, its only user was the c backend. | |
f1d0f77 Prune some includes and forward declarations. | |
7e1e18f Add a debug statement. | |
b2bc6e4 Add some fixes to the configure script for isInf and add --enable-libcpp to projects/sample. | |
4787cc4 Update documentation for old api changes. | |
7ddcd35 Use the new range metadata in computeMaskedBits and add a new optimization to instruction simplify that lets us remove an and when loding a boolean value. | |
0e5233a Prune includes and replace uses of ARMRegisterInfo.h with ARMBaeRegisterInfo.h | |
acf2077 Replace uses of ARMBaseInstrInfo and ARMTargetMachine with the Base versions. | |
58725a6 Teach instsimplify how to simplify comparisons of pointers which are constant-offsets of a common base using the generic GEP-walking logic I added for computing pointer differences in the same situation. | |
9d9e29b Switch the pointer-difference simplification logic to only work with inbounds GEPs. This isn't really necessary for simplifying pointer differences, but I'm planning to re-use the same code to simplify pointer comparisons where it is necessary. Since real code almost exclusively uses inbounds GEPs, it doesn't seem worth it to support the extra complexity of turning it on and off. If anyone would like that back, feel free to shout. Note that instcombine will still catch any of these patterns. | |
805853b Prune some includes and forward declarations. | |
6c01492 Prune some includes and forward declarations. | |
a5adcc1 This file is no longer needed (DejaGNU-isms removed from code) | |
626c346 s/restrict/describe/ Thanks Duncan. | |
f8c8a9c Teach the function cloner (and thus the inliner) to simplify PHINodes aggressively. There are lots of dire warnings about this being expensive that seem to predate switching to the TrackingVH-based value remapper that is automatically updated on RAUW. This makes it easy to not just prune single-entry PHIs, but to fully simplify PHIs, and to recursively simplify the newly inlined code to propagate PHINode simplifications. | |
0417d7d Fix lit failure on cmake-clang-x64_64-linux bot, apparently due to its having a very (*very*) old version of Python (2.4?) | |
cc85160 Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu | |
533017a Update README.android. | |
d54f9a4 Move the instruction simplification of callsite arguments in the inliner to instead rely on much more generic and powerful instruction simplification in the function cloner (and thus inliner). | |
acdae3e Add an asserting ValueHandle to the block simplification code which will fire if anything ever invalidates the assumption of a terminator instruction being unchanged throughout the routine. | |
eede6c9 Use the isReachableFromEntry method. | |
858cd1c Don't form a WeakVH around the sentinel node in the instructions BB list. This is a bad idea. ;] I'm hopeful this is the bug that's showing up with the MSVC bots, but we'll see. | |
42c487d Avoid using dominatedBySlowTreeWalk. | |
3770f60 Migrate external/llvm to LLVM-153224-20120321. | |
6231d5b Try to harden the recursive simplification still further. This is again spotted by inspection, and I've crafted no test case that triggers it on my machine, but some of the windows builders are hitting what looks like memory corruption, so *something* is amiss here. | |
c5b785b Don't add the instruction about to be RAUW'ed and erased to the worklist. This can happen in theory when an instruction uses itself, such as a PHI node. This was spotted by inspection, and unfortunately I've not been able to come up with a test case that would trigger it. If anyone has ideas, let me know... | |
300361a Fix null to integer conversion warnings. | |
b809546 FileCheck-ize this test. Note the FIXME I've introduced here: we've regressed seriously here, we are no longer removing allocas during inline cleanup. This appears to be because of lifetime markers "using" them. =/ I'll look into this shortly. | |
6b98054 Refactor the interface to recursively simplifying instructions to be tad bit simpler by handling a common case explicitly. | |
afe629d Remove always true variable. | |
692cd45 Add a small release not about the range metadata. | |
d1acd05 README.android. | |
179a4dd Fix small-integer VAARG on SVR4 ABI PPC64. | |
5194d6d Add the ability to promote legal integer VAARGs. This is required for the PPC64 SVR4 ABI. | |
b54a5ed Fix the MSVC build. | |
4108508 PTX: Fix predicate logic bug | |
c5480c6 More IndVarSimplify cleanup. | |
39dd328 First part of PR12251. Add documentation and verifier support for the range metadata. | |
1db3949 add EP_OptimizerLast extension point | |
a20689f It's possible for two types, which are isomorphic, to be added to the destination module, but one of them isn't used in the destination module. If another module comes along and the uses the unused type, there could be type conflicts when the modules are finally linked together. (This happened when building LLVM.) | |
7a46525 ARM tidy up ARMConstantIsland.cpp. | |
7c0bc00 Pretty-printing comments for literal floating point in .s files. | |
00ca888 Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation entries in the relocation table before they are written out to the file. | |
6fedb3c Don't convert objc_retainAutoreleasedReturnValue to objc_retain if it is retaining the return value of an invoke that it immediately follows. | |
fbab4a8 It's not possible to insert code immediately after an invoke in the same basic block, and it's not safe to insert code in the successor blocks if the edges are critical edges. Splitting those edges is possible, but undesirable, especially on the unwind side. Instead, make the bottom-up code motion to consider invokes to be part of their successor blocks, rather than part of their parent blocks, so that it doesn't push code past them and onto the edges. This fixes PR12307. | |
8e1fc56 Make it feasible for clients using EngineBuilder to capture the TargetMachine that is created as part of selecting the appropriate target. This is necessary if the client wants to be able to mutate TargetOptions (for example, fast FP math mode) after the initial creation of the ExecutionEngine. | |
f1113ef Add support for register masks to PBQP. | |
81bbdfd Include cctype for std::isprint. | |
901b858 Include cstdio in a few place that depended on getting it transitively through StringExtras.h | |
e68e775 Move ftostr into its last user (cppbackend) and simplify it a bit. | |
d25dc33 Add soname to LLVM shared library on Linux. Probably the same stuff is necessary for *BSD. Patch from Mageia! | |
e959f7e When propagating equalities, eg replacing A with B in every basic block dominated by Root, check that B is available throughout the scope. This is obviously true (famous last words?) given the current logic, but the check may be helpful if more complicated reasoning is added one day. | |
01b305f Indentation. | |
208b6f6 Ignore the last message. | |
b22a166 Revert patch. It broke the build. | |
12d9a90 Dematerialize the source functions after we're done with them. This saves a bit of memory during LTO. | |
a443e5b Remove the C backend. | |
fe3956f Fix up cmake build. | |
9e7e609 Take out the debug info probe stuff. It's making some changes to the PassManager annoying and should be reimplemented as a decorator on top of existing passes (as should the timing data). | |
8a618a2 Explicitly close optionally closed <li> tags. | |
d194454 Remove -enable-lsr-retry in time for 3.1. | |
bd618f1 Remove -enable-lsr-nested in time for 3.1. | |
ee5a53d Some whitespace and comment cleanup. | |
6d6c6d7 Remove unneeded #ifdefs. | |
cd7193f Add a 'dump' method to the type map. Doxygenify some of the comments and add a few comments where none existed before. Also change a function's name to match the current coding standard. No functionality change. | |
479389a Source order scheduler should not preschedule nodes with multiple uses. rdar://11096639 | |
5aef795 Assign node orders to target intrinsics which do not produce results. rdar://11096639 | |
c7f5c6e Refactor the code for visiting instructions out into helper functions. | |
1508e5e Cleanup IVUsers::addUsersIfInteresting. | |
9f25395 Remove unused simplifyIVUsers | |
db0d666 Remove -enable-iv-rewrite, which has been unsupported since 3.0. | |
0c0a3ef Convert -indvars tests that rely on SCEV expansion to -loop-reduce tests. | |
f6399a6 Remove tests: indvars trivially preserves GEPs now. | |
3730a85 Remove test: trivial canonical IV test which is covered by other SCEV tests. | |
54e3ade Test scalar evolution directly instead of testing the result of canonical indvars. | |
dba9573 Remove redundant -enable-iv-rewrite=false flags from test cases. | |
6fe310e Added soft fail checks for the disassembler when decoding some corner cases of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM. | |
b7c2ed6 Added soft fail cases for the disassembler when decoding LDRSBT, LDRHT or LDRSHT instruction on ARM | |
a0c48eb Added soft fail cases for the disassembler when decoding MUL instructions on ARM. | |
e3295cc [python] Add negative MemoryBuffer testcase | |
63bd926 Remove some unnecessary forward declarations. | |
3e29671 Revert a series of commits to MCJIT to get the build working in CMake (and hopefully on Windows). The bots have been down most of the day because of this, and it's not clear to me what all will be required to fix it. | |
f2f6182 PPC::DBG_VALUE must use Reg+Imm frame-index elimination even for large offsets. Fixes PR12203. | |
eabe3ad add load/store volatility control to the C API, patch by Yiannis Tsiouris! | |
1fe6bfc don't use "signed", just something I noticed in patches flying by. | |
aa206ff In erroneous inline assembly we could mistakenly try to access the metadata operand as an actual operand, leading to an assert. Error out in this case. | |
544b9b4 [fast-isel] Fold "urem x, pow2" -> "and x, pow2-1". This should fix the 271% execution-time regression for nsieve-bits on the ARMv7 -O0 -g nightly tester. This may also improve compile-time on architectures that would otherwise generate a libcall for urem (e.g., ARM) or fall back to the DAG selector. rdar://10810716 | |
55f43d6 [PathV2]: Fix bug in create_directories which caused infinite recursion on som inputs. | |
98a92d1 Add a release note for r145714. | |
0726926 misched: tag a few XFAILs that I plan to fix | |
799184d Re-factored RuntimeDyld. Added ExecutionEngine/MCJIT tests. | |
f0586f0 Fix ARM disassembly of VST1 and VST2 instructions with writeback. And add test case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp . | |
9ca3b89 Fix windows compilation warning. Patch by Micah. | |
0191bfc Add a ${pathsep} variable to lit that expands to : (or ; on win32). | |
b474620 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153208 91177308-0d34-0410-b5e6-96231b3b80d8 | |
6ae599a Missed getPointerToNamedFunction() declaration. | |
7803ec3 Based on this discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120305/138477.html 1. Declare a virtual function getPointerToNamedFunction() in JITMemoryManager 2. Move the implementation of getPointerToNamedFunction() form JIT/MCJIT to DefaultJITMemoryManager. | |
331ff3b Checking a build_vector for an all-ones value. | |
208a4ff [asan] fix one more bug related to long double | |
d9e85ef Put Is64BitMemOperand into !defined(NDEBUG) for now. | |
47817f3 Use a signed value for this enum to avoid spuriuos warnings from gcc. | |
ff739c1 Teach instsimplify to gracefully degrade in the presence of instructions not attched to a basic block or function. There are conservatively correct answers in these cases, and this makes the analysis more useful in contexts where we have a partially formed bit of IR. | |
a8d873e [python] Add some paths where to find test binary | |
3595954 [python] Mark get_test_binary as not being a test | |
9146e66 lit/TestRunner.py: [Win32] Rework WinWaitReleased() again! "win32file" from Python Win32 Extensions. | |
57f33c8 Finish organizing C API docs. | |
4fd3d29 Fix generation of the address size override prefix. Add assertions for the invalid cases. At least 16bit operand in 64bit mode is currently not rejected in the parser. | |
10fa51b I meant to disable this test, not XFAIL it | |
c6a19dd misched: beginning to add unit tests | |
f70af52 misched: fix LiveInterval update for bottom-up scheduling | |
aad37f1 misched: trace LiveIntervals after scheduling. | |
1ce062f misched: obvious iterator update fixes for bottom-up. | |
0b0d899 misched: cleanup main loop | |
e0b51ab misched: fix LI update for bottom-up. | |
6244b51 Organize LLVM C API docs into doxygen modules; add docs | |
9be7c94 Add typecast to silence -Wswitch warning introduced by r153153. | |
3d092db Spacing fixes and using 'unsigned' instead of 'int' to index to select shuffle elements for consistency with other shuffle code in X86 backend. | |
fb54afb Incremental big endian patch by Jack Carter. | |
b7febfb Zap some dead code pointed out by Chandler. | |
4211c19 Make sure ImmutableSet never inserts Tombstone/Entry into DenseMap. | |
5069b21 RuntimeDyldMachO has the ability to keep track of relocations (i.e., pieces of data whose addresses are referred to elsewhere in the binary image) and update the references when the section containing the relocations moves. The way this works is that there is a map from section IDs to lists of relocations. | |
768b4e8 Fix test case from r153135. | |
1b1fdc0 [avx] Add patterns for combining vextractf128 + vmovaps/vmovups/vmobdqu to vextractf128 with 128-bit mem dest. | |
48c9533 Assembler should accept redefinitions of unused variable symbols. | |
93a1a0d Tidy up. | |
03a1852 Change conditional instructions definitions, e.g. ANDCC, ARMPseudoExpand and t2PseudoExpand. | |
7edc277 LoopSimplify bug fix. Handle indirect loop back edges. | |
cd1142e whitespace | |
a3b10b8 LSR: teach isSimplifiedLoopNest to handle PHI IVUsers. | |
f949228 LSR: fix IVUsers isSimplifiedLoopNest to perform a full domtree walk instead of skipping the current loop. | |
aa7b3df Reserve number of MI operands to accom,odate complex patterns. | |
98a27ac remove unused variable | |
a3bfdf5 [avx] Add the AddedComplexity to the VINSERTI128 avx2 patterns to give precedence over the VINSERTF128 avx1 patterns. | |
aaa1e2f Require a base pointer for stack realignment when SP may vary dynamically. | |
055a812 Remove some redundant checks. | |
666da16 Whitespace. | |
36a273a [avx] Move the vextractf128 patterns closer to the vextractf128 def. Remove whitespace from test case. No functional change intended. | |
9f2e160 Fix assembling ARM vst2 instructions with double-spaced registers. | |
07cdd80 ARM non-scattered MachO relocations for movw/movt. | |
1fc999e Fix test. | |
33e528d [avx] Adjust the VINSERTF128rm pattern to allow for unaligned loads. | |
5c062ad The ARM instructions that have an unpredictable behavior when the pc register operand is given now fail with soft fail. Modified the regression tests to reflect this. | |
8da7a46 test commit | |
db9ca59 Test Commit - add a newline | |
21e42d0 It's possible to have a constant expression who's size is quite big (e.g., i128). In that case, we may not be able to print out the MCExpr as an expression. For instance, we could have an MCExpr like this: | |
89f4e66 Remove code that prevented lowering shuffles if they are used by load and themselves used by a extract_vector_elt. This was done to allow the DAG combiner to collapse to a single element load. Unfortunately, sometimes the extract_vector_elt would disappear before DAG combine could do the transformation leaving a vector_shuffle that isel couldn't handle. New code lets the shuffle be converted to a target specific node, but then adds a combine routine that can convert target specific nodes back to vector_shuffles if the folding criteria are met. | |
a1ffc68 Factor out target shuffle mask decoding from getShuffleScalarElt and use a SmallVector of int instead of unsigned for shuffle mask in decode functions. Preparation for another change. | |
0c9da21 When combining (vextract shuffle (load ), <1,u,u,u>), 0) -> (load ), add users of the final load to the worklist too. Needed by changes I'm preparing to make to X86 backend. | |
8c5293c Do everything up to generating code to try to get a register for a variable. The previous code would break the debug info changing code invariant. This will regress debug info for arguments where we elide the alloca created. | |
c415af2 Untabify. | |
4476bae Add another debugging statement here. | |
4e27027 Use lookUpRegForValue here instead of duplicating the code. | |
1aa73cc Fix two bugpoint bugs: | |
e0ac6f8 fix PR12301 - llvm-bcanalyze should print to stdout, not stderr (except for errors). | |
cfe2998 f16 FDIV can now be legalized by promoting to f32 | |
e59b0e7 fix a build failure with libc++ | |
fa1f744 ARM branch relaxation for unconditional t1 branches. | |
ceee984 ARM assembly, accept optional '#' on lane index number. | |
1f6e3f9 [Object/COFF]: Expose getSectionContents. | |
b35a896 [Object/COFF]: Expose getSectionName. Also add some documentation. | |
2d7ea04 Perform mul combine when multiplying wiht negative constants. Patch by Weiming Zhao! This fixes PR12212 | |
23f1cbb Add an option to the MI scheduler to cut off scheduling after a fixed number of instructions have been scheduled. Handy for tracking down scheduler bugs, or bugs exposed by scheduling. | |
8c0134a [asan] don't emit __asan_mapping_offset/__asan_mapping_scale by default -- they are currently used only for experiments | |
5587a8e llvm/test/DebugInfo: Move two tests to DebugInfo/X86. They are X86-dependent. | |
00294ca Fix DAG combine which creates illegal vector shuffles. Patch by Heikki Kultala. | |
3e99b71 This patch adds X86 instruction itineraries for non-pseudo opcodes in X86InstrCompiler.td. | |
014bc6e Restore to use private and LLVM coding style | |
8118c94 Add a note for -ffast-math optimization of vector norm. | |
a87a75f Make the formatting of this file more consistent, and fix the 80-columns violations I introduced. Also sort some of the instructions to get a more consistent ordering. | |
080b862 Teach InstVisitor about the UnaryInstruction layer in the instruction type hierarchy. I wanted to use this for the inline cost rewrite, and found it was missing. | |
f201a06 Factor out the multiply analysis code in ComputeMaskedBits and apply it to the overflow checking multiply intrinsic as well. | |
97327dc isCommutedMOVLMask should only look at 128-bit vectors to match isMOVLMask. | |
75d05e6 This clause (although matching parts of the implementation) can't be correct. Thanks to Eli for noticing the discrepancy. | |
cff4ad7 CriticalAntiDepBreaker: Replace a SmallSet of regs with a much denser BitVector. | |
79aa341 Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. | |
85f9cef MachineInstr: Inline the fast path (non-bundle instruction) of hasProperty. | |
70de1e4 Fix some copy and paste remnants of Cell and SPU in Hexagon files. | |
8aea2dd Fix typo in file header. | |
1e0c9ab Pass TargetOptions to HexagonTargetMachine constructor by reference to match other targets and the base class. | |
8b8825a Integrated linker. | |
c1f6f42 Reorder includes to match coding standards. Fix an issue or two exposed by that. | |
ae151ed MC asm parser macro argument count was wrong when empty. | |
5aeff31 Check if we can handle the arguments of a call (and therefore the call) in fast-isel before emitting code. If the program bails after code was emitted, then it could lead to the stack being adjusted more than once (two CALLSEQ_BEGINs emitted) but being adjuste back only once after the call. This leads to general badness and gnashing of teeth. <rdar://problem/11050630> | |
391c145 Revert r152915. Chapuni's WinWaitReleased refactoring: It doesn't work for me | |
748c1ec clarify the coding standards a bit. | |
11d5dc3 ARM fix silly typo in optional operand alias. | |
66cba30 ARM divided syntax fmrx/fmxr mnemonics. | |
be7cf2b ARM ldm/stm register lists can be out of order. | |
0ccae0b Revert r152907. | |
a82d526 ScheduleDAGInstrs: When adding uses we add them into a set that's empty at the beginning, no need to maintain another set for the added regs. | |
861ea23 Limit the number of memory operands in MachineInstr to 2^16 and store the number in padding. | |
87f3dbc CriticalAntiDepBreaker: BasicBlock::size is an expensive operation, reuse the cached value. | |
bb0b6ed lit/TestRunner.py: [Win32] Check all opened_files[] released, rather than (obsoleted) written_files[]. | |
7c6ac2e lit/TestRunner.py: [Win32] Rework WinWaitReleased(). | |
ff030fd The alignment of the pointer part of the store instruction may have an alignment. If that's the case, then we want to make sure that we don't increase the alignment of the store instruction. Because if we increase it to be "more aligned" than the pointer, code-gen may use instructions which require a greater alignment than the pointer guarantees. <rdar://problem/11043589> | |
5a4c790 More const-correcting of FixedLenDecoderEmitter. | |
b2442fc Rip out support for 'llvm.noinline'. This thing has a strange history... | |
f91f5af Start removing the use of an ad-hoc 'never inline' set and instead directly query the function information which this set was representing. This simplifies the interface of the inline cost analysis, and makes the always-inline pass significantly more efficient. | |
eb5cd61 Const-correct the FixedLenDecoderEmitter. Pass a few things by const reference instead of value to avoid some copying. | |
9b081d9 Pull the implementation of the code metrics out of the inline cost analysis implementation. The header was already separated. Also cleanup all the comments in the header to follow a nice modern doxygen form. | |
d3a7486 misched: add DAG edges from vreg defs to ExitSU. | |
75ae203 LSR fix: Add isSimplifiedLoopNest to IVUsers analysis. | |
d936045 Spacing fixes. Mostly aligning arguments that spilled onto next line with the opening parenthese instead of 2 spaces in. | |
bace5da Revert r152705, which reapplied r152486 as this appears to be causing failures on our internal nightly testers. So, basically revert r152486 again. | |
797ba55 Remove unused field NumVariable from Filter class. Even it was needed the same result could be found with VariableInstructions.size(). Also fix some typos in comments. | |
e9f15c8 In InstCombiner::visitOr, make sure we reverse the operand swap used for checking for or-of-xor operations after those checks; a later check expects that any constant will be in Op1. PR12234. | |
213d2e7 ARM optional operand on MRC/MCR assembly instructions. | |
9426ac7 ARM vmrs system registers mvfr0 and mvfr1 handling. | |
75df9f2 Do the right thing on NULL uint64 fields. | |
b99ea7c Revert r152613 (and r152614), "Inline the d'tor and add an anchor instead." for workaround of g++-4.4's miscompilation. | |
2125d5a For types with a parent of the compile unit make sure and emit the DECL information. | |
89eaa6f Remove inadvertant commit. | |
0ac754f [fast-isel] Address Eli's comments for r152847. Specifically, add a test case and still allow immediate encoding, just not with cmn. rdar://11038907 | |
90d9e02 docs: Update TestingGuide to change recommended practice to using LNT to drive the test-suite. | |
530b19b [fast-isel] Don't try to encode LONG_MIN using cmn instructions. rdar://11038907 | |
b84ad4a ARM case-insensitive checking for APSR_nzcv. | |
ccaea7d We actually handle AllocaInst via getRegForValue below just fine. | |
bb54d21 Add some debugging output into fast isel as well. | |
8f2a88d Add another debug statement. | |
b82062f Tabs. | |
7cc5177 Typo. | |
7044cce Make MnemonicTable const again. That part of r152202 was OK. | |
6357cae ARM aliases for pre-unified syntax fcmpz[sd] mnemonics. | |
dd20af2 Don't assume all mnemonics fit in 64k. | |
cb18ca2 line endings | |
f72e0ca Type sizes and fields offsets inside structs are unsigned. This is a highly theoretical fix since it only matters for types with >= 2^63 bits (!) and also only matters if pointers have more than 64 bits, which is not supported anyway. | |
45b5f88 Use vmov.f32 to materialize f32 consts on ARM. This relaxes constraints on register allocation by allowing all 32 D-registers to be used. Patch by Cameron Zwarich. | |
bcfa982 Revert r152202: "Use uint16_t to store InstrNameIndices in MCInstrInfo." | |
d66b9a2 Revert r152105: "Use uint16_t to store indices into string table" | |
8a6bcc3 Fix VCVT decoding (between floating-point and fixed-point, Floating-point). Patch by Richard Barton. | |
33a1805 Fix bug found by warning. | |
2453dff Short term fix for pr12270 before we change dominates to handle unreachable code. While here, reduce indentation. | |
847d381 Use an iterator instead of calling .size() on the worklist every time, which is wasteful. | |
d03a29b Implement relocation-overflow behavior for PE/COFF. | |
6431ff9 When optimizing certain BUILD_VECTOR nodes into other BUILD_VECTOR nodes, add the new node into the work list because there is a potential for further optimizations. | |
8d101c3 Revert the removal of DW_AT_MIPS_linkage_name when we aren't putting out the DW_AT_name. Older gdbs unfortunately still use it to disambiguate member functions in templated classes (gdb.cp/templates.exp). | |
f963cd3 Follow-up to r152620: restore JIT event listener tests to unittest/ExecutionEngine/JIT | |
5a89434 Add a xform to the DAG combiner. | |
59c5d7b Remove the basic inliner. This was added in 2007, and hasn't really changed since. No one was using it. It is yet another consumer of the InlineCost interface that I'd like to change. | |
377c7f0 Make the swap code here a bit more obvious what its doing... We're essentially sorting the pair's arguments. I'd love to actually call sort here, but I'm just not that crazy. ;] | |
0e33d9f Don't assume that the arguments are processed in some particular order. This appears to not be the case with dragonegg at least in some contexts. Hopefully will fix the bootstrap assert failure there. | |
38ca0d7 [avx] Add patterns for VINSERTF128rm. | |
ae02909 This pass didn't want the inline cost per-se, it just wants generic code metrics. | |
220d2d7 Remove all remnants of partial specialization in the cost computation side of things. This is all dead code. | |
7e2fa31 Fixed a transform crash when setting a negative size value for memset. Fixes PR12202. | |
6e590e3 [tsan] use FunctionBlackList | |
a1c4504 [asan] rename class BlackList to FunctionBlackList and move it into a separate file -- we will need the same functionality in ThreadSanitizer | |
274d377 Extend the inline cost calculation to account for bonuses due to correlated pairs of pointer arguments at the callsite. This is designed to recognize the common C++ idiom of begin/end pointer pairs when the end pointer is a constant offset from the begin pointer. With the C-based idiom of a pointer and size, the inline cost saw the constant size calculation, and this provides the same level of information for begin/end pairs. | |
8b11fdd When an invoke is marked with metadata indicating its unwind edge should be ignored by ARC optimization, don't insert new ARC runtime calls in the unwind destination. | |
4ec6923 Fixes the MSVC build. Commit r152704 exposed a latent MSVC limitation (aka bug). Both ilist and and iplist contains the same function: template<class InIt> void insert(iterator where, InIt first, InIt last) { for (; first != last; ++first) insert(where, *first); } | |
b16117c Change where we enable the heuristic that delays inlining into functions which are small enough to themselves be inlined. Delaying in this manner can be harmful if the function is inelligible for inlining in some (or many) contexts as it pessimizes the code of the function itself in the event that inlining does not eventually happen. | |
e28e2a8 Some typos in lit command guide | |
689e0b4 Silence operator precedence warnings. | |
4cc2be6 Update the "hello world" example to resemble what we currently output. Also do some minor reformatting. | |
3d1d895 Refactor the inline cost bonus calculation for constants to use a worklist rather than a recursive call. | |
30442f9 Reapply r152486 with a fix for the nightly testers. | |
7bf116a Insert the debugging instructions in one fell-swoop so that it doesn't call the expensive "getFirstTerminator" call. This reduces the time of compilation in PR12258 from >10 minutes to < 10 seconds. | |
3c88d4a Clean up removed file after r152620 | |
bf222b9 Typo in lit command guide | |
17d35e5 misched: implemented a framework for top-down or bottom-up scheduling. | |
cb058d5 misched comments | |
fc7e9ef Remove the DW_AT_MIPS_linkage name attribute when we don't need it output (we're emitting a specification already and the information isn't changing). | |
69ccf9f Move APInt::operator[] inline. | |
a189885 Move APInt::operator! inline, it's small and fuses well with surrounding code when inlined. | |
06a2e67 Update NOTICE file. | |
a03d366 Fortify r152675 a bit. Although I'm not able to come up with a test case that would trigger the truncation case. | |
84387ea DAG combine incorrectly optimize (i32 vextract (v4i16 load $addr), c) to (i16 load $addr+c*sizeof(i16)) and replace uses of (i32 vextract) with the i16 load. It should issue an extload instead: (i32 extload $addr+c*sizeof(i16)). | |
f210b68 Target override to allow CodeGenPrepare to sink address operands to intrinsics in the same way it current does for loads and stores | |
b9153ba Add a sanity check in MemoryBuffer::getOpenFile() to make sure we don't hang if the passed in FileSize is inaccurate. | |
e4c972d Remove an old hack for pre-2005 MSVC. We don't support ancient microsoft compilers anymore. | |
eabae1d s/SjLjEHPass/SjLjEHPrepare/ No functionality change. | |
0f5ab7c Change the X86 assembler to not require a segment register on string instruction's destination operand like it does for the source operand. Also fix a typo in the comment for X86AsmParser::isSrcOp(). | |
5161de6 enhance jump threading to preserve TBAA information when PRE'ing loads, fixing rdar://11039258, an issue that came up when inspecting clang's bootstrapped codegen. | |
f1ce79f Teach globalopt how to evaluate an invoke with a non-void return type. | |
bd0fe56 Generalize the "trunc(ptrtoint(x)) - trunc(ptrtoint(y)) -> trunc(ptrtoint(x-y))" optimization introduced by Chandler. | |
c347b6f Fixed comments for SwitchInst::addCase and for SwitchInst::removeCase. | |
0aa85eb Uniformize the InstructionSimplify interface by ensuring that all routines take a TargetLibraryInfo parameter. Internally, rather than passing TD, TLI and DT parameters around all over the place, introduce a struct for holding them. | |
61b1851 Add profiling support for Intel Parallel Amplifier XE (VTune) for JITted code in LLVM. | |
c007ba8 Remove unused field from FixedLenDecoderEmitter. Move NumberedInstructions declaration from class to run method since its only used there and was being reinitialized anyway. | |
7d6fc21 Add a return type. | |
bf56570 Inline the d'tor and add an anchor instead. | |
0913060 Refactor the SelectionDAG's 'dump' methods into their own .cpp file. No functionality change. | |
6fa87df Fixed typo in comment. | |
5b8f0dd Fix regression from r151466: an we can't replace uses of an instruction reachable from the entry block with uses of an instruction not reachable from the entry block. PR12231. | |
90c14fc Address some review comments from Duncan. This moves the iterative offset accumulation to use a boring APInt instead of ConstantExprs. I didn't go all the way to an 'int64_t' because I wanted APInt to handle any magic required to properly wrap the arithmetic when the pointer width is <64 bits. If there is a significant penalty from using APInt here, first off WTF, and secondly let me know and I'll do the math by hand. | |
f567777 lit: Pass %INCLUDE% to tests on Win32. clang may expect existence of %INCLUDE% in vcvarsall.bat. | |
8b15278 Change the second line of the test added for r152414 to use CHECK-NEXT. Suggestion by Bill Wendling! | |
3c39cd8 DFAPacketizerEmitter: Prune includes. | |
84faf65 Added a missing error check for X86 assembly with mismatched base and index registers not both being 64-bit or both being 32-bit registers. | |
a185362 Inline a trivial helper function. | |
da253ae sort by alpha. | |
5084fa0 Use a posix compliant regexp in export file construction. | |
9eb5f17 Revert due to nightly test failures. | |
1778513 [asan] move x86-specific test to a separate X86 directory with a custom lit.local.cfg file | |
6c0b3ac When inlining a function and adding its inner call sites to the candidate set for subsequent inlining, try to simplify the arguments to the inner call site now that inlining has been performed. | |
fc72ae6 Teach instsimplify how to constant fold pointer differences. | |
747cccf FileCheck-ize this test. | |
e840fef Don't cast away constant qualifier. | |
2bbb22b Switch to unified syntax for VFP instructions in inline assembly. <rdar://problem/11024696> | |
38d2ff4 Replace a hand-coded leading one counting loop with the magic from MathExtras.h. | |
57a7660 Remove global map. This code isn't even hot. | |
74612c2 DwarfDebug: Store the filename/dirname pair as a zero-separated string in a stringmap, instead of using a highly inefficient std::map of a pair of std::strings. | |
c5eaae4 Convert more static tables of registers used by calling convention to uint16_t to reduce space. | |
b78ca42 Use uint16_t to store registers and opcode in static tables in the target specific backends. | |
048e9bd Remove unused functions getArgRegs and getNumArgRegs. | |
3d3abe0 llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. | |
92a3e9d [llvm.py] Implement disassembler interface | |
87d8e60 Add a few missing 'template' keywords | |
39bdc55 Shrink and reorder some fields in MCOperandInfo to fit it in 8 bytes to reduce size of static tables. | |
f522ce1 Fix warnings when building with VS11. | |
dbb4b2f Fix warnings. | |
a13fb62 Fixing a compile warning triggered in MSVC about constant truncation. | |
9130b42 Make StringRef::getAsInteger work with all integer types. Before this change it would fail with {,u}int64_t on x86-64 Linux. | |
4210b34 Make helper static, so it can be inlined into its sole caller. | |
309a2c4 Revert "[llvm.py] Implement interface to enhanced disassembler" | |
5a08cf4 *fix typo in comment; test of commit access | |
0b3aae9 [llvm.py] Implement interface to enhanced disassembler | |
d3ac784 [llvm.py] Make LLVMObject.__del__ work if called during __init__ | |
644f191 Move llc + target triple tests into X86 | |
798d013 As Duncan pointed out, pointers tend not to be in floating point format...for now. | |
30a7302 Don't try to filecheck bitcode. | |
c17731d65 Make this transformation slightly less agressive and more correct. | |
63155f9 C files in llvm still have to be C89 compliant, remove C++-style comments. | |
1e8db1a Microoptimize getVRegDef. def_begin isn't free, don't compute it twice. | |
84dfc32 Refactor some methods to look through bitcasts and GEPs on pointers into a common collection of methods on Value, and share their implementation. We had two variations in two different places already, and I need the third variation for inline cost estimation. | |
e060eb8 Fix disasm of iret, sysexit, and sysret when displayed with Intel syntax. Patch by Kay Tiong Khoo! | |
fbf9ff4 Implement a more intelligent way of spilling uses across an invoke boundary. | |
b7487d4 [llvm.py] Define enumerations from Core.h; add OpCode class | |
61e22cd [llvm.py] Implement interface to object files | |
51cf866 Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs. | |
ff0275e Report the defining instruction. | |
64ffa83 Add SSA verification to MachineVerifier. | |
1efd6b9 Use SmallPtrSet instead of DenseSet. | |
d5f7690 Give dagcombiner's worklist some inline capacity. | |
d229b7b Do not custom lower i64 nodes if i64 is not a legal type. Move lines that set operation action of nodes. | |
0a40c23 Lower SETCC nodes during legalization. Previously, it was lowered in DAG combine pass. | |
9ab3dbe Assert on SSA errors in LiveVariables. | |
6e1beea Remove unused header files. | |
fe4d6df misched: handle scheduler that insert instructions at empty region boundaries. | |
58dfaa1 Add the missing call to Error when a bad X86 scale expression is parsed. | |
2d70e26 Support reading GNU symbol versions in ELFObjectFile | |
6f9489a [Object] Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big | |
a8eb6bb Add statistics on removed switch cases, and fix the phi statistic to count the number of phis changed, not the number visited. | |
07c3221 [llvm.py] Make ObjectFile destructor work | |
5992f67 When identifying exit nodes for the reverse-CFG reverse-post-order traversal, consider nodes for which the only successors are backedges which the traversal is ignoring to be exit nodes. This fixes a problem where the bottom-up traversal was failing to visit split blocks along split loop backedges. This fixes rdar://10989035. | |
faf72ff Fix the x86 disassembler to at least print the lock prefix if it is the first prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. | |
75c0d8e [Support] Drop verbose _ATTRIBUTE from LLVM_ATTRIBUTE_{READONLY,READNONE} macro names. | |
89d8139 TableGen/CodeEmitterGen.cpp: Fix an expression of generating bitmask. | |
63054f9 test/MC/X86/lit.local.cfg: Fix up to detect 'X86' in targets. | |
6f1d799 Eliminate switch cases that can never match, for example removes all negative switch cases if the branch condition is known to be positive. Inspired by a recent improvement to GCC's VRP. | |
7415659 Add support for r600 (AMD GPUs HD2XXX - HD6XXX) target triplet. | |
00cbccc Factor out the analysis of addition and subtraction in ComputeMaskedBits. Reuse it to analyze extractvalue(llvm.[us](add|sub).with.overflow.*) intrinsics! | |
5ae0427 [llvm.py] Initial skeleton for Python LLVM bindings | |
1fabd9f misched: handle scheduling region boundaries nicely. | |
72051bf Use uint16_t to store opcodes in static tables in X86 backend. | |
e38ec24 Fix undefined behavior in the Mips backend. | |
68675c6 misched interface: rename Begin/End to RegionBegin/RegionEnd since they are not private. | |
d24da97 misched comments | |
7799eb4 revert 152356: verify misched changes using -misched=shuffle. | |
0058740 Fix a silly restriction on the fast-path for hash_combine_range. This caused several clients to select the slow variation. =[ This is extra annoying because we don't have any realistic way of testing this -- by design, these two functions *must* compute the same value. | |
e8187e0 Undo a previous restriction on the inline cost calculation which Nick introduced. Specifically, there are cost reductions for all constant-operand icmp instructions against an alloca, regardless of whether the alloca will in fact be elligible for SROA. That means we don't want to abort the icmp reduction computation when we abort the SROA reduction computation. That in turn frees us from the need to keep a separate worklist and defer the ICmp calculations. | |
abd6674 Fix a regression from r147481. | |
d04ec0c misched: allow the default scheduler to be one chosen by the target. | |
f91a330 Added TargetPassConfig::enablePass | |
9ad62b3 Cache MBB->begin. It's possible the scheduler / bundler may change MBB->begin(). | |
cdaedf9 Silence unused function warning when graphviz is not available. | |
72af527 Remove the no longer existent psp triple from a test. | |
4445215 Have llvm-mc --version print the list of registered targets like llc does. Patch by jey. | |
ed5edea Revert commit 152300 (ddunbar) since it still seems to be breaking buildbots. Original commit message: | |
fac2598 Use uint16_t to store instruction implicit uses and defs. Reduces static data. | |
9eddc1c [ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline, reapplied with a fix for the longstanding over-read of 32-bit pointer values. | |
c10fa6c Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html | |
88d2fa4 Re-commit r152202 hopefully fixing the MSVC linker error. | |
8c0152f Revert r152288, "[ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline.", which is breaking the bots in a way I don't understand. | |
d4b0a06 Test case for r152280, r152285 and r152290. | |
ee8c3b0 Invoke setTargetDAGCombine for SELECT. | |
3f778c2 [ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline. | |
71b6306 Patch apple-related breakage. | |
e2bdf7f Swap the operands of a select node if the false (the second) operand is 0. | |
6f130bf Rotate two of the functions used to count bonuses for the inline cost analysis to be methods on the cost analysis's function info object instead of the code metrics object. These really are just users of the code metrics, they're building the information for the function's analysis. | |
5fdf500 Set minimum function alignment to 3 if target is Mips64. | |
7065b7b This patch eliminates redundant instructions that produce 0. | |
c174eaf misched interface: Expose the MachineScheduler pass. | |
fd03ccd ARM don't use MCRelaxAll, as it's not safe on ARM. | |
61dfa77 Improved support in RuntimeDyldMachO for generating code that will be relocated into another memory space. Now when relocations are resolved, the address of the relocation in the host memory (where the JIT is) is passed separately from the address that the relocation will be at in the target memory (where the code will run). | |
7afcda0 Cleanup VLIWPacketizer to use the updated ScheduleDAGInstrs interface. | |
ed395c8 misched prep: Expose the ScheduleDAGInstrs interface so targets may implement their own MachineScheduler. | |
ed8a0ec misched prep: Remove LLVM_LIBRARY_VISIBILITY from ScheduleDAGInstrs. | |
d790cad misched prep: Comment the ScheduleDAGInstrs interface. | |
035ec40 misched prep: Cleanup ScheduleDAGInstrs interface. | |
21c5355 misched prep: remove extra "protected" | |
cf46b5a misched prep: rename InsertPos to End. | |
953be89 misched preparation: rename core scheduler methods for consistency. | |
f03e62a Copy the right amount of elements. | |
24e0e7c SmallPtrSet: Copy all the elements when swapping, not just numelements. | |
44c98b7 [fast-isel] ARMEmitCmp generates FMSTAT, which transfers the floating-point condition flags to CPSR. This allows us to simplify SelectCmp. Patch by Zonr Chang <zonr.xchg@gmail.com>. | |
6507d84 Use llvm-mc instead of llc. Patch by Jack Carter. | |
8c3d258 configure: Don't require a perl interpreter to be present, LLVM's buildsystem doesn't depend on perl anymore. | |
3c77794 Revert r152202 as it's causing internal buildbot failures. | |
a2da788 Fix infinite loop in nested multiclasses. | |
cbfc117 Try a completely different approach to this type trait to appease older compilers. It seems that GCC 4.3 (and likely older) simply aren't going to do SFINAE on non-type template parameters the way Clang and modern GCCs do... | |
ff12877 Attempt #2 at appeasing GCC 4.3. This compiler really doesn't like these traits. | |
b53a1d6 Try to clarify this comment some. | |
a1eb50f Switch the is_integral_or_enum trait machinery to use an explicit template argument and an *implicit* conversion from '0' to a null pointer. For some bizarre reason, GCC 4.3.2 thinks that the cast to '(T*)' is invalid inside of an enumerator's value... which it isn't but whatever. ;] This pattern is used elsewhere in the type_traits header and so hopefully will survive the wrath of the build bots. | |
4e5b0f9 What's better than fixing and simplifying broken hash functions? Deleting them because they aren't used. =D | |
fc22625 Remove another outbreak of customized (and completely broken) hashing. This one is particularly annoying because the hashing algorithm is highly specialized, with a strange "equivalence" definition that subsets the fields involved. | |
d4d8b2a Add support to the hashing infrastructure for automatically hashing both integral and enumeration types. This is accomplished with a bit of template type trait magic. Thanks to Richard Smith for the core idea here to detect viable types by detecting the set of types which can be default constructed in a template parameter. | |
5b2749a Where the BranchFolding pass removes a branch then adds another better branch, the DebugLoc information can be maintained throughout by grabbing the DebugLoc before the RemoveBranch and then passing the result to the InsertBranch. Patch by Andrew Stanford-Jason! | |
8c1161a Fix cmake | |
6fd7dd6 comment | |
47c1445 misched preparation: clarify ScheduleDAG and ScheduleDAGInstrs roles. | |
7b58ae7 ScheduleDAGInstrs comments | |
84b454d misched preparation: modularize schedule emission. | |
73ba69b misched preparation: modularize schedule printing. | |
4c72720 misched preparation: modularize schedule verification. | |
dbdca36 whitespace | |
d3c9d94 Use uint16_t to store InstrNameIndices in MCInstrInfo. Add asserts to protect all 16-bit string table offsets. Also make sure the string to offset table string is not larger than 65536 characters since larger string literals aren't portable. | |
bb9dbb7 Missing change in r152106 for TinyPtrVector. | |
eea81f3 Switch this code to use hash_combine_range rather than incremental calls to hash_combine. One of the interfaces could already do this, and the other can just use a small buffer. This is a much more efficient way to use the hash_combine interface, although I don't have any particular benchmark where this code was hot, so I can't measure much of an impact. It at least doesn't slow anything down. | |
f8cde73 Cache the sized-ness of struct types, once we reach the steady state of "is sized". This prevents every query to isSized() from recursing over every sub-type of a struct type. This could get *very* slow for extremely deep nesting of structs, as in 177.mesa. | |
344224b Remove an accidental cut/paste of a comment into the middle of a function. Dunno how I missed this when going through code... | |
891495e No functionality change. Type::isSized() can be expensive, so avoid calling it until after other inexpensive tests. | |
05d88f4 ARM pre-v6 assembly parsing for umull/smull. | |
0104dd3 ARM pre-v6 alias for 'nop' to 'mov r0, r0' | |
ff3164a Tidy up. Remove dead code that slipped into previous commit. | |
255cd51 Added -view-background to avoid waiting for each GraphViz invocation. | |
0df7f88 Added -view-misched=dags options. | |
56b94c5 Cleanup in preparation for misched: Move DAG visualization logic. | |
8ceaa66 Added MachineBasicBlock::getFullName() to standardize/factor codegen diagnostics. | |
acddd49 whitespace | |
084e179 Cleanup: DAG building is specific to either SD or MI scheduling. Not part of the target interface. | |
e75537a misched comments | |
6cfb14f misched: Use the StartBlock/FinishBlock hooks | |
8938895 Add the DW_AT_APPLE_runtime_class attribute to forward declarations as well as completely defined classes. | |
03be362 Extend r148086 to check for [r +/- reg] address mode. This fixes queens performance regression (due to increased register pressure from overly aggressive pre-inc formation). | |
4d0983a ARM more NEON VLD/VST composite physical register refactoring. | |
c511c28 Hoist common code out of if statement. | |
c0fc450 ARM refactor more NEON VLD/VST instructions to use composite physregs | |
40530ad Fix support for encodings up to 64-bits in length. TableGen was silently truncating them to 32-bits prior to this. | |
2945a32 SmallPtrSet: Provide a more efficient implementation of swap than the default triple-copy std::swap. | |
54427e5 Fix the operand ordering on aliases for shld and shrd. PR12173, part 2. | |
f0a6813 Add new load commands for MachO. | |
9566905 build/Darwin: Make it easy to cause all tools to get codesigned (with make CODESIGN_TOOLS=1). - On OS X 10.7+ this is apparently recommended practice. This maybe should become a configurey thing one day, but I'm not sure it is right to automatically turn it on. | |
bde1b2a Tidy up. Kill some dead code. | |
14f87e0 Allow the same types in DPair as in QPR. | |
158c8a4 Fix a bug in the ARM disassembly of the neon VLD2 all lanes instruction. | |
e46137f Convert PowerPC to register mask operands. | |
e6f1355 Remove excess const, a const_iterator shouldn't be const itself. | |
4e3e5de Change ConstantAggrUniqueMap to use Chandler's new hashing implementation. Patch by Meador Inge | |
b3ef223 Add column width. | |
cf1f6c8 Remove short tag marker. | |
63f5a1f Appease the HTML validation gods. | |
0eb5914 Fix validation errors. | |
a0edecf Fix validation errors. | |
88a6808 Add missing end tags. | |
bb07f21 [TinyPtrVector] Add erase method and const-goodness. | |
0db235a PointerUnion::getAddrOf() does not need to be template since we can only use the first pointer type for it. Rename it to getAddrOfPtr1(). | |
f0c094b Use uint16_t to store indices into string table since C++ only allows 64K string literals so the index into the big string can never be larger than that. | |
904a018 Add asserts to ensure that values will fit into the tables. | |
aff18ae Increase number of allowed registers in register classes to 64k instead of 256. Widen register class ID to 16-bits. Widen register size and alignment to be up to 64k bytes instead of 256 bytes. This partially reverts r152019 to be less restrictive. | |
696f5ab Revert r152016 and allow overlap, sub, super register tables to be more than 64k entries. | |
e196633 Remove UsuallyTinyPtrVector. | |
3247af2 Add <imp-def> operands when reloading into physregs. | |
5b7634f Fix up link and a couple small edits. | |
25e6329 Add the beginnings of documentation for the Name Accelerator Tables. Based on a writeup originally by Greg Clayton. | |
fc7243a Delete trailing whitespace to clean up. | |
bae7559 Add include/llvm/ADT/UsuallyTinyPtrVector.h which is a vector that optimizes the case where there is only one element. | |
8250d73 Avoid finalizeBundles infinite looping. | |
afd3d56 Make it possible for a target to mark FSUB as Expand. This requires providing a default expansion (FADD+FNEG), and teaching DAGCombine not to form FSUBs post-legalize if they are not legal. | |
4f92b5e Split fpscr into two registers: FPSCR and FPSCR_NZCV. | |
923bb41 A few more cases of missing masking in ComputeMaskedBits; found by inspection. | |
bc978a6 ARM vpush/vpop assembler mnemonics accept an optional size suffix. | |
7cc0426 Nuke a bit of dead code. | |
049d08f Make sure we don't return bits outside the mask in ComputeMaskedBits. PR12189. | |
8019aac Merge with upstream LLVM @152063 | |
c3384c9 ARM Refactor VLD/VST spaced pair instructions. | |
af9f4bc ARM Remove a bit of dead code. | |
28f08c9 ARM refactor away a bunch of VLD/VST pseudo instructions. | |
33ca87a MCRegisterInfo-ize getMatchingSuperReg. | |
c6449b6 Make MCRegisterInfo available to the the MCInstPrinter. | |
c27facc Fix warnings about adding a bool to a string. Patch by Sean Silva! | |
c8d7eea Address Evan's comments for r151877. | |
af71f16 Remove a test case that no longer makes sense. | |
74bebde updated patch for the ARM fused multiply add/sub | |
43ec0f4 fix typos | |
3706ac7 remove spaces on empty lines | |
7eb0bf5 Remove an unused function. | |
8d12f72 This is not a common case, in fact it never happens! | |
e5121f2 Switch mem2reg to use the new hashing infrastructure. | |
16003d0 Replace the ad-hoc hashing in GVN with the new hashing infrastructure. This implicitly fixes a nasty bug in the GVN hashing (that thankfully could only manifest as a performance bug): actually include the opcode in the hash. The old code started the hash off with the opcode, but then overwrote it with the type pointer. | |
c78bd9b Switch the TableGen record's string-based DenseMap key to use the new hashing infrastructure. I wonder why we don't just use StringMap here, and I may revisit the issue if I have time, but for now I'm just trying to consolidate. | |
179bc7c Switch to a C-style cast here to silence a brain-dead MSVC warning. It complains about the truncation of a 64-bit constant to a 32-bit value when size_t is 32-bits wide, but *only with static_cast*!!! The exact signal that should *silence* such a warning, and in fact does silence it with both GCC and Clang. | |
52b89dd Shrink and reorder fields in MCRegisterClass to reduce size of static data. | |
9ebfbf8 Convert more GenRegisterInfo tables from unsigned to uint16_t to reduce static data size. | |
ec93b6d Make aliases for shld and shrd match gas. PR12173. | |
92b7df0 Stop fixing bad machine code in LiveIntervalAnalysis. | |
8d9c3a4 Stop adding <imp-def> operands when coalescing sub-registers. | |
fce711c Use <def,undef> operands when spilling NEON bundles. | |
190e5a3 Nick pointed out on IRC that GVN's propagateEquality wasn't propagating equalities into phi node operands for which the equality is known to hold in the incoming basic block. That's because replaceAllDominatedUsesWith wasn't handling phi nodes correctly in general (that this didn't give wrong results was just luck: the specific way GVN uses replaceAllDominatedUsesWith precluded wrong changes to phi nodes). | |
ed7692a Replace the hashing functions on APInt and APFloat with overloads of the new hash_value infrastructure, and replace their implementations using hash_combine. This removes a complete copy of Jenkin's lookup3 hash function (which is both significantly slower and lower quality than the one implemented in hash_combine) along with a somewhat scary xor-only hash function. | |
528f0bb Add generic support for hashing StringRef objects using the new hashing library. | |
e3e394d Do trivial CSE of dead BBs during codegen preparation. | |
e4fd907 Use uint16_t to store register overlaps to reduce static data. | |
9406da6 Teach the hashing facilities how to hash std::string objects. | |
21d60d5 Split this test up into two smaller, and more focused tests. | |
b6632ba Use uint16_t instead of unsigned to store registers in reg classes. Reduces static data size. | |
015f228 Use uint16_t to store registers in callee saved register tables to reduce size of static data. | |
991271d Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o | |
b08bb34 Perform the string table optimization for OperandMatchEntries too. | |
a4c5ecf Shrink the asm matcher tables. | |
02ee753 StringToOffsetTable: Allow uniquing the first element, add an option to skip appending a terminating null. | |
e19ead0 Enable the small vector POD optimization for BitCodeAbbrevOp. | |
e6ec02e Correctly initialize LineSectionSymbol. Thanks to Duncan Sands for noticing it. | |
6131873 Honour --config-prefix also for lit.local.cfg. | |
5fa6f5b Move the NonPOD struct out of the anonymous namespace instead of adding llvm:: everywhere to fix the HashingTest on MSVC . | |
0aaf2f6 Include cctype for isdigit. Patch by Stephen Hines. | |
2547e7f Fixes the Hashing tests on MSVC by adding llvm:: prefix to hash_value function call. | |
edf24a8 unittests/ADT/HashingTest.cpp: Temporarily disable a new test introduced in r151891, to appease msvc. | |
2aaf3fc llvm/docs/GarbageCollection.html: Prune utf8 BOM. | |
a2a9b9e hash_state: Don't use initialization target during initialization. | |
cf95d3a Fix RA-dependent test. | |
ee37b6e Fix comments for llvm-readobj, remove extraneous headers | |
171cda9 Fix indentation. | |
ed4cf99 Tidy up. Trailing whitespace. | |
c70b79e autoconf: Set LLVM_CONFIGTIME to a stable value when using --disable-timestamps. | |
8979e5f LVI: Recognize the form instcombine canonicalizes range checks into when forming constant ranges. | |
0c7374d Hashing: microoptimize a truncate on 64 bit away. This currently blocks dead code eliminating the conditional. | |
9b3b95f delete dead code, patch by Michael Spencer. | |
08bc33d add llvm.gcroot into GarbageCollection.html, patch bylost lostfreeman@gmail.com. | |
dc62a90 Make the hashing algorithm Endian neutral. This is a bit annoying, but folks who know something about PPC tell me that the byte swap is crazy fast and without this the bit mixture would actually be different. It might not be worse, but I've not measured it and so I'd rather not trust it. This way, the algorithm is identical on both endianness hosts. I'll look into any performance issues etc stemming from this. | |
1c14489 Simplify the pair optimization. Rather than using complex type traits, just ensure that the number of bytes in the pair is the sum of the bytes in each side of the pair. As long as thats true, there are no extra bytes that might be padding. | |
d8313be ASan: use getTypeAllocSize instead of getTypeStoreSize. | |
c3f9918 Add a golden data test that I missed somehow the first time around. | |
4fc5bdf Fix bad indenting that was left over from cut/paste of the golden values for 32-bit builds in here. | |
88c48fa Add a header that was technically missing to see if this gets the offsetof buildbot errors to go away... | |
4d628e2 We really want to hash pairs of directly-hashable data as directly hashable data. This matters when we have pair<T*, U*> as a key, which is quite common in DenseMap, etc. To that end, we need to detect when this is safe. The requirements on a generic std::pair<T, U> are: | |
c7384cf Add support for hashing pairs by delegating to each sub-object. There is an open question of whether we can do better than this by treating pairs as boring data containers and directly hashing the two subobjects. This at least makes the API reasonable. | |
74bab7f Prevent obscure and incorrect tail-call optimization. | |
b83e2bb Grammar-o in function name. | |
61cafd1 Grammar. | |
50e2661 If the linkage name doesn't exist we're supposed to emit a reference to the string table for the function name, not the function name. | |
70e2968 Fix an iterator invalidation problem. operator[] on a DenseMap can insert a new element, invalidating iterators. Use find instead, and handle the case where the key is not found explicitly. | |
22cc4cc Misc micro-optimizations. | |
4166989 Remove the misguided extension here that reserved two special values in the hash_code. I'm not sure what I was thinking here, the use cases for special values are in the *keys*, not in the hashes of those keys. | |
7550f7d Revert "Reorder the sections being output to reduce the number of assembler" | |
fc501a3 Neuter the optimization I implemented with r107852 and r108258 which turn some floating point equality comparisons into integer ones with -ffast-math. The issue is the optimization causes +0.0 != -0.0. | |
5a491ca Re-disable the debug output. The comment is there explaining why we want to keep this around -- updating golden tests is annoying otherwise. | |
abe24cf Switch FoldingSet over to the new hashing infrastructure. We might want to do more invasive refactoring here to get FoldingSet to use size_t or even hash_code directly, but for now this is a good first step to remove Yet Another Hashing Algorithm from LLVM. | |
9731294 Provide the 32-bit variant of the golden tests. Not sure how I forgot to do this initially, sorry. | |
b24b820 Handle regmasks in Thumb1RegisterInfo::saveScavengerRegister(). | |
12313a5 Reorder the sections being output to reduce the number of assembler fixups that are being used to determine section offsets. Reduces the total number of fixups by 50% for a non-trivial testcase. | |
e751c00 ARM use the right opcode for FP<->Integer move in fast-isel. | |
647c0ce Minimal changes for LLVM to compile under VS11. | |
b2930b9 Changes for migrating to using register mask operands. | |
97f7787 [Object] Add ObjectFile::getLoadName() for retrieving the soname/installname of a shared object. | |
b057851 Change ARMInstPrinter::printPredicateOperand() so it will not abort if it runs into the undefined 15 condition code value. | |
dfa27ae Fix bugs which were introduced when support for base+index floating point loads and stores was added. | |
97e910e BumpPtrAllocator: Make sure threshold cannot be initialized with a value smaller than the slab size. | |
b4d0235 Fix two warnings in this code that I missed. | |
6804582 If BumpPtrAllocator is requested to allocate a size that exceeds the slab size, increase the slab size. | |
fa2ab3e Trivial change to make the test use Use –mcpu=generic, so that the test will not fail when run on an Intel Atom processor, due to the Atom scheduler producing an instruction sequence that is different from that which is normally expected. | |
925c3f0 Move include/llvm/ADT/SaveAndRestore.h -> include/llvm/Support/SaveAndRestore.h | |
53930f6 Add the source file with trivial definitions in it that was missing from r151822, sorry sorry. =[ | |
0b66c6f Rewrite LLVM's generalized support library for hashing to follow the API of the proposed standard hashing interfaces (N3333), and to use a modified and tuned version of the CityHash algorithm. | |
4b1212b Move getSubRegIndex out of generated code into MCRegisterInfo, devirtualize it. | |
b537276 Revert r151816 as Jim has the appropriate fix. | |
0affe8a Fix testcases from r151807. | |
b3acdcc Move TargetRegisterInfo::getSubReg() to MCRegisterInfo. | |
194f3fa Revert "Emit the SubRegTable with the smallest possible integer type." | |
1e33b46 Add missing triple for tests. | |
b373647 rplace Alpha with ARM in docs/WritingAnLLVMBackend.html, patch by chenwj | |
3910160 Fix a codegen fault in which log2 or exp2 could be dead-code eliminated even though they could have sideeffects. | |
ccc8d3b Make TargetRegisterClasses non-virtual by making the only virtual function a function pointer. | |
54d42a7 llvm/test/CMakeLists.txt: Update dependencies to add llvm-readobj to "check". | |
36a2138 Emit the "is an intrinsic overloaded" table as a bitfield. | |
e9e520f Pass endian information to constructors. Define separate functions to create objects for big endian and little endian targets. | |
66c994c Make InlineSpiller bundle-aware. | |
5c2b4ea [Object] * Add begin_dynamic_table() / end_dynamic_table() private interface to ELFObjectFile. * Add begin_libraries_needed() / end_libraries_needed() interface to ObjectFile, for grabbing the list of needed libraries for a shared object or dynamic executable. * Implement this new interface completely for ELF, leave stubs for COFF and MachO. * Add 'llvm-readobj' tool for dumping ObjectFile information. | |
741981a Move getBundleStart() into MachineInstrBundle.h. | |
b519a0f Emit the intrinsic modref info as a lookup table instead of a huge switch. | |
275ff9b Don't redundantly copy implicit operands when rematerializing. | |
562a67d Fix flags for test in MC/MachO/ARM/empty-function-nop.ll | |
996d6fd Fixed the 32-bit runtime dynamic loader to allocate code sections when needed. It just had a conditional the wrong way around. | |
6c449eb Implement getSubRegIndex as a linear search on the SubRegTable instead of using a big switch. | |
8bee081 Added annotations for x86 pc relative loads to llvm's 'C' disassembler. | |
9c826d2 Tidy up. 80 columns. | |
b9ace02 Emit the SubRegTable with the smallest possible integer type. | |
eea8715 Tidy up. Spelling. | |
5d9651d Move the subregister indicies enum into the REGINFO_ENUM section. | |
88e48e7 BitstreamWriter: Use SmallVector::append instead of multiple push_back calls. | |
95b38ae Switch TargetRegisterInfo::getSubReg() to use a lookup table. | |
acbceea BitstreamWriter: Change primary output buffer to be a SmallVector instead of an std::vector. - Good for 1-2% speedup on writing PCH for Cocoa.h. - Clang side API match to follow shortly, there wasn't an easy way to make this non-breaking. | |
a8d16bb BitstreamWriter: Isolate access to the underlying buffer. | |
02a248a BitcodeWriter: Expose less implementation details -- make BackpatchWord private and remove getBuffer(). | |
fdc8f78 Bitcode: Don't expose WriteBitcodeToStream to clients. | |
9fd58f0 Intel Atom instruction itineraries for mov sign extension and mov zero extension. | |
369c4a4 Build FileCheck and enable DWARF emission for target eng builds | |
f1c4206 Add myself to the credits file | |
f1820b5 LegalizeIntegerTypes: Reorder operations in the "big shift by small amount" optimization, making the lives of later passes easier. | |
2b4f491 Have GVN also do condition propagation when the right-hand side is not a constant. This fixes PR1768. | |
84a1d23 Where the alloca'd space actually lives in ram is undefined, and attempting to pin it down is undefined behaviour. | |
2c67727 [Object] Add symbol attribute flags: ST_ThreadLocal, ST_Common, and ST_Undefined. Implement these completely for ELF. Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type is unknown, not that the symbol is undefined. (For that, use ST_Undefined). | |
37c02bc Testcase for r151691. | |
e1b66f1 Restrict this transformation to equality conditions. | |
a36fe73 Add an analyzeVirtReg() function. | |
adef06a Make MemoryObject accessor members const again | |
95fe7b9 Support/PathV2: Fix namespace qualifier in make_absolute(), for Win32. | |
30e98a0 Move the operand iterator into MachineInstrBundle.h where it belongs. | |
d1d7216 Support/PathV2: Fix make_absolute() to match is_absolute() and not expect to find root names on Unix. - This fixes make_absolute to not basically always call current_path() on Unix systems. - I think the API probably needs cleanup in this area, but I'll let Michael handle that. | |
b6f0625 Fix some stray semi-colons. | |
0ffe698 Fix PR12080 by ensuring that MaterializeModule actually reads all the bitcode in the streaming case. | |
d0fff18 [PathV2] Fix bug in relative_path. | |
c01810e ARM implement TargetInstrInfo::getNoopForMachoTarget() | |
b62fbc5 Instructions inside a bundle have the same number as the bundle itself. | |
c46255a In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), and isWeak(), with a bitset of flags. | |
9993a3a Enable -Wcovered-switch-default again, but add -Werror to the checks to make sure we don't use it with compilers that don't support it. | |
1485455 Kill off LiveRangeEdit::getNewVRegs and LiveRangeEdit::getUselessVRegs. These methods are no longer needed now that LinearScan has gone away. | |
489d679 On ELF, create relocations to the abbreviation and line sections when producing debug info for assembly files. We were already doing the right thing when producing debug info for C/C++. | |
3c2e5f2 Temporarily revert r151609, which enabled a new warning for LLVM and Clang builds. The detection logic for compilers that support the warning isn't working. Rafael is going to investigate it, but didn't want people to have to wade through build spam until then. | |
c94206e ARM vbit/vbif/vbsl assembly optional size suffix. | |
4bfcd4a Re-commit r151623 with fix. Only issue special no-return calls if it's a direct call. | |
a3b2121 Fix off-by one in comment. | |
21a1401 Properly MCize the section switch, removing a FIXME. | |
3bf15ce LegalizeIntegerTypes: Reenable the large shift with small amount optimization. | |
20bd529 Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack prediction. ...", it is breaking the Clang build during the Compiler-RT part. | |
ed12421 Remove stray semi-colon. | |
1c23920 Code cleanup following CR by Duncan. | |
21ef70e Fix a bug in the code that builds SDNodes from vector GEPs. | |
bb481f8 remove blanks, and some code format | |
ec52aaa Some ARM implementaions, e.g. A-series, does return stack prediction. That is, the processor keeps a return addresses stack (RAS) which stores the address and the instruction execution state of the instruction after a function-call type branch instruction. | |
1f59523 Convert generated intrinsic attributes to use an array lookup as Chris suggested in PR11951. | |
9e1154c Reverted r152620 - DSE: Shorten memset when a later store overwrites the start of it. There were all sorts of buildbot issues | |
a116623 DSE: Shorten memset when a later store overwrites the start of it | |
601c094 Oops...Don't commit the other stuff.. | |
cb8a7ed Modify comment to reflect the importance of this code. | |
980a999 Add comments. | |
b75673b Do not reserve $gp as a dedicated global base register if the target ABI is not O32. | |
8b37637 Strip extraneous information, if present, from the linker version string on Mac OS X. Patch by Fabian Groffen, with a slight tweak by me. | |
44b6c71 Add support for floating point base register + offset register addressing mode load and store instructions. | |
2129a0f Handle regmasks in MachineCSE. | |
33177f5 Enable -Wcovered-switch-default as it matches the switch style used in llvm. | |
9ca12d2 Handle regmasks in the machine code verifier. | |
0f9d07f Enable ARM base pointer when calling functions with large arguments. | |
dfa1896 [Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF. Add -D option to llvm-nm to dump dynamic symbols. | |
921c9bd Fix 80-column violation. | |
2cff617 Allow llvm-stress to optionally generate the other floating-point types (half, ppcf128, mmx, etc.) | |
348e5e7 Add back removed code. It still causes LLVM to miscompile. But not having it breaks other things. | |
e879cba This patch adds instruction latencies for the SSE instructions to the instruction scheduler for the Intel Atom. | |
79ac37b test commit. | |
cd38485 Duncan pointed out that if the alignment isn't explicitly specified, it defaults to the ABI alignment. Given that, make this code a bit more aggressive in such cases. | |
0cae72c Delete incorrect reference to inexistent Hexagon architecture manuals. | |
e9142f0 Don't use #if 0. Just remove until I can address this. | |
fddefcc XFAIL test until <rdar://problem/10913281> is fixed. | |
c68d127 The code that cleans up multiple, isomorphic types has a subtle error that manifests itself when building LLVM with LTO. <rdar://problem/10913281> | |
284a6bb Remove duplicate copy of Object/ELF.h that somehow managed to get in. | |
b266cd0 Fix for PR12090: clear def maps of aliases when visiting a copy. e.g. %S5<def> = COPY %S0<kill> First clear def map of Q1, etc. | |
7b25ecf ARM BL/BLX instruction fixups should use relocations. | |
945c2b3 Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h" to make it more widely available. | |
1680a24 Teach BasicAA about the LLVM IR rules that allow reading past the end of an object given sufficient alignment. Fixes PR12098. | |
9e2a79c Test the section specification. | |
cd4f803 Fix PR12089 http://llvm.org/bugs/show_bug.cgi?id=12089 | |
4328f9f Reapply r151278 with fixes. | |
77834e7 Add q suffix aliases for the fistp and fisttp mnemonics. rdar://10921670 PR11935 | |
3d14b9e Remove unnecessary template parameters. | |
b90113a Fix instruction predicates that were not set correctly. | |
121b179 Update machine code verifier. | |
0943303 Fix the symbolic operand added for the C disassmbler API for the ARM bl thumb instruction. The PC adjustment is +4 in Thumb mode and +8 in ARM mode. | |
62c4d97 Add a MachineOperand iterator class. | |
3bbf2b6 Plog a memleak in GlobalOpt. | |
768ada6 Micro-optimization, no functionality change. | |
b4b2688 Help the compiler to eliminate some dead code when hashing an array of T where sizeof (T) is a multiple of 4. | |
5583e30 The value numbering function is recursive, so it is possible for multiple new value numbers to be assigned when calculating any particular value number. Enhance the logic that detects new value numbers to take this into account, for a tiny compile time speedup. Fix a comment typo while there. | |
669011f When performing a conditional branch depending on the value of a comparison %cmp (eg: A==B) we already replace %cmp with "true" under the true edge, and with "false" under the false edge. This change enhances this to replace the negated compare (A!=B) with "false" under the true edge and "true" under the false edge. Reported to improve perlbench results by 1%. | |
a89cc7f Remove HexagonGenIntrinsics.inc from Hexagon cmake file. It does not appear in the Makefile and the output it produces isn't used. The Hexagon intrinsics are all in the global Intrinsics.gen. | |
a1c5b8e Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files. | |
c4a238c delete useless comment&blank | |
23b6ec9 Fix this assert. IP can point to an instruction with strange dominance properties (invoke). Just assert that the instruction we return dominates the insertion point. | |
930a1eb X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by Kay Tiong Khoo. | |
7497a9a Remove more GCC FE build stuff. | |
e342ec6 Installing the GCC front end is no longer supported. | |
1cdc9fb Cleanup the LLVM Getting Started page. | |
483454f Add href to clang in overview. | |
372b822 Remove references to llvm-gcc from overview and tutorial. | |
bfb7dfa Add support for random constant vectors. | |
794c16a Style fix: Remove unneeded parentheses. | |
2e851a9 Fix a bug in the code that checks if a store value is a vector of i1s | |
08c8339 Fix compilation on MSVC. Rename "_BB" to "Block" | |
c367dfc fix a copy-and-paste error in the docs | |
fdc309c Add a random .LL file generator to stress-test different llvm components. | |
a515b4e Add testcase for the previous commit. | |
5465c94 Don't call dominates on unreachable instructions. Should fix the dragonegg build. Testcase is still reducing. | |
3467474 Default TargetData alignment information for 128-bit floating-point types. | |
32c185e And update the comment... | |
5b04cfb Enable the assert that got all this dominator work started. | |
c987f4c Use the DT dominates function in the verifier. | |
c9ae8cc Change the implementation of dominates(inst, inst) to one based on what the verifier does. This correctly handles invoke. Thanks to Duncan, Andrew and Chris for the comments. Thanks to Joerg for the early testing. | |
8691216 Don't call dominates on unreachable instructions. | |
f7087ea Reinstate the optimization from r151449 with a fix to not turn 'gep %x' into 'gep null' when the icmp predicate is unsigned (or is signed without inbounds). | |
8c727f9 Don't call dominates on unreachable instructions. | |
6fd3428 Roll these back to r151448 until I figure out how they're breaking MultiSource/Applications/lua. | |
28e215b An argument and a local identified object (eg. a noalias call) could turn out equal if both are null. In the test, scope type %t and global @y by adding a 'gep' prefix to them. | |
6bfb9d6 Fix five-letter typo in comment. | |
1e4e1c7 Teach instsimplify to be more aggressive when analyzing comparisons of pointers by using llvm::isIdentifiedObject. Also teach it to handle GEPs that have the same base pointer and constant operands. Fixes PR11238! | |
55f4ab8 Move isKnownNonNull from private implementation detail of BasicAA to a public function that others can use, next to llvm::isIdentifiedObject. | |
1d05c21 Remove spurious emacs mode marker. | |
eeadbf0 Add support for llvm-as/llvm-dis to build. | |
9b4d708 Revert r151278, breaks static linking. | |
9a68fdc Target/X86: Fix assertion failures and warnings caused by r151382 _ftol2 lowering for i386-*-win32 targets. Patch by Joe Groff. | |
dfba3ad Add comment. | |
fa086f1 Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These are optimization hints, but at -O0 we're not optimizing. This becomes a problem when the alwaysinline attribute is abused. rdar://10921594 | |
c69cbd0 Make the peephole optimizer clear kill flags on a vreg if it's about to add new uses of the vreg, since the old kills may no longer be valid. This was causing -verify-machineinstrs to complain about uses after kills, and could potentially have been causing subtle register allocation issues, but I haven't come across a test case yet. | |
ff16eb6 Fix indentation. | |
3c3cdcc Grammar-o. | |
3b26eb6 Fixed typo. | |
e4ea241 Add definitions of floating point multiply add/sub and negative multiply add/sub instructions. | |
648f00c Add an option to use a virtual register as the global base register instead of reserving a physical register ($gp or $28) for that purpose. | |
120cfdf Remove unused cl::opt, make another opt static. | |
f79b489 Add missing static | |
969b739 Fix undefined behavior. | |
9e931f6 Thumb2 asm aliases for wide bitwise w/ immediate instructions. | |
009e265 fix PR12075, a regression in a recent transform I added. In unreachable code, gep chains can be infinite. Just like "stripPointerCasts", use a set to keep track of visited instructions so we don't recurse infinitely. | |
1a2d061 Add WIN_FTOL_* psudo-instructions to model the unique calling convention used by the Win32 _ftol2 runtime function. Patch by Joe Groff! | |
27bc818 Add a -stress-regalloc=<N> option. | |
3161039 X11/X2 loads around indirect calls on ppc64 should not be deleted. | |
f77c03a Don't crash when a glue node contains an internal CopyToReg | |
e170c76 Teach GVN that x+y is the same as y+x and that x<y is the same as y>x. | |
8b93ff2 SDAGBuilder: Remove register sets that were never read and prune dead code surrounding it. | |
8a4eb29 test commit. removing unnecessary whitespace. | |
b1933c0 test/CodeGen/X86/2012-02-23-mmx-inlineasm.ll: Fixup to add -march=x86. | |
1941110 Remove dead code. | |
37b6e5a Workaround a miscompilation by gcc-4.3 that showed up as a failure of the StringRef.Split2 unittest on 32 bit machines. | |
aaad5f2 ScheduleDAGInstrs.h:155: warning: suggest parentheses around `&&' within `||'. | |
702d489 PostRA sched: speed up physreg tracking by not abusing SparseSet. | |
0db1241 ARM Thumb symbol references in assembly need the low bit set. | |
d18134f Turn avx insert intrinsic calls into INSERT_SUBVECTOR DAG nodes and remove duplicate patterns for selecting the intrinsics | |
8060356 comment fix | |
c2e2dcd some comment fix | |
4df4f5b comment fix | |
fc77014 replace a balnk with - | |
178606d If the Address of a variable is an argument then treat the entire variable declaration as an argument because we want that address anyhow for our debug information. | |
5b13ed1 Tabs, formatting and long lines oh my! | |
1711cdf 80 columns of Mips InstPrinter Makefile | |
c54f634 Switch ARM target to register masks. | |
d1b220a Make sure the regs are low regs for tMUL size reduction. | |
fdf7c85 Thumb2 size reduction fix for tied operands of tMUL. | |
4bf6c19 EE/Interpreter/ExternalFunctions.cpp: Staticize lle_X_() entries. They can be mapped in FuncNames[] at the initialization. | |
423cbc5 EE/Interpreter/ExternalFunctions.cpp: Prune "C" linkage to suppress warnings with -Wreturn-type (and MSC's w4190). | |
db95389 When emitting a cmp with 0 for a lowered select, mask out the high bits of the value carying the boolean condition, as their contents are undefined. This fixes rdar://10887484. | |
6e6b822 Release not for ARM integrated assembler support. | |
9e8ceb0 Allow an integer to be converted into an MMX type when it's used in an inline asm. <rdar://problem/10106006> | |
89c5d26 Typo. | |
32d22ee Emit global ctors into .CRT$XCU instead of .ctors on Win32. Patch by Joe Groff! | |
8ce6b7d The LLVM Getting Started documentation is out of date. It would be nice if someone could update this, but for now at least reference the Clang Getting Started document, which is much more current. | |
b601ab5 Bump SmallString to the minimum required amount for raw_ostream to avoid allocation. | |
3378c59 Replace a DenseSet with SmallPtrSet. | |
ca0af3a MCize function entry label emission on PowerPC64 properly. | |
b6bd8cc BitVectorize loop. | |
46252d8 post-ra-sched: Turn the KillIndices vector into a bitvector, it only stored two meaningful states. | |
49b726c post-ra-sched: Replace a std::set of regs with a bitvector. | |
b80d571 Updated the llvm-mc disassembler C API to support for the X86 target. rdar://10873652 | |
1854722 Fix the numbering of some of the registers and reclassify a couple of them. Also, some basic clean up. Patch by Evandro Menezes. | |
976647d Make calls scheduling boundaries post-ra. | |
6a1c779 Reflow code, no functionality change. | |
9f78379 Make tests less sensitive to scheduling changes. | |
92fc97a Strip a layer of boilerplate from the VLIWPacketizer by storing the scheduler as an opaque pointer. | |
1b14f20 Remove unused variable. | |
1d2d5a0 Fix to make sure that a comdat group gets generated correctly for a static member of instantiated C++ templates. | |
b2ad57a Update for the removal of Hashing.cpp. | |
bdf1748 Reinstate r151049 now that GeneralHash is fixed. | |
6592eac The implementation of GeneralHash::addBits broke C++ aliasing rules; fix it with memcpy. This also fixes a problem on big-endian hosts, where addUnaligned would return different results depending on the alignment of the data. | |
9d91c5d Remove 'if' from getSuperRegisters, getSubRegisters, and getOverlaps that were added in r151038. | |
9778ad5 An easy case where GCC should really be able to work out that the value is only used if IsInDevelopmentTree is 'true'. But it doesn't, so help it out. | |
6212d31 GCC warns about a comparison between signed and unsigned values. | |
4b794f8 GCC fails to understand that NextBB is always initialized if EvaluateBlock returns 'true' and emits a warning. Help it out. | |
7481d07 Fix typo. | |
0822e01 More newline cleanups. | |
2441367 Add some handy-dandy newlines. | |
63d578b misched: cleanup reaching def computation | |
5fb468a Canonicalize (srl (bswap x), 16) to (rotr (bswap x), 16) if the high 16 bits of x are zero. This optimizes rev + lsr 16 to rev16. | |
81a682a PostRASched: Convert physreg def/use tracking to Jakob's SparseSet. | |
f19a592 Handle regmasks in FixupKills. | |
c892aeb Optimize a couple of common patterns involving conditional moves where the false value is zero. Instead of a cmov + op, issue an conditional op instead. e.g. cmp r9, r4 mov r4, #0 moveq r4, #1 orr lr, lr, r4 | |
bbad2f1 Handle regmasks in CriticalAntiDepBreaker. | |
cf14613 Track reserved registers separately from RegsAvailable. | |
c9addc4 MC: Fix the MCNullStreamer which was broken in r147763. | |
02634be Don't compute latencies for regmask operands. | |
be2af7e Handle regmasks in RegisterScavenging. | |
8ae3ac7 misched: Use SparseSet for VRegDegs for constant time clear(). | |
d55a266 Allow the use of an alternate symbol for calculating a function's size. | |
13b151c Remove bad comma from .el file. | |
ecc39de libclc is now dual licensed, Tobias and Peter own their respective subprojects. | |
c9c137b Properly emit _fltused with FastISel. Refactor to share code with SDAG. Patch by Joe Groff! | |
2fc0977 Comment from code review | |
90f2004 Remove extra semi-colons. | |
91ba63d 80 col. | |
dfb4fe2 Efficient pattern for store truncate. Patch by Evandro Menezes. | |
cebb4ee Add Foreach Loop | |
a3bf915 Fix typos. | |
e1a4427 Remove static ctor. | |
fdf0dc9 Support was removed from LLVM's MIPS backend for the PSP variant of that chip in r139383, and the PSP components of the triple are really annoying to parse. Let's leave this chapter behind. There is no reason to expect LLVM to see a PSP-related triple these days, and so no reasonable motivation to support them. | |
8b6fe6b Only add DW_AT_prototyped if we're working with a C-like language. Worth another 45k (1%) off of a large C++ testcase. | |
438b092 Add the source language into the compile unit. | |
e2dc933 Remove extra semi-colon. | |
c528e46 Declare register classes as const. Fix a couple pointers to register classes that weren't already const. | |
cc77b54 misched: DAG builder should not track dependencies for SSA defs. | |
b4566a9 Initialize SUnits before DAG building. | |
44d2382 Make all pointers to TargetRegisterClass const since they are all pointers to static data that should not be modified. | |
b84d540 Improve comment. Thanks for Andrew for the suggestion. | |
919a503 Semantically revert 151015. Add a comment on why we should be able to assert the dominance once the dominates method is fixed and why we can use the builder's insertion point. Fixes pr12048. | |
57708ab Adding support for Microsoft's thiscall calling convention. LLVM side of the patch. | |
967570f Improve handling of blockaddresses in bugpoint when splitting a module. Patch by Daniel Reynaud. | |
f3b06a9 ADT/SparseSet.h: Fix up header dependencies. | |
209600b Clarify ARM calling conventions. | |
a240743 Use SparseSet for the RAFast live virtual register map. | |
6258862 Add a Briggs and Torczon sparse set implementation. | |
5990bd7 Use a function in MathExtras to do sign extension. | |
c76ad82 Remove a bad PowerPC test. | |
a1aa8db Calls don't really change the stack pointer. | |
4586d25 Add API "handleMoveIntoBundl" for updating liveness when moving instructions into bundles. This method takes a bundle start and an MI being bundled, and makes the intervals for the MI's operands appear to start/end on the bundle start. | |
ce70903 Testcase for previous commit. | |
35f225a There's no need for a DW_AT_byte_size on a pointer type. | |
a641c07 Use the target-aware constant folder on expressions to improve the chance they'll be simple enough to simulate, and to reduce the chance we'll encounter equal but different simple pointer constants. | |
0704327 Proper support for a bastardized darwin-eabi hybird ABI. | |
e16da6c s/the the/the/ | |
a42d5c4 Fix unsigned off-by-one in comment. | |
8294eb5 InstCombine: Don't transform a signed icmp of two GEPs into a signed compare of the indices. | |
bf8653f Move the implementation of StringRef::split out of StringExtras.cpp and into StringRef.cpp, which is where the other StringRef stuff is. | |
bf8f50d test/CodeGen/X86/2012-02-20-MachineCPBug.ll: Fix on generic(non-x86) hosts to add -mattr=+sse. | |
e6e258f Revert r151049 cos it broke the buildbots. | |
c5f18d3 Tiny cosmetic change to use the same style for all of the while loops in the normalize routine, especially the empty while loops. | |
6b842e3 PR1210: make uniquing of struct and function types more efficient by using a DenseMap and Talin's new GeneralHash, avoiding the need for a temporary std::vector on every lookup. | |
dac3d36 Replace a hand rolled loop with a lovely StringRef helper we have these days. No functionality changed. | |
4fbf658 Pull the parsing helper functions out of the Triple interface entirely. They're private static methods but we can just make them static functions in the implementation. It makes the implementations a touch more wordy, but takes another chunk out of the header file. | |
0523f41 Clean up comments that I missed when changing the triple representation. Somehow, I even missed the ones I wrote just the other day... | |
7d9b207 Reorder some members in MCRegisterClass to remove padding on 64-bit builds. | |
f3e3783 In generated RegisterInfo files, replace a pointer to the end of an array with just the size of the array to avoid relocations. | |
902af25 Merge some tables in generated RegisterInfo file. Store indices into larger table instead of pointers to reduce relocations and shrink table size on 64-bit builds. Shaves ~24K off X86MCTargetDesc.o. Accidentally commited only part of this in r151038. | |
4472838 Merge some tables in generated RegisterInfo file. Store indices into larger table instead of pointers to reduce relocations and shrink table size on 64-bit builds. Shaves ~24K off X86MCTargetDesc.o | |
19273ae Clear virtual registers after they are no longer referenced. | |
e8ccb04 StackSlotColoring does not use a VirtRegMap | |
9001947 whitespace | |
705b48d Use more idiomatic assert. | |
161fb5d Avoid warning on non assert builds. | |
124e51c Switch the llvm::Triple class to immediately parse the triple string on construction. Simplify its interface, implementation, and users accordingly as there is no longer an 'uninitialized' state to check for. Also, fixes a bug lurking in the interface as there was one method that didn't correctly check for initialization. | |
4b04578 It turns out that with the current scev organization ReuseOrCreateCast cannot know where users will be added. Because of this, it cannot use Builder.GetInsertPoint at all. | |
fd6d321 Fix some bugs in HMEditor's moveAllOperandsInto logic. | |
0ef0557 Check for the correct size in the invariant marker. | |
01b623c Fix machine-cp by having it to check sub-register indicies. e.g. ecx = mov eax al = mov ch The second copy is not a nop because the sub-indices of ecx,ch is not the same of that of eax/al. | |
acb6f50 Fix 80-column violation. | |
1173140 Test case for r150978. | |
6ad48f4 InstCombine: Removing the base from the address calculation is only safe when the GEPs are inbounds. | |
1c7f744 Make this a bit prettier and more obvious when a derived type isn't derived from anything. | |
dc1eeb8 If a derived type is also a composite type, print that information too. | |
9f90e87 Add support for runtime languages on our forward declarations. | |
9bb4085 InstCombine: When comparing two GEPs that were derived from the same base pointer but use different types, expand the offset calculation and to the compare on the offset if profitable. | |
d234863 InstCombine: Make OptimizePointerDifference more aggressive. | |
6259dcd Teach the DAGCombiner that certain loadext nodes followed by ANDs can be converted to zeroexts. | |
873fd5f Improve generated code for extending loads and some trunc stores on ARM. | |
df7e8bd Make post-ra tail duplication bundle safe. No test case as recent codegen flow changes have already hidden the bug. rdar://10893812 | |
7fa7677 Rename class Evaluate to Evaluator and put it in an anonymous namespace. | |
b053fc1 fold comparisons of gep'd alloca points with null to false, implementing PR12013. We now compile the testcase to: | |
637f949 Switch to a more idiomatic way of silencing unused variable warnings in release builds. Silences clang's -Wself-assign. | |
cceb8f4 Move constructors out-of-line and flesh out their documentation. No functionality changed. This is in preparation for some refactoring of how this class behaves. | |
23ec5d7 Move EvaluateFunction and EvaluateBlock into a class, and make the class store the information that they pass around between them. No functionality change! | |
7db76e7 Silence operator precedence warning. | |
273df0b autoconf/m4/visibility_inlines_hidden.m4: Tweak for cygwin-g++-4.5.3. It folded conftest regardress of attributge((noinline)) with >=O1 . | |
b0934ab Remove dead code. Improve llvm_unreachable text. Simplify some control flow. | |
d7ace3f StringRef'ize EmitSourceFileHeader(). | |
1bf724b Remove some unneeded includes and fix ordering in X86ISelLowering.cpp. Remove unneeded 'using namespace'. | |
6aceab1 Add machinery for pushing live ranges onto bundle starts while bundling. | |
4a0b2d6 Simplify moveEnteringDownFrom rules. | |
dd637ae Unify all shuffle mask checking functions take a mask and VT instead of VectorShuffleSDNode. | |
038d2d5 Skip through instructions rather than operands when looking for last use slot. | |
752b2f0 APFloat::toString(): Fix overrun at scanning. | |
ac02714 Fix TODO and trailing whitespace. | |
55fed62 Defer sanity checks on live intervals until after all have been updated. Hold (LiveInterval, LiveRange) pairs to update, rather than vregs. | |
5aaffa8 Make a bunch of X86ISelLowering shuffle functions static now that they are no longer needed by isel. | |
9ad012a comment fix ARM.h | |
44de83a some comment fix for X86 and ARM | |
28a713b Add vmfunc instruction to X86 assembler and disassembler. | |
5073299 Fix issue with bitwise and precedence. | |
1a4b19e Hashing.h - utilities for hashing various data types. | |
b155c23 White space fixes. | |
f3b32b3 Temporarily disable this assert. Looks like it found a similar issue when building bullet. | |
ef4c80e Don't skip debug instructions when looking for the insertion point of the cast. If we do, we can end up with | |
31d157a Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. | |
107506f On Cygwin/MingW, add SharedLibDir and LLVMToolDir to the library search path, since shared libraries are placed in 'bin'. (static libraries are still in 'lib'). | |
a771330 Add X86InstrSVM.td that I forgot to add in r150873. | |
9e3d0b3 Add X86 assembler and disassembler support for AMD SVM instructions. Original patch by Kay Tiong Khoo. Few tweaks by me for code density and to reduce replication. | |
0a85771 Trivial cleanup to group the generic 'armvN' cases with the 'arm' case, etc. No functionality changed. | |
2c3acb0 Fix a rather nasty regression from r150690: LHS != RHS does not imply LHS->stripPointerCasts() != RHS->stripPointerCasts(). | |
5bfd969 Fix documentation. | |
5062709 Testcase for the previous commit. | |
ecb5062 Bring HMEditor into line with LLVM coding standards. | |
9b5d6b8 Ignore the lifetime intrinsics in fast-isel. | |
0b923d9 Don't print out pointer values in SUnit::dump(). | |
0310038 Sink variable into assert | |
fbc8dd3 Add support for regmask slots to HMEditor. Also fixes a comment error. | |
d9165eb Fix typo in comment ldopen() -> dlopen(). | |
2420b55 Handle regmask operands in ARMInstrInfo. | |
fc0d740 Put back the initializing the targets in the disassembler API with a comment as to why this is needed. This broke the darwin's otool(1) program. This change was made in r144385. | |
8c3b87c Fix ARMBaseInstrInfo::getInstrLatency for calls. | |
d9f0ff5 Transfer regmasks to MRI. | |
dbe266b Calls and invokes with the new clang.arc.no_objc_arc_exceptions metadata may still unwind, but only in ways that the ARC optimizer doesn't need to consider. This permits more aggressive optimization. | |
3dc7c51 Refactor 'handleMove' code in live intervals. Clients of LiveIntervals won't see any changes. | |
ebad58d Remove a comment about an alternative approach that wouldn't actually work, at least as described. LLVM Metadata is not intended to suppress LLVM IR rules, as it can be stripped at any time. | |
7842a74 Tidy up. | |
4cbcee1 Generate the correct EH frame section types on Solaris, this time without breaking other platforms... | |
8bb51ef Revert r150814. It turns out that there is a good reason for this after all... | |
0f7de35 Revert r150288, "Allow Post-RA LICM to hoist reserved register reads." | |
406262a Fix typo in comment. | |
637b25a Don't lazily allocate eh_frame. We're not lazily allocating things like the LSDA, which are only used when the eh frame is used, so this lazy allocation doesn't really make sense. | |
50f603f ... and it's probably best to use the correct alignment, rather than just guessing that it's the same as the size. | |
ca5b752 It turns out that putting an 8-byte symbol in a 4-byte section makes Solaris ld sulk. GNU ld is perfectly happy with it, which is worrying for a whole other set of reasons... | |
c5e6f99 Remove question. | |
c570711 remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. | |
ed993de Typo in variable name. | |
6e94e68 Remove the last of the old vector_shuffle patterns from X86 isel. | |
81266c5 Add support for invariant.start inside the static constructor evaluator. This is useful to represent a variable that is const in the source but can't be constant in the IR because of a non-trivial constructor. If globalopt evaluates the constructor, and there was an invariant.start with no matching invariant.end possible, it will mark the global constant afterwards. | |
38bdc57 Do not promote i32 arguments to i64. This was causing unnecessary sign extension instructions to be emitted. | |
3106b8b Remove redundant comment. Use a more efficient datatype. | |
1bc147b Fix some grammar-os and formatting. | |
00195d8 Reverse iterator - should be incrementing rather than decrementing. | |
8f5e8c1 add Emacs tag and fix some comment error in file headers | |
b8703fe [fast-isel] Add support for returning non-legal types with no sign- or zero- entend flag. | |
29879d7 MachineScheduler shouldn't use/preserve LiveDebugVariables. | |
5d08275 Oops - isRegLiveIntoSuccessor is used in non-assert builds now. Remove NDEBUG guards. | |
c2e08db Re-enable 150652 and 150654 - Make FPSCR non-reserved, and make MachineCSE bail on reserved registers. This *should* be safe as of r150786. | |
af8b34d Turn off assertion, conservatively compute liveness for live-in un-allocatable registers. | |
178d870 Remove comment. | |
a69feb0 Remove unnecessary assignment to temporary, ResultReg. | |
5b0e788 Use –mcpu=generic, so that the test will not fail when run on an Intel Atom processor, due to the Atom scheduler producing an instruction sequence that is different from that which is expected. Patch by Michael Spencer! | |
3318884 Update credits. | |
2624661 Note x86 regmask operands in release notes. | |
8b0a3f2 Remove the YMM_HI_6_15 hack. | |
527a08b Use the same CALL instructions for Windows as for everything else. | |
e318677 Remove trailing whitespace. Add newline. | |
1a7ea9d Disable machine copy propagation for now. It's known to be buggy (PR11940) and introduces subtle miscompiles in many places. | |
ea79b8e Revert "InstSimplify: Strip pointer casts early." | |
475ebf5 InstSimplify: Strip pointer casts early. | |
fd8779a InstSimplify: Ignore pointer casts when constant folding compares between pointers. | |
e6bd7a8 s/ModAttrBehavior/ModFlagBehavior/g to be consistent with how module flags are named elsewhere. | |
7d4deaa Add 'exception handling' to my description. | |
190ec9b Add blurb about module flags and reformat a bit. | |
6afa3f7 Remove extraneous #include and spelling mistake introduced in r150669. | |
6660c05 Modify the algorithm when traversing the DAGCombiner's worklist to be O(log N) for all operations. This fixes a horrible worst case with lots of nodes where 99% of the time was being spent in std::remove. | |
22bed5d VMCore/AsmWriter.cpp: Tweak to check #INF and #NAN earlier. | |
0f0c411 Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. | |
d8d110e Template specialize SmallVector::push_back based on POD-ness of the type. Reduces clang binary by 188KB | |
c8782a1 VMCore/AsmWriter.cpp: Use APFloat instead of atof(3). | |
1834df8 Oop - r150653 + r150654 broke one of my test cases. Backing out for now... | |
afae28b FPSCR shouldn't be reserved. | |
f7e31b9 MachineCSE shouldn't extend the live ranges of reserved or allocatable registers. | |
f7b367c Give a description of the Objective-C garbage collection module flags. | |
5e6162e loop-rotate shouldn't hoist alloca instructions out of a loop. Patch by Patrik Hägglund, with slightly modified test. Issue reported by Patrik Hägglund on llvmdev. | |
8bcde2a Enable register mask operands for x86 calls. | |
46b8b27 Remove extraneous tests. | |
b183f52 Add a test for generating Objective-C metadata from module flags. | |
a230262 Handle register masks in branch folding. | |
e746186 Fix library visibility problems with VLIWPacketizer. | |
426f215 Use the enum instead of 'unsigned'. | |
cc2037b Make LiveIntervals::handleMove() bundle aware. | |
2de3ff5 Use 'getDataNoRel' for the section kind. | |
cc72913 Fix assertion condition. | |
39c4cd3 Add a test for the Objective-C garbage collection metadata stuff. | |
057d521 Modify the code that emits the module flags to use the new module flags accessor method. This allows the target lowering code to not have to deal with MDNodes. | |
f20f281 Add a module flags accessor method which returns the flags in a vector. | |
01d53ec Add function for computing the edit distance of two arrays. | |
68c36e0 Don't expose DefaultVLIWScheduler | |
5b10656 utils: Kill NewNightlyTest.pl, which has been replaced by LNT (as far as I know). | |
862fd5f Remove overly conservative assert. | |
ebafa0c Generic "VLIW" packetizer based on a DFA generated from target itinerary. | |
ab7955b Optimize redundant sign extends and negation of predicates. | |
2a4bc1e Revert "Replacing HexagonOptimizeSZExtends with HexagonPeephole." | |
eddd6ab Revert "Optimize redundant sign extends and negation of predicates" as it's breaking the build. | |
a997b3e Replacing HexagonOptimizeSZExtends with HexagonPeephole. | |
11241ab Optimize redundant sign extends and negation of predicates | |
40d552e Add braces to if clause to make symmetric with associate else clause. | |
5f76926 For ELF, also call fixSymbolsInTLSFixups() on expressions passed to EmitValue (literal values). Previously only called on expressions in instructions. New test cases added to tls.s, tls-i386.s. Resolves PR11981. | |
4a1ff2f Strip the pointer casts from the constants here. | |
f32a960 Add a way to replace a field inside a metadata node. This can be used to incrementally update a created node without needing a temporary node and RAUW. | |
900d7b7 Revert r150565 again. Appears to be a stage2 failure with dragonegg. | |
788066a Reapply r150565 with the typo fix properly merged. | |
40bb92a reverting r150565. Premature push. | |
352aa4f Move PostRAMachineLICM into MachineLateOptimization. It now runs after PEI! | |
ac597ec Add a check to make sure we don't assign slot indexes for instructions inside bundles. | |
79bf288 Allow CodeGen (llc) command line options to work as expected. | |
5e108ee Added TargetPassConfig::disablePass/substitutePass as a general mechanism to override specific passes. | |
5fd84a2 comment | |
f58e37f Don't emit live ranges for physregs live-ins that are dead. | |
da7984f Disentangle moving a machine instr from updating LiveIntervals. | |
bbfa5c0 Added hook to let targets custom lower splitting of illegal vectors | |
15b4497 Use a temporary variable, rather then a series of redundant calls. | |
9989a63 Stop custom lowering forr x86 DEC64m from happening if the load in the lowered sequence has more than 1 user | |
92fd017 Use a temporary variable, rather then a series of redundant calls. | |
d5d61ed Fix global live range splitting regmask accuracy. | |
cac5fa3 Fix details in local live range splitting with regmasks. | |
1cf8b0f Handle regmasks in findRegisterDefOperandIdx(). | |
6b79138 Use the proper clobber check in handleLiveInRegister(). | |
f658af5 Dump live intervals in numerical order. | |
94b6e14 Don't create a new copy of reserved regs - we already have one handy. | |
5793a65 Remove unnecessary assignment to temporary, ResultReg. | |
c50b433 Silence the new -Wempty-body warning. It appeared because the next statement after the `for(...) ;' has more indentation than for itself. | |
010ad7d Using the new external-linkage warning recently added instead of disabling all return type warnings. | |
da32e46 Fixing warning due to the new "UTD return type in extern 'C'". | |
b464d3f Add code to the target lowering object file module to handle module flags. | |
03698de Update MachineVerifier to check the new physreg live-in rules. | |
342c64c Tighten physical register invariants: Allocatable physical registers can only be live in to a block if it is the function entry point or a landing pad. | |
8b7c3d0 Fix PR12000. Some vector operations may use scalar operands with types that are greater than the vector element type. For example BUILD_VECTOR of type <1 x i1> with a constant i8 operand. This patch fixes the assertion. | |
fc52a52 Turn push_back loops into append/insert. | |
c54066a Change error tests to coincide with message changes. | |
75b3d68 Capitalize messages so that they appear nicely with the linker's error messages. | |
233a648 Move old movl vector_shuffle patterns. Not needed anymore since vector_shuffles shouldn't reach isel. | |
0796134 Rename getExceptionAddressRegister() to getExceptionPointerRegister() for consistency with setExceptionPointerRegister(...). | |
cd339b7 Use convenience function for consistency. | |
3eccaa6 [tsan] fix compiler warnings | |
1a4cb1c Third time's the charm...? | |
6b0e9d9 Unswap swap operands, partially reducing confusion. | |
747c02c [asan] fix asan-vs-gvn.ll test (it did not actually check much before this change) | |
f6629ab Add simplifyLoopLatch to LoopRotate pass. | |
c3a825b whitespace | |
bdf9db6 Don't reserve the R0 and R1 registers here. We don't use these registers, and marking them as "live-in" into a BB ruins some invariants that the back-end tries to maintain. | |
150a371 Don't recalculate the size of the vector each time through the loop. | |
2cc494b Make operands for VSWP read-modify-write. | |
16a7ff3 Add register mask support to ScheduleDAGRRList. | |
a2e0f6b Check against umin while converting fcmp into an icmp. | |
a3b08d6 Just like in regular escape analysis, loads and stores through (but not of) a block pointer do not cause the block pointer to escape. This fixes rdar://10803830. | |
60ebb194 ThreadSanitizer, a race detector. First LLVM commit. Clang patch (flags) will follow shortly. The run-time library will also follow, but not immediately. | |
ce92599 v2f16 is a floating point type. Add symbolic floating point type ranges to prevent this kind of issue in the future. | |
d35576b LiveIntervalAnalysis does not depend on MachineLoopInfo. | |
fde8237 add LLVM_VERSION_MAJOR and _MINOR defines | |
3ed4dee Check regmask interference for -join-physregs. | |
9ea7e6e Remove empty directories. | |
0877fdf Fix a bug in DAGCombine for the optimization of BUILD_VECTOR. We cant generate a shuffle node from two vectors of different types. | |
4a5d7e3 Remove duplicate code in this header file which seemed to undergo a copy/paste fiasco. | |
7505626 Still more vector_shuffle pattern removal. | |
b83a67e Fix various issues (or do cleanups) found by enabling certain MSVC warnings. | |
4eaca02 Remove more vector_shuffle patterns for unpack. These should be target specific nodes when they get to isel. | |
3b17bf9 Recommit r150328. Previous test failures should be fixed by r150360. | |
3434b43 Revert accidental commit of a pruned testcase from r150360. | |
2dcd718 Update CanXFormVExtractWithShuffleIntoLoad to ensure bitcasts of loads only have one use. Matches DAGCombiner and prevents vector_shuffles from reaching isel. | |
7f42e98 Revert r150328, "Remove more vector_shuffle patterns." | |
ce39008 Fixed bug when custom lowering DEC64m on x86. | |
2ee746b This patch addresses the problem of poor code generation for the zext v8i8 -> v8i32 on AVX machines. The codegen often scalarizes ANY_EXTEND nodes. The DAGCombiner has two optimizations that can mitigate the problem. First, if all of the operands of a BUILD_VECTOR node are extracted from an ZEXT/ANYEXT nodes, then it is possible to create a new simplified BUILD_VECTOR which uses UNDEFS/ZERO values to eliminate the scalar ZEXT/ANYEXT nodes. Second, another dag combine optimization lowers BUILD_VECTOR into a shuffle vector instruction. | |
61c2c12 StringSwitchify the rest of Triple.cpp. | |
06accda Switch a bunch of manual if-chains to use StringSwitch. Clean them up in the process. Some of these are still a bit gross. | |
cc9231a Remove more vector_shuffle patterns. | |
f4eff4b Expose the ELFObjectFile class directly in the Object/ELF.h header, similarly to what's done for MachO and COFF. This allows advanced uses of the class to be implemented outside the Object library. In particular, the DyldELFObject subclass is now moved into its logical home - ExecutionEngine/RuntimeDyld. | |
132bd9c Handle InvokeInst in EvaluateBlock. Don't try to support exceptions, it's just that no optz'ns have run yet to convert invokes to calls. | |
6f160d3 false is totally null! | |
6a7df9a Remove redundant getAnalysis<> calls in GlobalOpt. Add a few Itanium ABI calls to TargetLibraryInfo and use one of them in GlobalOpt. | |
6a577f8 Pass TargetData and TargetLibraryInfo through to the constant folder. Fixes a few fixme's when TLI was added. | |
26f9279 Remove more vector_shuffle patterns. | |
db292a6 Fix function name in comment to match actual name. Fix comments that are using doxy-style on local variables to not do so. Fix one 80-col violation. | |
8e4ba6b Don't traverse the PHI nodes twice. No functionality change! | |
1f2fa99 Remove more vector_shuffle patterns. | |
d4a19b6 Add support for implicit TLS model used with MS VC runtime. Patch by Kai Nacke! | |
6b30274 Don't mix declarations and code. | |
88b6fc0 Make the EDis tables const. | |
953362c Reuse the enum names from X86Desc in the X86Disassembler. | |
b9d75a9 Document the new module flags. | |
d34cb1e [WIP] Initial code for module flags. | |
a819c39 Remove some patterns for matching vector_shuffle instructions since vector_shuffles should be custom lowered before isel. | |
746f24b Add TargetPassConfig hooks for scheduling/bundling. | |
fda655e comment | |
39a9e48 Fix shuffle lowering code to stop creating temporary DAG nodes to do shuffle mask checks on. This seemed to be confusing things such that vector_shuffle ops to got through to iselection. This is another step towards removing the vector_shuffle handling patterns from isel. | |
5637379 Allow Post-RA LICM to hoist reserved register reads. | |
a6d513f Handle register masks in local live range splitting. | |
fd3d4cf Don't read PreRegAlloc before it is initialized. | |
f06dfa7 Revert r150222, as the clang driver now handles this properly. | |
f1deaff Clean up comment. | |
9382008 Add a static MachineOperand::clobbersPhysReg(). | |
6ef7da0 Add register mask support to InterferenceCache. | |
3bf7a1c Remove unused variable. | |
f95acc6 Added description of invariant.load metadata to LangRef. It was added to the compiler in r144100 | |
1de886c Make valgrind happy. | |
38a7f22 Update BBVectorize to use aliasesUnknownInst. | |
ce0dd73 Have AliasSet::aliasesUnknownInst use pointer TBAA info when available | |
1a4ccc3 Make aliasesPointer and aliasesUnknownInst public members of AliasSet. | |
aa97bb5 Fix PR11948: the result type of an icmp may be a vector of boolean - don't assume it is a boolean. | |
edfb931 Revert commit 149912 (lattner) and add a testcase that shows the problem (which is that patterns no longer match for vectors of booleans, because you only get ConstantDataVector when the vector element type is i8, i16, etc, not when it is i1). Original commit message: Remove some dead code and tidy things up now that vectors use ConstantDataVector instead of always using ConstantVector. | |
c667ba6 Put instruction names into an indexed string table on the side, removing a pointer from MCInstrDesc. | |
06efdd2 comment grammar | |
060047f update --enable-targets list | |
4a5f3cd unnecessary include | |
1e9bcb3 PTX no longer needs to provide its own backend. | |
8dd2625 RegAlloc superpass: includes phi elimination, coalescing, and scheduling. | |
16f72dd whitespace | |
4465b6f Remove unused 'isAlias' parameter. | |
e009860 ARM on darwin, v6 implies the presence of VFP for the assembler. | |
9f10ac6 Constrain the regmask search space for local live ranges. | |
34e85d0 Cache basic block boundaries for faster RegMaskSlots access. | |
ebf2750 Optimize LiveIntervals::intervalIsInOneMBB(). | |
f378f5f Cache iterators. Some of these are expensive to create. | |
58604cd Change default error_code ctor to a 'named ctor' so it's more self-documenting. | |
e7c2c15 Add register mask support to RAGreedy. | |
cd37fd5 Now subprogram descriptors are not collected by llvm.dbg.sp NamedMDNode. Update document to reflect this change. | |
c1322a1 Tweak comment readability and grammar. | |
b9f69a4 Test for commit access. | |
d469274 GlobalOpt: Be more aggressive about elminating side-effect free static dtors. | |
2c6ae09 Store just the SimpleValueType in the generated VT tables for each register class, eliminating static ctors. | |
133f9d9 Move the Name field in MCInstrDesc to the end, saving 8 bytes of padding per entry on x86_64. | |
3015dfb Teach the MC and disassembler about SoftFail, and hook it up to UNPREDICTABLE on ARM. Wire this to tBLX in order to provide test coverage. | |
f41ab77 More tweaks to get the size of the X86 disassembler tables down. | |
ce8f4c5 Flatten some of the arrays in the X86 disassembler tables to reduce space needed to store pointers on 64-bit hosts and reduce relocations needed at startup. Part of PR11953. | |
72a043f Preserve physreg kills in MachineBasicBlock::SplitCriticalEdge. | |
c1b18e7 test/CodeGen/X86/atom-lea-sp.ll: Add explicit -mtriple=i686-linux. | |
fb08b90 Fix kill flags when moving instructions using LiveIntervals::moveInstr(...). | |
394d712 Remove assertion. Not all use operands are reads. | |
f7b9631 Improve TargetPassConfig. No intended functionality. | |
78b2961 comment | |
4eebfb8 Remove static initializer from DataStream.cpp | |
f56ce53 Erase dead copies that are clobbered by a call. | |
450b385 Handle register masks when searching for EFLAGS clobbers. | |
39284d1 Never delete instructions that define reserved registers. | |
a8fc171 Handle register masks in MachineCopyPropagation. | |
54a4ce4 Commit Andy Zhang's test for the lea patch. | |
4526195 fix broken link | |
95e3cf4 [asan] unpoison the stack before every noreturn call. Fixes asan issue 37. llvm part | |
1dd8c85 Codegen pass definition cleanup. No functionality. | |
9d41bd5 Move pass configuration out of pass constructors: MachineLICM. | |
9f17cf6 whitespace | |
3298657 Move pass configuration out of pass constructors: StackSlotColoring. | |
c7d081b Move pass configuration out of pass constructors: PostRAScheduler. | |
61f1e3d Move pass configuration out of pass constructors: BranchFolderPass | |
1df91b0 whitespace | |
ffea03f Added TargetPassConfig::setOpt | |
ebe18ef Added Pass::createPass(ID) to handle pass configuration by ID | |
d2a7bed Move pass configuration out of pass constructors: TailDuplicate::PreRegAlloc | |
a94e635 Add Register mask support to RABasic. | |
9bcc7a6 Don't map registers to the invalid dwarf register (-1). It's the default value. | |
c635ebd Use TSFlag bit to describe instruction properties. | |
3fd3a84 Keep track of register masks in LiveIntervalAnalysis. | |
90a468c Value initialize MCRegisterClasses. Not sure how could miss this during the MCTargetDesc refactor. | |
8c16054 Use Use::set rather than finding the operand number of the use and setting that. | |
80fd2a1 PathV2: Remove static StringRef ctors. | |
f602040 Fixed a bug in printing "cmp" pseudo ops. > This IR code > %res = call <8 x float> @llvm.x86.avx.cmp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 14) > fails with assertion: > > llc: X86ATTInstPrinter.cpp:62: void llvm::X86ATTInstPrinter::printSSECC(const llvm::MCInst*, unsigned int, llvm::raw_ostream&): Assertion `0 && "Invalid ssecc argument!"' failed. > 0 llc 0x0000000001355803 > 1 llc 0x0000000001355dc9 > 2 libpthread.so.0 0x00007f79a30575d0 > 3 libc.so.6 0x00007f79a23a1945 gsignal + 53 > 4 libc.so.6 0x00007f79a23a2f21 abort + 385 > 5 libc.so.6 0x00007f79a239a810 __assert_fail + 240 > 6 llc 0x00000000011858d5 llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) + 119 | |
bc0e4bf Remove a couple unneeded intrinsic patterns | |
4871701 No actual functional change here, just some clarifications: | |
5a313bb Remove GCC builtins for vpermilp* intrinsics as clang no longer needs them. Custom lower the intrinsics to the vpermilp target specific node and remove intrinsic patterns. | |
743e199 [fast-isel] Add support for SUBs with non-legal types. | |
176346d Add comment to test case. | |
6fde875 [fast-isel] Add support for ORs with non-legal types. | |
99a7a13 Added MachineInstr::isBundled() to check if an instruction is part of a bundle. | |
291411c misched: bug in debug output. | |
b3aacdd whitespace | |
ea43127 stale comment | |
9b6e59d add an explicit section on static constructors. | |
55fb5bc Don't use static CTORs for the Attributes constants, while still keeping the class type-safe | |
4fe3457 Add support for a temporary forward decl type. We want this so we can rauw forward declarations if we decide to emit the full type. | |
9f99721 Remove tabs. | |
60c8fa6 [fast-isel] Add support for indirect branches. | |
30d409c Remove tabs. | |
de1df10 Use LEA to adjust stack ptr for Atom. Patch by Andy Zhang. | |
0ae2510 Allow bugpoint to recognize -bb-vectorize | |
ebba055 Correct use of const in ParseCommandLineOptions | |
efde867 ocaml bindings: landing pad is now the last opcode. | |
0ae29a6 Add a unittest for rotating a really big APInt. | |
b0b527b Bitcode/BitstreamReader.h: Tweak for big endian hosts. | |
e26cdbe Rephrase to add clarity. | |
69c39ac test commit | |
4ee1c5c Do not fold ADD / SUB into load / store (to form pre-indexed, post-indexed load / store) if the ADD / SUB has a live definition of CPSR. | |
dbd98a4 Add instruction selection for 256-bit VPSHUFD and 128-bit VPERMILPS/VPERMILPD. | |
8581438 Convert assert(0) to llvm_unreachable | |
bc21981 Convert assert(0) to llvm_unreachable | |
c5de7fe Cache the sizes of vectors instead of calculating them all over the place. | |
a7a3f04 Reserve space in these vectors to prevent having to grow the array too much. This gets us an addition 0.9% on 445.gobmk. | |
eb44651 Fix win32 build breakage from bitcode streaming patch | |
3901c3e [fast-isel] Add support for ADDs with non-legal types. | |
d0b3da1 This is a small patch with a couple of improvements for running lit with --debug: | |
25600cf Expose TargetPassConfig to PEI Pass | |
6939fde Add TargetPassConfig to the PassManager for use inside passes | |
0ca032b The patch resolves the conflict between AddressSanitizer and load widening (GVN). The problem initially reported by Mozilla folks (http://code.google.com/p/address-sanitizer/issues/detail?id=20), but it also prevents us from enabling LLVM bootstrap with AddressSanitizer. | |
44ebf8b Fix comment-rulers. | |
45f4f2c Remove some unused functions. | |
fb5d511 Don't explicitly renumber slot indices. | |
ffa1ff1 System headers after llvm headers. | |
2ea9387 Enable streaming of bitcode | |
06d7e1b Document the 'unwind' removal. | |
7b9e539 [unwind removal] Remove any mention of the 'unwind' instruction. What was that instruction anyway?! | |
7302d80 Remove some dead code and tidy things up now that vectors use ConstantDataVector instead of always using ConstantVector. | |
705f481 [unwind removal] Remove a the obsolete 'unwind' enum value. | |
602cb9d Make sure a reserved register has a live interval before merging. | |
8833ef0 [unwind removal] Remove all of the code for the dead 'unwind' instruction. There were no 'unwind' instructions being generated before this, so this is in effect a no-op. | |
3e9719e [unwind removal] Don't write out the dead 'unwind' instruction. | |
aa5abe8 [unwind removal] We no longer have 'unwind' instructions being generated, so remove the code that handles them. | |
0f96817 'unwind' is a keyword, not an instruction. | |
e185fad [unwind removal] Remove the 'unwind' instruction parsing bits. | |
7d5a289 Introduce helpers to compute the 32-bit varaints and 64-bit variants of some architectures. These are useful for interacting with multiarch or bi-arch GCC (or GCC-based) toolchains. | |
fccf062 Test commit; also removes some trailing whitespace | |
b595c48 The 'unwind' instruction is deprecated and will be removed, making this test obsolete. | |
ba98b6b Update docs describing objective-c property encoding. This includes support for properties that are not backed by an ivar. | |
5a65864 Mention that the 'unwind' instruction is now deprecated. | |
6588abf DebugInfo: Provide a new hook to encode relationship between a property and an ivar. | |
793a32d Update ExceptionDemo to use ConstantDataArray. | |
699ddcb X86: Don't call malloc for 4 bits. No functionality change. | |
7ba962f Make helper static. | |
f3fd7ee Hexagon: Remove forbidden iostream includes (it introduces static initializers) | |
da82fd4 Split part of EvaluateFunction into a new EvaluateBlock method. No functionality change. | |
aae875c Move some llvm_unreachable's from r149849 out of switch statements to satisfy -Wcovered-switch-default | |
d156dc1 Add shuffle decoding support for 256-bit pshufd. Merge vpermilp* and pshufd decoding. | |
1230ad6 fix indentation | |
41a2600 fix typo | |
c05277e SmallVector's construct_range is the same thing as std::uninitialized_fill, no need to reinvent it. | |
b25e44e Simplify code. No functionality change. | |
50bee42 Convert assert(0) to llvm_unreachable | |
2cb395e Efficient Constant Uniquing. | |
fad4d40 Teach GlobalOpt to handle atomic accesses to globals. | |
dc7c716 DefinesPredicate should only look for def operands. Patch by Ludwig Meier. | |
bc384a1 Clean up some whitespace and comments. No functionality change. | |
17da6e7 Fixing a warning in MSVC (this is also a test commit) | |
c4fd448 Neaten up this method. Check that if there is only one predecessor then it's Src. | |
23f6121 Remove dead test: this was already checked and handled a few lines above. | |
7abf924 Testcase for commit 149833 (use of an uninitialized variable noticed by GCC). | |
87ba3f1 Fix a thinko pointed out by Eli and the buildbots. | |
33756f9 Reduce the number of dom queries made by GVN's conditional propagation logic by half: isOnlyReachableViaThisEdge was trying to be clever and handle the case of a branch to a basic block which is contained in a loop. This costs a domtree lookup and is completely useless due to GVN's position in the pass pipeline: all loops have preheaders at this point, which means it is enough for isOnlyReachableViaThisEdge to check that Dst has only one predecessor. (I checked this theoretical argument by running over the entire nightly testsuite, and indeed it is so!). | |
68e2022 Reduce the number of non-trivial domtree queries by about 1% when compiling sqlite3, by only doing dom queries after the cheap check rather than interleaved with it. | |
5b8a1db Persuade GCC that there is nothing worth warning about here (there isn't). | |
853066a Don't initialize CV in terms of itself! Spotted by GCC. | |
408a25c Explain to the compiler why TargetAddr is not used uninitialized later. | |
cc870a8 Add additional documentation to the extract-and-trunc dagcombine optimization. | |
d52d9cd Testing vector code without sse doesn't make much sense. | |
3d6b64a Fix typo and broken link | |
371d7b0 Add missing paren | |
5e25ee8 Convert assert(0) to llvm_unreachable | |
69f4469 Begin fleshing out more convenience predicates in llvm::Triple and convert at least one client over to use them. Subsequent patches both to LLVM and Clang will try to convert more people over to a common set of predicates. | |
655b8de Convert assert(0) to llvm_unreachable | |
0b2500c Simplify contains tests using 'count'. | |
5c05f2b BBVectorize.cpp: Get rid of comparision to bool to fix a warning. | |
6d1263a Convert assert(0) to llvm_unreachable in X86 Target directory. | |
abb94d0 Convert some assert(0) in default of switch statements to llvm_unreachable. | |
5b209e8 Add target specific node for PMULUDQ. Change patterns to use it and custom lower intrinsics to it. Use it instead of intrinsic to handle 64-bit vector multiplies. | |
2237f84 Improve the bitcode reader's handling of constant strings to use ConstantDataArray::getString direction, instead of "boxing" each byte into a ConstantInt and using ConstantArray::get. | |
521a255 Add a test for the miscompilation my recent ConstantDataArray patches introduced, to make sure we don't regress on it in the future. | |
18c7f80 reapply the patches reverted in r149470 that reenable ConstantDataArray, but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. | |
eea723f Remove most of the intrinsics for XOP VPCMOV instruction. They all aliased to the same instruction with different types. This would be better accomplished with casts in the not yet created xopintrin.h header file. | |
3f4f34c Modified the Enhanced Disassembler to create and cache disassemblers according to the string value of the target triple, not according to the enum of the triple CPU. The reason for this is that certain attributes of the instruction set are not reflected in the enum, but only in the string. | |
0aad7d2 Drop the REDEF_BY_EC VNInfo flag. | |
7e899cb Correctly terminate a physreg redefined by an early clobber. | |
c0dc1b7 Fix a leak! | |
3b1088a Don't store COPY pointers in VNInfo. | |
edc8db8 Boost the effective chain depth of loads and stores. | |
fd4b8e2 remove the blank line from previous ci. | |
940fbd6 test commit. add a blank line. | |
965a166 autoconf: put generated clang files in build dir | |
061efcf TargetPassConfig: confine the MC configuration to TargetMachine. | |
d542265 Move TargetPassConfig implementation into Passes.cpp | |
7461334 Make TargetPassConfig an ImmutablePass so CodeGenPasses can query options | |
2b2c7b9 cmake: update outdated CPack version info | |
069df95 Object: avoid undefined behavior when bounds-checking | |
3e82b4a autoconf: fix clang detection | |
9e11eb1 Emit new property tag. | |
0df8234 Update llvm debug version to support new structure and tag for Objective-C property's debug info. | |
1ea02d4 Introduce DIObjCProperty. This will be used to encode objective-c property. | |
2f2d1d7 [fast-isel] HandlePHINodesInSuccessorBlocks() can promite i8 and i16 types too. | |
08e8db4 Update to the new EH system...remove OLD EH code. | |
c4a2715 Drop ZeroIndex and InvalidIndex. | |
36b24b0 Add new tag and an attribute to support debug info for objective-c property. | |
9119b03 Trim headers. | |
d491da3 Delete some dead code. | |
769422f [fast-isel] Add support for URem. | |
77180e0 Handle register mask operands in setPhysRegsDeadExcept(). | |
ae46a33 [fast-isel] Rename isZExt to isSigned. No functional change intended. | |
ffbd071 Increment DFAStateEntryTable index for sentinel entry. | |
7ccb30b [fast-isel] Add support for UDIV. | |
a37818d ArrayRef'ize MI::setPhysRegsDeadExcept(). | |
59cb77f Handle all live physreg defs in the same place. | |
ee8901c [fast-isel] Add support for FPToUI. Also add test cases for FPToSI. | |
f1f78d5 Initialize all common codegen passes before configuration so we can use their PassIDs. | |
36b7beb [fast-isel] Add support for selecting UIToFP. | |
b95d1ff Simplify some GEP checks in the verifier. | |
7e413e9c The type-legalizer often scalarizes code. One of the common patterns is extract-and-truncate. In this patch we optimize this pattern and convert the sequence into extract op of a narrow type. This allows the BUILD_VECTOR dag optimizations to construct efficient shuffle operations in many cases. | |
a025566 Remove getShuffleVPERMILPImmediate function, getShuffleSHUFImmediate performs the same calculation. | |
a993505 Allow command-line overrides of the target triple with the Mach-O disassembler, just like the generic disassembler. | |
fa5b70e Remove unnecessary qualification on 256-bit vector handling in LowerBUILD_VECTOR. Condition was already guaranteed by earlier code. | |
e058d27 Add auto upgrade support for x86 pcmpgt/pcmpeq intrinics removed in r149367. | |
ec8eac6 Do the same fix as r149667, but for the Mach-O disassembler. | |
843ee2e Added TargetPassConfig. The first little step toward configuring codegen passes. | |
8247e0d whitespace | |
6c2cf8b Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is needed to emit a 64-bit gp-relative relocation entry. Make changes necessary for emitting jump tables which have entries with directive .gpdword. This patch does not implement the parts needed for direct object emission or JIT. | |
aab2191 Fix llvm-objdump disassembly for interesting Mach-O binaries, e.g. any MacOS dylib. This regressed with r145408. I will try to make a test case and add it so that this doesn't happen again. | |
6e3f7e4 Incorporate suggestions Chad, Jakob and Evan's suggestions on r149957. | |
16717a7 Fix SSAUpdaterImpl's RecordMatchingPHI to record exactly the PHI nodes which were matched, rather than climbing up the original PHI node's operands to rediscover PHI nodes for recording, since the PHI nodes found that are not necessarily part of the matched set. This fixes rdar://10589171. | |
1aee22e Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain that just uses the new toolchain probing logic. This fixes linking with -m32 on 64 bit systems (the /32 dir was not being added to the search). | |
871a205 Narrow test further. Make bot and test happy. | |
00e403a Tidy up. Trailing whitespace. | |
f374486 Restrict InstCombine from converting varargs to or from fixed args. | |
d5917f0 Revert "Disable InstCombine unsafe folding bitcasts of calls w/ varargs." | |
478a8a0 Require non-NULL register masks. | |
2e5b88e build/make: Ensure make clean removes the LLVMBuild makefile fragment. | |
8979f4e build/Make: Add missing dependency, LLVMBuild makefile fragment implicitly depends on Makefile.config. | |
4286558 Add pseudo-registers for pairs, triples, and quads of D registers. | |
6ab8949 Unix line endings | |
ded681d BBVectorize: Simplify code, no functionality change. | |
35564dc Minor changes from review. | |
7a73925 Move test/CodeGen/Generic/2012-02-01-CoalescerBug.ll to CodeGen/ARM, for now. It requires TARGETS=arm. | |
0f1ead4 Minor change in signature of the getZeroVector() | |
dcabc7b Optimization for SIGN_EXTEND operation on AVX. Special handling was added for v4i32 -> v4i64 and v8i16 -> v8i32 extensions. | |
1ae52f6 Unbreak the MSVC build. | |
eec68e7 Re-apply the coalescer fix from r149147. Commit r149597 should have fixed the llvm-gcc and clang self-host issues. | |
50a36f7 Set EFLAGS correctly in EmitLoweredSelect on X86. | |
d88710a Break as soon as the MustMapCurValNos flag is set - no need to reiterate. | |
5d4e18b Vectorize long blocks in groups. | |
02e08d5 PR11868. The previous loop in LiveIntervals::join would sometimes fall over if more than two adjacent ranges needed to be merged. The new version should be able to handle an arbitrary sequence of adjancent ranges. | |
3f5b107 Set the correct stack pointer register. | |
590baca Expand EHSELECTION and EHSELECTION nodes. Set the correct exception pointer and selector registers. | |
1ad175e Add DWARF numbers of 64-bit registers. | |
9b3cd48 Regen one last time. | |
32cf80b autoconf: fix build/src dir confusion | |
ac89865 Regenerate again. | |
db6caea autoconf: restore old clang-srcdir behavior | |
63c0951 Regenerate configure. | |
8d6dd0f autoconf: honor --with-clang-srcdir | |
af39368 Typo | |
6ac40af Fix the cmake build | |
922d314 Instruction scheduling itinerary for Intel Atom. | |
521804a Move ARM subreg index compositions to the SubRegIndex itself. | |
b5af2d9 Specify SubRegIndex components on the index itself. | |
ebf8c27 fix cmake | |
ee59920 Fix a bug in the TopoOrderRC comparison function. | |
845b189 Avoid creating an extract element to an illegal type after LegalizeTypes has run. | |
ee498d3 VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). | |
f18a9a2 Avoid emitting empty arrays, they're not standard C++. | |
c2348d5 Tidy up. | |
bb7cd0c cmake: make BUILD_SHARED_LIBS a visible option | |
3a14d0f test/CodeGen/X86/avx-minmax.ll: Relax expressions for Win32 targets. YMM arguments are passed as indirect on Win32 x64. | |
06db458 autoconf: generate clang's private config.h header | |
1766971 Passing AVX 256-bit structures in Win64 was wrong. Fixed Win64 calling conventions. | |
7325257 Shortened code in shuffle masks | |
3ae9815 Optimization for "truncate" operation on AVX. Truncating v4i64 -> v4i32 and v8i32 -> v8i16 may be done with set of shuffles. | |
2447312 SwitchInst refactoring. The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. | |
11e4329 Add pass printer passes in the right place. | |
19c51a9 whitespace | |
a1902a1 Don't create VBROADCAST nodes if any nodes use the chain result from the load. Fixes PR11900. | |
478eed8 BBVectorize.cpp: Try to fix MSVC build. map::iterator and multimap::iterator are incompatible. | |
7e004d1 A few of the changes suggested in code review (by Nick Lewycky) | |
91766fe Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail. | |
de5e5ec Add a basic-block autovectorization pass. | |
d0e277d Disable InstCombine unsafe folding bitcasts of calls w/ varargs. | |
24dda21 Tidy up. One more return type mismatch fix. | |
7771583 Revert test commit | |
e0c7cfa bz11794 : EarlyCSE stack overflow on long functions. Make the EarlyCSE optimizer not use recursion to do a depth first iteration. | |
28adbf7 test commit, adding a blank space | |
d49b2a7 Fixed a crash in llvm-mc for Mach-O when a symbol difference expression uses a symbol from an assignment. In this case the symbol did not have a fragment so MCObjectWriter::IsSymbolRefDifferenceFullyResolved() should not have been calling IsSymbolRefDifferenceFullyResolvedImpl() with a NULL fragment and should just have returned false in that case. | |
bda59fd Add Triple::getMacOSXVersion to replace crufty code in the clang driver. | |
ed2d17b Don't assign a value to NUM_TARGET_NAMED_SUBREGS. | |
90498b1 Move the composite map into CodeGenSubRegIndex. | |
5fcc156 Add a TableGen CodeGenSubRegIndex class. | |
0c3cfef Refactor loop for better readability. | |
c73f42b Add explanatory comment. | |
41aa108 RefCountedBaseVPTR needs the IntrusiveRefCntPtrInfo as friend, now that this handles the release / retain calls. | |
57cae88 Tidy up. Trailing whitespace. | |
ab78e20 Obvious unnecessary loop removal. Follow through from previous checkin. | |
0db58bf Add assembler dialect attribute in asm parser which lets target specific asm parser change dialect on the fly. | |
48381e5 Regenerate configure. | |
a093577 Fix BrainF compilation. | |
b319f12 Increase the initial vector size to be equivalent to the size of the Deps vector. This potentially saves a resizing. | |
5d8ab0f Cache the size of the vector instead of calling .size() all over the place. | |
cac50c5 Remove pcmpgt/pcmpeq intrinsics as clang is not using them. | |
6a89228 eliminate the "string" form of ConstantArray::get, using ConstantDataArray::getString instead. | |
f98743a remove commented-out code. | |
1b2f643 with recent changes, ConstantArray is never a "string". Remove the associated methods and constant fold the clients to false. | |
ca012b8 update this to ConstantDataArray. There are no tests and this isn't using the preferred functionality for ripping apart strings, so I have no way to test this. | |
b3d5847 RAFast: Generalize the logic for return operands. | |
7f2c6dc fix a small oversight that broke the fhourstones app. | |
f0e1053 remove the last vestiges of llvm::GetConstantStringInfo, in CodeGen. | |
2cf07ec eliminate the last uses of GetConstantStringInfo from this file, I didn't realize I was that close... | |
6f72ac4 Add various coarse bit-width architecture predicates to llvm::Triple. These are very useful for frontends and other utilities reasoning about or selecting between triples. | |
90f1d8a start moving SimplifyLibcalls over to getConstantStringInfo, which is dramatically more efficient than GetConstantStringInfo. | |
3ef9cfe Change ConstantArray::get to form a ConstantDataArray when possible, kicking in the big win of ConstantDataArray. As part of this, change the implementation of GetConstantStringInfo in ValueTracking to work with ConstantDataArray (and not ConstantArray) making it dramatically, amazingly, more efficient in the process and renaming it to getConstantStringInfo. | |
4a6facb rework this logic to not depend on the last argument to GetConstantStringInfo, which is going away. | |
c63352f don't emit a 1-byte object as a .fill. This is silly and causes CodeGen/X86/global-sections.ll to fail with CDArray | |
9a0b604 use the right accessor for ConstantDataArray. | |
8b10b69 fix asmwriting of ConstantDataArray to use the right element count, simplify ConstantArray handling, since they can never be empty. | |
c8d75c7 enhance logic to support ConstantDataArray. | |
1fe1ade Remove all references to the old EH. | |
35b8870 Update test to new EH model. | |
4b523b4 Update test to new EH model. | |
efd564f Remove the now-dead llvm.eh.exception and llvm.eh.selector intrinsics. | |
13b1c31 s/getInnerUnwindDest/getInnerResumeDest/g | |
9a5c0e8 Remove the eh.exception and eh.selector intrinsics. Also remove a hack to copy over the catch information. The catch information is now tacked to the invoke instruction. | |
08d0146 Remove ivar which is identical to another ivar. | |
4dbd9b8 Remove unused ivars and s/getOuterUnwindDest/getOuterResumeDest/g. | |
6e69442 Remove more dead functions. | |
fd3adbb s/getInnerUnwindDestNewEH/getInnerUnwindDest/g | |
9e9a34c Remove some unused, old-EH methods. | |
d49db36 Use the correct ShiftAmtTy for creating shifts after legalization. PR11881. Not committing a testcase because I think it will be too fragile. | |
675f638 Get rid of references to dead intrinsics. | |
06881e8 Formatting cleanups. No functionality change. | |
97cf71a Relax constructor for IntrusiveRefCntPtr to not be explicit. | |
0004d86 Use traits for IntrusiveRefCntPtr to determine how to increment/decrement a reference count. | |
27b5658 Remove no-longer-useful dyn_casts and pals. | |
7750c3f Add a constified getLandingPad() method. | |
a1a8a32 [asan] fix the ObjC support (asan Issue #33) | |
beb0595 Chris's constant data sequence refactoring actually enabled printing vectors of all one bits to be printed more cleverly in the AsmPrinter. Unfortunately, the byte value for all one bits is the same with -fsigned-char as the error return of '-1'. Force this to be the unsigned byte value when returning it to avoid this problem, and update the test case for the shiny new behavior. | |
893a045 PR11834: Use macros which are defined on Windows. Patch by Marina Yatsina. | |
e1d8222 basic-aa does support AliasAnalysis chaining now. | |
885f65b Intel syntax. Adjust special code, used to recognize cmp<comparison code>{ss,sd,ps,pd}, for intel syntax. | |
0cf6b99 Typo. | |
431985a Typo. | |
448b73a Implement String Cast from Integer | |
be3e310 Intel syntax. Support .intel_syntax directive. | |
630ecf0 Fix refacto. | |
baffe7a Here's a new one: GCC was complaining about an only-used-in-asserts *function*. Wrap the function in #ifndef NDEBUG. | |
8cf27ef Various improvements suggested by Duncan | |
b2f1b50 Eliminate narrowing conversion in initializer list, to make C++11 happy | |
9c68354 X86: Simplify shuffle mask generation code. | |
8375bc9 Fix compilation of ASan tests on OS X Lion (see http://code.google.com/p/address-sanitizer/issues/detail?id=32) The redzones emitted by AddressSanitizer for CFString instances confuse the linker and are of little use, so we shouldn't add them. | |
b9a2d6f Add GCCBuiltin declarations for cmpsd/cmpss/cmppd/cmpps to allow custom code to be removed from clang. | |
cc30006 Fix pattern for memory form of PSHUFD for use with FP vectors to remove bitcast to an integer vector that normal code wouldn't have. Also remove bitcasts from code that turns splat vector loads into a shuffle as it was making the broken pattern necessary. | |
41b9920 fix a major oversight that is breaking some llvm-test tests. | |
babd598 DenseMap::find_as() and unit tests. | |
36c744f First step of flipping on ConstantDataSequential: enable ConstantDataVector to be formed whenever ConstantVector::get is used. | |
b66fb5a when verbose asm is on, print integers in ConstantDataSequentials just like normal integers. | |
6e64c38 don't lose tail padding on ConstantDataAggregate vec3's. | |
0cd0d81 Fix ConstantFoldShuffleVectorInstruction to properly handle the case when the result type has a different # elements than the input vectors. | |
90fb059 CMake: Promote the testing targets out of folders on IDE. | |
b510157 CMake: Add the folder "Tablegenning" on llvm-tblgen targets. | |
57af41e initialize the Next field to null | |
86c7c58 Move some XOP patterns into instruction definition. Replae VPCMOV intrinsic patterns with custom lowering to a target specific nodes. | |
d408f06 Add bitcode reader and writer support for ConstantDataAggregate, which should be feature complete now. Lets see if it works. | |
f95b2da Cleanup the organization of some methods in llvm::Triple and provide a better doxyment group for convenience predicates. | |
95fa400 Move Clang's file-level locking facility over to LLVM's support library, since it doesn't really have anything to do with Clang. | |
6edd588 Cleanups for EABI standard functions | |
f349cb8 Use base AAPCS for varargs functions even for AAPCS-VFP CC | |
9f946a2 Fix some scavenger performance issues. | |
685c23e Avoid creating BitVector temporaries. | |
19de016 Add a BitVector::reset(BitVector&) method. | |
5fef01d Fix typo. | |
7750ff1 Add a note about a potential optimization for clz/ctz patterns for ARM (and other targets). | |
2d8955a Ensure .AliasedSymbol() is called on all uses of getSymbol(). Affects ARM and MIPS ELF backends. | |
518ff56 Silence GCC's -Wreturn-type warning. | |
8b01c82 Small improvement to the recursion detection logic from the previous commit. | |
e71cc86 Handle recursive variable definitions directly. This gives us better error messages and allows us to fix PR11865. | |
f1639ab [asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA Takumi | |
0ae06de Reapply r149159 with a fix to add to a PHI node with a non-null parent. | |
1c1c5bb Remove code that adds live ranges for dead defs. It seems to be breaking things. | |
afcb5b5 Revert r149159 until I can fix tests. | |
b0064c6 Don't always create a separate block for the call to _Unwind_Resume. | |
1d50139 Fix Record Name Reference | |
3f8d3c7 Silence warning about parens for && within || | |
04594ae Add r149110 back with a fix for when the vector and the int have the same width. | |
0c6e177 Remove Deprecated Features | |
41cedd7 Revert r149110 and add a testcase that was crashing since that revision. Unfortunately I also had to disable constant-pool-sharing.ll the code it tests has been updated to use the IL logic. | |
907cc8f Add a "moveInstr" method to LiveIntervals. This can be used to move instructions around within a basic block while maintaining live-intervals. | |
ff21bb5 Backing out ill-considered 'refactor'. | |
c5c2fcd Move some duplicate loops in the coalescer into their own function. | |
a28101e Intel Syntax: Parse mem operand with seg reg. QWORD PTR FS:[320] | |
a21bb20 Fix typo. | |
3982b3c Move some patterns back near their instructions and use AddedComplexity to fix priority. Merge some patterns into their instruction definition. | |
b3396dc Physreg dead defs should be handled too. | |
d629efa smallvectorize. | |
a78fa8c continue making the world safe for ConstantDataVector. At this point, we should (theoretically optimize and codegen ConstantDataVector as well as ConstantVector. | |
2b34370 Unix line endings | |
4cc4666 Place the GEP instructions nearer to the instructions which use them. | |
6b27607 make sure the file's matching header is #include'd first. | |
73858d1 Rewrite CanShareConstantPoolEntry to be implemented in terms of the mid-level constant folding APIs instead of doing its own analysis. This makes it more general (e.g. can now share a <2 x i64> with a <4 x i32>) and avoid duplicating a bunch of logic. | |
f983da0 enhance constant folding to be able to constant fold bitcast of ConstantVector's to integer type. | |
cb5dca3 Keep source location information for X86 MCFixup's. | |
f3c9367 Source information in 'expected relocatable expression' diagnostic. | |
6b4bcd6 Better user diagnostics for more ARM MachO relocation errors. | |
ebd4c05 Better diagnostic for malformed .org assembly directive. | |
3b0714d Rewrite instruction operands in AdjustCopiesBackFrom. Fixes PR11861. | |
660a4d9 Tidy up. | |
42e6bd3 Keep source information, if available, around for ARM Fixups. | |
82f4ce5 Add simple support for keeping MCFixup source information. | |
93cd59a llvm-mc pass through SourceMgr to MCContext. | |
3662e5c Add SourceMgr to MCContext for backend diagnostics. | |
53fa56e Handle call-clobbered ymm registers on Win64. | |
f26475a Use -H on darwin as well. | |
6b0dc92 progress making the world safe to ConstantDataVector. While we're at it, allow PatternMatch's "neg" pattern to match integer vector negations, and enhance ComputeNumSigned bits to handle shl of vectors. | |
5b676ce tidy up forward declarations. | |
a7c6988 smallvectorize and ArrayRef'ize some stuff. | |
1a8def6 Reduce a lot of code duplication by implementing ConstantExpr::getWithOperandReplaced and ConstantExpr::replaceUsesOfWithOnConstant in terms of ConstantExpr::getWithOperands. While we're at it, make sure that ConstantExpr::getWithOperands covers all instructions: it was missing insert/extractvalue. | |
6a5d0e2 Update comment for r149070. | |
0162ff4 Replace the use of isPredicable() with isPredicated() in MachineBasicBlock::canFallThrough(). We're interested in the state of the instruction (i.e., is this a barrier or not?), not if the instruction is predicable or not. rdar://10501092 | |
1a96c91 Clear kill flags before propagating a copy. | |
ef4d3eb Tidy up. Fix mismatched return types for error handling. | |
f18b6fe comment tweaks | |
3498257 Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors. | |
668f7ac Fix for the following bug in AVX codegen for double-to-int conversions: . "fptosi" and "fptoui" IR instructions are defined with round-to-zero rounding mode. . Currently for AVX mode for <4xdouble> and <8xdouble> the "VCVTPD2DQ.128" and "VCVTPD2DQ.256" instructions are selected (for .fp_to_sint. DAG node operation ) by AVX codegen. However they use round-to-nearest-even rounding mode. . Consequently, the conversion produces incorrect numbers. | |
a393741 Add HasXOP predicate check covering a bunch of XOP intrinsic patterns. | |
15388c4 Fix AVX vs SSE patterns ordering issue for VPCMPESTRM and VPCMPISTRM. | |
e566cd0 Remove some more patterns by custom lowering intrinsics to target specific nodes. | |
29bb00b unbreak test/Bitcode/shuffle.ll. | |
71a494d simplify by using ShuffleVectorInst::getMaskValue. | |
56243b8 eliminate the Constant::getVectorElements method. There are better (and more robust) ways to do what it was doing now. Also, add static methods for decoding a ShuffleVector mask. | |
d59ae90 Continue improving support for ConstantDataAggregate, and use the new methods recently added to (sometimes greatly!) simplify code. | |
e150e2d Add a ConstantDataVector::getSplatValue() method, for parity with ConstantVector. Fix some outright bugs in the implementation of ConstantArray and Constant struct, which would cause us to not make one big UndefValue when asking for an array/struct with all undef elements. Enhance Constant::isAllOnesValue to work with ConstantDataVector. | |
b56900a llvm-config: Add support for CMake build trees in which the build mode does not form part of the path. | |
230cdab some general cleanup, using new methods and tidying up old code. | |
220dfa7 fix pasto in the new (and still unused) ShuffleVectorInst::getShuffleMask method. | |
27984e6 add StructType helpers too. | |
6e3abaa Ok, break down and add some cast<>'ing helper methods to the Type class to reduce the number of cast<>'s we have. This allows someone to use things like Ty->getVectorNumElements() instead of cast<VectorType>(Ty)->getNumElements() when you know that a type is a vector. | |
83694a9 add some helper methods to ShuffleVectorInst and enhance its "isValidOperands" and "getMaskValue" methods to allow ConstantDataSequential. | |
e8838d5 Improve sub-register def handling in ProcessImplicitDefs. | |
4a99f59 Properly emit ctors / dtors with priorities into desired sections and let linker handle the rest. | |
58a3685 Don't add live ranges for aliases of physregs that are live in to the function. They don't appear to be used, and are inconsistent with handling of other physreg intervals (i.e. intervals that are not live-in) where ranges are not inserted for aliases. | |
c48d4dc Tidy up. s/Low Level Virtual Machine/LLVM/. | |
6c76e80 Always break upon finding a vreg operand (in Release as well as +Asserts). Remove assertion which can no longer trigger. | |
74423e3 ARM assemly parsing and validation of IT instruction. | |
0c8515f Use precomputed BB size instead of BB->size(). | |
9748479 fix a bug I introduced in r148929, this is not a splat! Thanks to Eli for noticing. | |
6c00c6a Gracefully degrade precision in branch probability numbers. | |
6977e79 Support pointer comparisons against constants, when looking at the inline-cost savings from a pointer argument becoming an alloca. Sometimes callees will even compare a pointer to null and then branch to an otherwise unreachable block! Detect these cases and compute the number of saved instructions, instead of bailing out and reporting no savings. | |
8f7fe08 Revert a tiny bit of r148553 which extended LLVM's function attributes to 64-bits, and added a new attribute in bit #32. Specifically, remove this new attribute from the enum used in the C API. It's not yet clear what the best approach is for exposing these new attributes in the C API, and several different proposals are on the table. Until then, we can simply not expose this bit in the API at all. | |
a15c9d8 Update hasProperty comment. | |
a1f00f4 use Constant::getAggregateElement to simplify a bunch of code. | |
969ba28 Custom lower PSIGN and PSHUFB intrinsics to their corresponding target specific nodes so we can remove the isel patterns. | |
3d5ed22 constify some methods and add a new Constant::getAggregateElement helper method for the common operation of extracting an element out of a constant aggregate. | |
4ca829e use ConstantVector::getSplat in a few places. | |
4bb3f34 Custom lower phadd and phsub intrinsics to target specific nodes. Remove the patterns that are no longer necessary. | |
3c2c954 reapply r148901 with a crucial fix. | |
bce73e0 Remove AVX 256-bit unaligned load intrinsics. 128-bit versions had been removed a while ago. | |
4bd73ca Mark 64-bit register RA_64 unused too. | |
de5a0b6 Modify MipsFrameLowering::emitPrologue and emitEpilogue. | |
36e91e9 Modify MipsRegisterInfo::eliminateFrameIndex to use MipsAnalyzeImmediate to expand offsets that do not fit in the 16-bit immediate field of load and store instructions. Also change the types of variables so that they are sufficiently large to handle 64-bit pointers. | |
042883f Merge intrinsic pattern and no pattern versions of VCVTSD2SI intruction definitions. Matches non-AVX version of same instructions. | |
e8e7b29 -fvisibility-inlines-hidden is a c++ only option. Thanks to Peter Collingbourne for noticing it. | |
50da3cb MipsAnalyzeImmediate.h: Fix to add DataTypes.h for msvc. | |
1486ae6 Fix assert("msg"). Fix unused-variable warnings complaining about VT used only in asserts. | |
e0794d3 Target/Mips: Unbreak CMake build. | |
57fa382 Lower 64-bit immediates using MipsAnalyzeImmediate that has just been added. | |
1ab525e Revert r148901 because it crashes llvm tests. | |
82385c9 Introduce a new ConstantVector::getSplat constructor function to simplify a really common case. | |
dc81eae Add class MipsAnalyzeImmediate which comes up with an instruction sequence to load an immediate. | |
af7b4fb Remove the Type::getNumElements() method, which is only called in 4 places, did something extremely surprising, and shadowed actually useful implementations that had completely different behavior. | |
0f193b8 Use the right method to get the # elements in a CDS. | |
a57a36a NEON VLD4(all lanes) assembly parsing and encoding. | |
6cd6a68 Tidy up. Rename VLD4DUP patterns for consistency. | |
5e59f7e NEON VLD3(all lanes) assembly parsing and encoding. | |
2527188 Additional methods for SmallString. | |
d36f5af Set correct <def,undef> flags when lowering REG_SEQUENCE. | |
1ce6a36 Use the standard MachineFunction::print() after SlotIndexes. | |
25dae8f Sign-extend 32-bit integer arguments when they are passed in 64-bit registers, which is what N32/64 does. | |
08067b2 Pass CCState by reference. | |
e6e4b3a Pattern for f32 to i64 conversion. | |
c389af9 ARM Darwin symbol ref differences w/o subsection-via-symbols. | |
3b96e1f Intel Syntax: Extend special hand coded logic, to recognize special instructions, for intel syntax. | |
5387f2e 64-bit sign extension in register instructions. | |
f35307c Tidy up. Trailing whitespace. | |
7f64823 Sink assert-only variables into the asserts | |
0307b9a [asan] enable asan only for the functions that have Attribute::AddressSafety | |
88a54de NEON VST4(one lane) assembly parsing and encoding. | |
4f8dc7b Widen the instruction encoder that TblGen emits to a 64 bits, which should accomodate every target I can think of offhand. | |
e983a13 NEON VLD4(one lane) assembly parsing and encoding. | |
10c6fdc Fix old doxygen comment. | |
5b52f6d Add an (interleave A, B, ...) SetTheory operator. | |
9136f21 Undo an over zealous rename. This bit of the CMake build really is dealing in the host triple, be honest about it and document the decision to default the target triple to the host triple unless overridden. | |
1ac2060 NEON Two-operand assembly aliases for VSRA. | |
5d9bad4 Remove redundant test file. | |
5e497d3 NEON Two-operand assembly aliases for VSLI. | |
d8ee0cc NEON Two-operand assembly aliases for VSRI. | |
28f1f91 Tidy up. | |
78d13e1 NEON add correct predicates for some asm aliases. | |
b2b3d7d Reword comment based on feedback by Duncan Sands. | |
bec2d03 basic instcombine support for CDS. | |
29cc6cb C++, CBE, and TLOF support for ConstantDataSequential | |
3210060 Rearrange argument order of ::get methods so that LLVMContext comes first, add a ConstantDataArray::getString method that corresponds to the (to be removed) StringRef version of ConstantArray::get, but is dramatically more efficient. | |
28d7e71 ZERO_EXTEND operation is optimized for AVX. v8i16 -> v8i32, v4i32 -> v4i64 - used vpunpck* instructions. | |
1ee0ecf add more support for ConstantDataSequential | |
53fa1ae An option to selectively enable part of ARM EHABI support. | |
e697b4f Bit pack DIE structures better. | |
bae0884 Fix the testcases for the previous patch. | |
8a69834 Remove generation of DW_AT_sibling. Nothing as far as I can tell uses it. Saves about 1.5% on debug info size. | |
9e631da Add AsmPrinter (aka MCLowering) support for ConstantDataSequential, and clean up some other misc stuff. Unlike ConstantArray, we will prefer to emit .fill directives for "String" arrays that all have the same value, since they are denser than emitting a .ascii | |
6233907 Add various "string" methods to ConstantDataSequential, which have the same semantics as ConstantArray's but much more efficient because they don't have to return std::string's. The ConstantArray methods will eventually be removed. | |
a97a5ea add ::drop_back() and ::drop_front() methods, which are like pop_front/pop_back on a vector, but a) aren't destructive to "this", and b) can take a # elements to drop. | |
df39028 teach valuetracking about ConstantDataSequential | |
dada586 switch SCEV to use the new ConstantFoldLoadThroughGEPIndices function instead of its own hard coded thing, allowing it to handle ConstantDataSequential and fixing some obscure bugs (e.g. it would previously crash on a CAZ of vector type). | |
a97ddd0 Split the interesting bits of ConstantFoldLoadThroughGEPConstantExpr out into a new ConstantFoldLoadThroughGEPIndices (more useful) function and rewrite it to be simpler, more efficient, and to handle the new ConstantDataSequential type. | |
ff2b7f3 Add some accessor methods to CAZ and UndefValue that help simplify clients. Make some CDS methods public. | |
46de2d5 Use correct register class for am2offset register operands. This pacifies machine verifier | |
defe12d Preserve <def,undef> flags in CoalesceExtSubRegs. | |
45bb5c5 implement the ConstantDataSequential accessor methods. | |
dfc8e47 Add comments near load pattern fragments indicating that all integer vector loads are promoted to v2i64 or v4i64 so that no one tries to reintroduce pattern fragments for other types. | |
539aab7 NEON VST4(multiple 4 element structures) assembly parsing. | |
8abe7e3 NEON VLD4(multiple 4 element structures) assembly parsing. | |
7945ead Tidy up. Remove some vertical space for readability. | |
3eb4be0 Revert r148686 (and r148694, a fix to it) due to a serious layering violation -- MC cannot depend on CodeGen. | |
7b426ce Fix typo. | |
4adb182 NEON VST3(single element from one lane) assembly parsing. | |
392ad6d Fix typo. | |
d7433e2 NEON VST3(multiple 3-element structures) assembly parsing. | |
153c8ad Changing bitfield enums to unsigned ints. | |
c387fc6 NEON VLD3(multiple 3-element structures) assembly parsing. | |
2c6d0f2 Add missed mayStore flag to STREXD / t2STREXD | |
27dd9cf start the implementation of a new ConstantDataVector and ConstantDataArray classes, per PR1324. Not all of their helper functions are implemented, nothing creates them, and the rest of the compiler doesn't handle them yet. | |
4302a49 Remove extraneous ';'s. | |
d0278d5 Remove dead default. | |
f2d2137 Intel syntax: Robustify parsing of memory operand's displacement experssion. | |
c1bddef Simplify llvm::cl::Option by using a bit field instead of manual bit packing. | |
3a678af NEON VLD3 lane-indexed assembly parsing and encoding. | |
16d7d43 Add support for .cfi_signal_frame. Fixes pr11762. | |
e55bbfe Various public StringMap methods take or return "MapEntryTy", make it public. | |
e0bd8c3 copyImplicitOps is redundant here - the loop above already copies these ops. | |
d0848a6 Fix PR11829. PostRA LICM was too aggressive. | |
39f6660 Simplify debug output. | |
3e08131 Intel syntax: Parse memory operand with empty base reg, e.g. DWORD PTR [4*RDI] | |
8b31f95 Simplify some NEON assembly pseudo definitions. | |
ee705a7 Silence warnings in -asserts build | |
7c64fe6 Intel syntax: Parse segment registers. | |
9df0fb4 convert CAZ, UndefValue, and CPN to use DenseMap's again, this time without using OwningPtr. OwningPtr would barf when the densemap had to reallocate, which doesn't appear to happen on the regression test suite, but obviously happens in real life :) | |
0adabe5 revert r148688 too, this isn't safe for DenseMap use. When DenseMap resizes, it will need to copy around arbitrary pointers | |
95889fa revert r148691 and 148693 | |
2587804 Implemented AddressSanitizer::getPassName() | |
db4b85f ARMAsmPrinter.cpp: Try to fix up r148686. EnableARMEHABI was also here. | |
3755615 switch UndefValue and ConstantPointerNull over to DenseMap's for uniquing. | |
300a263 Fix broken link. | |
2a82d82 Replace a use of ConstantUniqueMap for CAZ constants with a simple DenseMap. Now that the type system rewrite has landed, there is no need for its complexity and std::map'ness. | |
cef3925 allow OwningPtr to be copy constructed if null, which is required to make them be a valuetype in a DenseMap. | |
7925e25 Custom lower PCMPEQ/PCMPGT intrinsics to target specific nodes and remove the intrinsic patterns. | |
7908480 An option to selectively enable parts of ARM EHABI support. | |
7fb8b0c Update more places to use target specific nodes for vector shifts instead of intrinsics. | |
80e4636 Custom lower vector shift intrinsics to target specific nodes and remove the patterns that are no longer needed. | |
4254df3 Avoid using an invalidated iterator. | |
603d6b5 The iteration order over a std::set<Module*> depends on the addresses of the modules. Avoid that to make the order the linker sees the modules deterministic. | |
2b21fba Remove pattern fragments for v32i8, v16i16, v8i32, v16i8, v8i16, and v4i32 loads. All integer vector loads are promoted to v2i64 or v4i64 so these pattern fragments can never match. Fix or remove patterns that used these fragments. | |
37abc48 Make Value::isDereferenceablePointer() handle unreachable code blocks. (This returns false in the event the computation feeding into the pointer is unreachable, which maybe ought to be true -- but this is at least consistent with undef->isDereferenceablePointer().) Fixes PR11825! | |
1906d32 Combine X86 CMPPD and CMPPS node types. Simplifies selection code and pattern matching. | |
67609fd Merge PCMPEQB/PCMPEQW/PCMPEQD/PCMPEQQ and PCMPGTB/PCMPGTW/PCMPGTD/PCMPGTQ X86 ISD node types into only two node types. Simplifying opcode selection and pattern matching. | |
8194683 Use Attributes::None instead of 0 after r148553 change on Attributes from unsigned to their own class. | |
ed2e13d Add target specific ISD node types for SSE/AVX vector shuffle instructions and change all the code that used to create intrinsic nodes to create the new nodes instead. | |
4a309f3 Add an option to disable buggy copy propagation pass | |
2a53577 unittests/Support/Casting.cpp: [PR8226] Workaround for MSVC|Debug. | |
4b4e622 Add fused multiple+add instructions from VFPv4. Patch by Ana Pazos! | |
381e2be Remove trailing spaces | |
b2798fa Remove trailing spaces | |
24973c1 Basic runtime dynamic loading capabilities added to ELFObjectFile, implemented in a subclass named DyldELFObject. This class supports rebasing the object file it represents by re-mapping section addresses to the actual memory addresses the object was placed in. This is required for MC-JIT implementation on ELF with debugging support. | |
76463fd Split the lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h header to smaller logical headers. | |
07a2762 Make code a little less verbose. | |
69c96d7 Help GCC along with code that's actually unreachable. | |
6a32b6f Remove unused X86 ISD node type defines. | |
6fdf3d5 Move some vector shift patterns into their instruction definitions. | |
babb145 Add memory patterns for some of the fp<->integer conversion instructions. Fold some patterns into instruction definitions. | |
a36dda2 Remove unreachable defaults from gtest. | |
8608cc9 Remove unused variables. | |
d9ec725 Fix PR11819 introduced by r148537. I'd commit the test case, but the generated code is terrible as it gets fully scalarized. Expect a future commit to fix that. | |
7423db2 Fix an obvious typo. | |
8c47ad8 Handle register masks in LiveVariables. | |
9339134 RuntimeDyld alignment adjustment from MachO file. | |
12a8863 Thumb2 'add rd, pc, imm' alternate form for 'adr' instruction. | |
4888d5e Delete an unused member variable. | |
b442d7c Fix inverted condition. | |
1aea430 Intel syntax: Robustify register parsing. | |
a3c4ca9 Support register masks in MachineLICM. | |
6b88c18 Handle register masks in DeadMachineInstructionElim. | |
4d6ccb5 More dead code removal (using -Wunreachable-code) | |
0041d4d Handle a corner case with IV chain collection with bailout instead of assert. | |
a44919e Test case comments missing from my previous checkin. | |
fdd3b30 Intel syntax: Parse ... PTR [-8] | |
cf0e269 Intel syntax: For now, disable ambiguous JMP64pcrel32 for intel syntax. | |
1e9ccd6 ARM vector any_extends need to be selected to vmovl. <rdar://problem/10723651> | |
b1320cb TblGen diagnostic for mismatched template instantiation. | |
6d56730 VST2 four-register w/ update pseudos for fixed/register update. | |
51222d1 NEON use vmov.i32 to splat some f32 values into vectors. | |
88e9008 Don't use my favorite C++11 feature (comma at end of enum). | |
164b86b Extend Attributes to 64 bits | |
3feccba Protect SmallVectorImpl's constructor and a few other methods that aren't meant to be public. | |
eb9fa66 Add missing breaks to switch. | |
263109d Remove a bunch of unused variable assignments. | |
07df1b4 Remove obviously invalid early exit that prevented analyzing ConstantAggregateZeros. | |
ace4f2b Don't use -fvisibility-inlines-hidden on mingw to try to avoid a lot of warnings from gcc. | |
8f35c13 Improve 256-bit shuffle splitting to allow 2 sources in each 128-bit lane. As long as only a single lane of the source is used in the lane in the destination. This makes the splitting match much closer to what happens with 256-bit shuffles when AVX is disabled and only 128-bit XMM is allowed. | |
38b6d9d Fix CountCodeReductionForAlloca to more accurately represent what SROA can and can't handle. Also don't produce non-zero results for things which won't be transformed by SROA at all just because we saw the loads/stores before we saw the use of the address. | |
b5c26ef SCEVExpander fixes. Affects LSR and indvars. | |
0e2037b Add support for selecting 256-bit PALIGNR. | |
b288850 cmake: pass -fvisibility-inlines-hidden if it is supported. In a Release+Asserts build with -DBUILD_SHARED_LIBS=ON, the install directory goes from 72MB to 70MB. | |
a486783 Remove a low-quality test which was failing on Windows; test/CodeGen/X86/sret.ll is a better test for the relevant behavior. | |
b618ea5 When lowering the 'resume' instruction, look to see if we can eliminate the 'insertvalue' instructions that recreate the structure returned by the 'landingpad' instruction. Because the 'insertvalue' instruction isn't supported by FastISel, this can save a bit of time during -O0 compilation. | |
9a2478a Support MSVC x86-32 sret convention. PR11688. Patch by Joe Groff. | |
f46fbad Fix typo. | |
e545ee2 Silence warnings about mixing enums. | |
27ff6b5 Add a dump() implementation for sub-instruction MCOperands. | |
7b672fe Add a new form of MCOperand, for representing sub-instructions. This is intended for supporting bundles through the MC layer, rather than lowering them pre-MC as we currently do for Thumb2 IT blocks. Since these sub-instruction operands hold pointers to the sub-instructions, it is the responsibility of the target's AsmPrinter to provide storage for them for the duration of the EmitInstruction() call. | |
0cdece4 Set the "tail" flag on pattern-matched objc_storeStrong calls. rdar://10531041. | |
a951f77 Post process 'and', 'sub' instructions and select better encoding, if available. | |
f460bf8 Actually, this code handles wrapped sets just fine. Noticed by inspection. | |
e60540f Intel syntax: There is no need to create unary expr for simple negative displacement. | |
ac0f048 Post process 'xor', 'or' and 'cmp' instructions and select better encoding, if available. | |
73dd8bb Emit ARM EHABI unwinding instructions for 3 more Thumb instructions. | |
40385c8 Folding table additions and fixes for AVX. | |
1a7700a Merge 128-bit and 256-bit SHUFPS/SHUFPD handling. | |
ef2887d More bundle related API additions. | |
3f9c251 Rewriter should definitly rewrite instructions inside bundles. | |
46ada15 Introduce a new MutableArrayRef class, which refers to a series of mutable T's that are consequtively in memory. | |
a2e435c Enhance finalizeBundle to return end of bundle iterator because it makes sense. | |
ae69f70 ARM assembly diagnostic caret in better position for FPImm. | |
9363c58 Thumb2 relaxation for tADR to t2ADR. | |
d26bad0 Add comment and fix range check in condition. | |
904b7be Add testcase. | |
c222005 Added methods to get the live range immediately before a given slot. Intended to parallel the getVNInfoBefore method. | |
2faa5d2 Space after punctuation. | |
bca15f9 - Slight change to finalizeBundle() interface. LastMI is not exclusive (pointing to instruction right after the last instruction in the bundle. - Add a finalizeBundle() variant that doesn't specify LastMI. Instead, the code will find the last instruction in the bundle by following the 'InsideBundle' marker. This is useful in case bundles are formed early (i.e. during MI scheduling) but finalized later (i.e. after register allocator has finished rewriting virtual registers with physical registers). | |
22de16d Add a TargetOption for disabling tail calls. | |
9b15971 Rename Finalizebundle to finalizeBundle to conform to coding guideline. | |
c38c456 Add experimental -x86-use-regmask command line option. | |
71f0fc1 Ignore register mask operands when lowering instructions to MC. | |
9cf37e8 Add a RegisterMaskSDNode class. | |
8887a0f Add support for the gnueabihf environment. Patch by Sylvestre Ledru. | |
0b4c673 Thumb2 alternate syntax for LDR(literal) and friends. | |
b8ba13f Process instructions after match to select alternative encoding which may be more desirable. | |
5aa5368 Replace FIXME with explanatory comment. | |
256ba4f Thumb2 relaxation for LDR(literal). | |
ec4ceb7 MCAssembler tweak for determining when a symbol difference is resolved. | |
a2ee0fa Rename pattern for clarity. | |
2f77bbd Add a depth limit to avoid runaway recursion. | |
1dae3e9 Use llvm.global_ctors to locate global constructors instead of recognizing them by name. | |
785a7a9 Remove trailing spaces and unneeded includes. | |
a402271 Document the fact that the selection dag changes the vselect condition type | |
bfab85e Fixed macro condition. | |
bc3af9b Tidy up. 80 columns. | |
ec34338 Tidy up. MCAsmBackend naming conventions. | |
160fee7 Remove dead code. | |
819026f Fix a bug in the type-legalization of vector integers. When we bitcast one vector type to another, we must not bitcast the result if one type is widened while the other is promoted. | |
cd7f02b Fix ISD::REG_SEQUENCE to accept physical registers and change TwoAddressInstructionPass to insert copies for any physical reg operands of the REG_SEQUENCE | |
5a7efa7 Thumb2 load/store fixups don't set the thumb bit. | |
9b5b125 Move some ARM specific MCAssmebler bits into the ARMAsmBackend. | |
3186766 Add a CoveredBySubRegs property to Register descriptions. | |
7434c9a [lit] Add a --filter option which is useful when dealing with virtual test paths. | |
0271dad Remove unneeded include. | |
3ee7d15 Implement ARMBaseRegisterInfo::getCallPreservedMask(). | |
893f486 Fix MCJIT memory leak of owned TargetMachine. | |
0bd2ae9 Move X86 callee saved register lists to the X86CallConv .td file. | |
ec57253 Add TableGen support for callee saved registers. | |
97af768 Test case rename | |
bda43e9 Move includes to the .cpp file. | |
8b9300b MC tweak symbol difference resolution for non-local symbols. | |
283f1ff Tidy up. | |
2f8af1d Intel syntax: Fix parser match class to check memory operand size. | |
ba05c91 Transform: (EXTRACT_VECTOR_ELT( VECTOR_SHUFFLE )) -> EXTRACT_VECTOR_ELT. | |
6220fea Intel syntax: Parse "BYTE PTR [RDX + RCX]" | |
fced294 Trailing spaces. | |
2f6263c Add a new ObjC ARC optimization pass to eliminate unneeded autorelease push+pop pairs. | |
7d4c87e Add a new PassManagerBuilder customization point, EP_ModuleOptimizerEarly, to allow passes to be added before the main ModulePass optimizers. | |
bc51e50 Untabify. | |
9a3d293 Intel syntax: Do not unncessarily create plus expression for memory operand displacement. | |
40bced0 Intel syntax: Ignore mnemonic aliases. | |
aa2bb63 Remove "XFAIL: arm" from test/ExecutionEngine/test-return.ll | |
d37ad24 Intel syntax: Robustify memory operand parsing. | |
f61f22a Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to someone else. | |
44b920f Removes template magic to build up containers. | |
a16d441 Fix warning. | |
a7f99f2 Additional ExecutionEngine tests, as part of bringing up the MCJIT on ELF implementation. Currently lit still executes ExecutionEngine tests with JIT (not MCJIT) by default. MCJIT tests can be executed manually by calling llvm-lit with --param jit_impl=mcjit | |
0b94b5f Fix 11769. | |
d3b5889 Teach DAG combiner to turn a BUILD_VECTOR of UNDEFs into an UNDEF of vector type. | |
8b5a6b6 Remove unnecessary AVX check from an assert. hasSSE2 is enough. | |
58bd151 Provide better messages in llvm_unreachable. | |
c6cf11b misched: Inital interface and implementation for ScheduleTopDownLive and ShuffleInstructions. | |
42b7a71 Renamed MachineScheduler to ScheduleTopDownLive. | |
c1b1c7b Moving options declarations around. | |
0f08091 LSR fix: broaden the check for loop preheaders. | |
37c2677 Fix a crasher when PerformShiftCombine receives a BUILD_VECTOR of all UNDEF. Probably could use better handling in DAG combine or getNode. Fixes PR11772. | |
fdebc38 Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary) | |
2150606 Add 148175 back. I am unable to reproduce any non determinism in a dragonegg or clang bootstrap. | |
f214b80 Makefile: add missing files to FilesToConfig | |
f57e1c2 Changed flag operand of ISD::FP_ROUND to TargetConstant as it should not get checked for legalisation | |
1752e45 add some missing const qualifiers. | |
ff5bad0 Add portable bit mask operations to BitVector. | |
e02a17c Fix typo in comment. | |
e0934be Tidy up. | |
020f4e8 ExecutionEngine interface to re-map addresses for engines that support it. | |
652ca2f MCJIT handle a few more simple x86 relocations for MachO. | |
2dd674f Removing unused default switch cases in switches over enums that already account for all enumeration values explicitly. | |
17d2dbd Cleanup PPC RLWINM8 vs RLWINM | |
504d1d2 AggressiveAntiDepBreaker needs to skip debug values because a debug value does not have a corresponding SUnit | |
c035c94 Extract method for detecting constant unallocatable physregs. | |
61425c0 MCJIT support for non-function sections. | |
27bf560 Fixed comment in loop-unswitch. | |
63c6672 Give better scavenger errors by invoking the verifier. | |
7739cad Add a new kind of MachineOperand: MO_RegisterMask. | |
1857b51 Make sure the non-SSE lowering for fences correctly clobbers EFLAGS. PR11768. | |
a20b715 Get rid of unused codegen-only instruction. | |
a0c1fc3 Adding a Hexagon cell for segmented stacks, as they have been implemented for X86 and not Sparc... | |
b7ab7fe Give priority to AVX over SSE for 128-bit floating point unpck instructions. | |
9223822 A fix for the previous commit: "integer constant is too large for ‘long’ type" error on some 32-bit bots | |
a66a185 Adding a basic ELF dynamic loader and MC-JIT for ELF. Functionality is currently basic and will be enhanced with future patches. Patch developed by Andy Kaylor and Daniel Malea. Reviewed on llvm-commits. | |
810d6d3 Refactor variables unused under non-assert builds (& remove two entirely unused variables). | |
bf42139 Changed intrinsic ID operand to a target constant as its not used in any arithmetic so should not be checked in legalisation | |
cc61656 [AVX] Optimize x86 VSELECT instructions using SimplifyDemandedBits. We know that the blend instructions only use the MSB, so if the mask is sign-extended then we can convert it into a SHL instruction. This is a common pattern because the type-legalizer sign-extends the i1 type which is used by the LLVM-IR for the condition. | |
ed4c8c6 Return an ArrayRef from ShuffleVectorSDNode::getMask and push it through CodeGen. | |
ae4746b DAGCombiner: Deduplicate code. | |
0499c1f Cosmetic patch for r148215. | |
209287d Fixup for r148132. Type replacement for LoopsProperties: from DenseMap to std::map, since we need to keep a valid pointer to properties of current loop. | |
980bce2 Relax the FileCheck assertion a bit -- all we really care about is that we're loading from the global array, not how it is spelled in the asm. This should fix the MSVC bots. | |
482e4a8 FileCheck-ize a test, make it more specific to directly test the shift removal desired. | |
4aab4ab Remove SetWorkingDirectory from the Process interface. Nothing in LLVM or Clang is using this, and it would be hard to use it correctly given the thread hostility of the function. Also, it never checked the return which is rather dangerous with chdir. If someone was in fact using this, please let me know, as well as what the usecase actually is so that I can add it back and make it more correct and secure to use. (That said, it's never going to be "safe" per-se, but we could at least document the risks...) | |
49c0a9a Remove dead code. | |
799ea5c Truncate of undef is just undef of smaller size. | |
76284d5 Update subdirs list to include archive and ld. | |
cdccea1 llvm-ld tracks dependents. Need to go beyond llvm-link. | |
fc2e580 Add lib/Archive. | |
d07ef50 Fix the memop type on a couple 256-bit AVX instructions that were using f128mem instead of f256mem. | |
446626d Add a bunch of AVX instructions to the folding tables. Also fixed the alignment on 256-bit AVX2 instructions. | |
c464e99 Speculatively revert commit 148175 (rafael), to see if this fixes non-determinism in the 32 bit dragonegg buildbot. Original commit message: Only emit the Leh_func_endN symbol when needed. | |
dd1f22f Fix a corner case hit by redundant phi elimination running after LSR. | |
da22344 Only emit the Leh_func_endN symbol when needed. | |
3c58ba8 misched: Initial code for building an MI level scheduling DAG | |
7ebcaf4 Move physreg dependency generation into aptly named addPhysRegDeps. | |
5e920d7 misched: Added ScheduleDAGInstrs::IsPostRA | |
e9ef4ed misched: Invoke the DAG builder on each sequence of schedulable instructions. | |
5edf2f0 Move things around to make the file navigable, even though it will probably be split up later. | |
bfe8afa After r147827 and r147902, it's now possible for unallocatable registers to be live across BBs before register allocation. This miscompiled 197.parser when a cmp + b are optimized to a cbnz instruction even though the CPSR def is live-in a successor. cbnz r6, LBB89_12 ... LBB89_12: ble LBB89_1 | |
d32d3b7 Fix pasto from r146196. | |
4f00c08 Cleanup test case by adding checks for test names. | |
bd6dc3b Add TRI::getCallPreservedMask() hook. | |
9218098 Fix an unused variable warning that Chad noticed. | |
20fb487 Add a test showing how the Leh_func_endN symbol is used. | |
54f7533 Remove previous commit while I debug the bot failures. | |
ece8b73 Use RegisterTuples to generate pseudo-registers. | |
cf05d03 Remove label that is not used anymore. | |
09a536a Speculatively revert r148132+r148133 to try and fix a buildbot failure. | |
794481d Skip the NAME field when forming tuples. | |
23d1c5c Remove pointless mode line in .cpp file. | |
8d6796b Try to clarify a little how exception handling works. | |
85d5aae Revert r148131, it was committed before it was ready. | |
5dab2bf Cosmetic patch for r148132. | |
a5a1e46 LoopUnswitch: All helper data that is collected during loop-unswitch iterations was moved to separated class (LUAnalysisCache). | |
c798cc4 Refactor. | |
4a5c0fd Add new test. | |
0f3023c Fixed comment. Thanks Duncan! | |
0518970 Convert SHUFPD with the same register for both sources to PSHUFD if it would prevent a register copy. Similar to SHUFPS, but requires the mask to be converted. | |
562659f use v8i32 as optimal mem type over v8f32 if AVX2 is enabled. Similar to SSE2 vs SSE1. | |
1221617 Make X86 instruction selection use 256-bit VPXOR for build_vector of all ones if AVX2 is enabled. This gives the ExeDepsFix pass a chance to choose FP vs int as appropriate. Also use v8i32 as the type for getZeroVector if AVX2 is enabled. This is consistent with SSE2 using prefering v4i32. | |
db080e8 test/CodeGen/ARM/test-sharedidx.ll: Fix for -Asserts. | |
c30432a Add patterns for v16i16 and v32i8 immAllZerosV to select VPXOR to match v4i64 and v8i32. | |
96f678f Added the MachineSchedulerPass skeleton. | |
b3fe88f whitespace | |
524ff02 wrong filename | |
07680ec 80-col violation | |
b9c7f65 Use 8i32 constant pool entry for converting AVX2_SETALLONES. Possibly fixes PR11750. | |
e6cf4a0 Fix typo in PerformAddCombine that caused any vector type to be checked for horizontal add/sub if AVX2 is enabled. This caused an assert to fail for non 128/256-bit vectors when done before type legalizing. Fixes PR11749. | |
8dd6f0c Delete CodeInit and CodeRecTy from TableGen. | |
ebaf92c Use uniqued StringInit pointers for lookups. | |
c4b527a DAGCombine's logic for forming pre- and post- indexed loads / stores were being overly conservative. It was concerned about cases where it would prohibit folding simple [r, c] addressing modes. e.g. ldr r0, [r2] ldr r1, [r2, #4] => ldr r0, [r2], #4 ldr r1, [r2] Change the logic to look for such cases which allows it to form indexed memory ops more aggressively. | |
b4ee516 Fix off-by-one error. | |
79522dc Implement proper ObjC ARC objc_retainBlock "escape" analysis, so that the optimizer doesn't eliminate objc_retainBlock calls which are needed for their side effect of copying blocks onto the heap. This implements rdar://10361249. | |
ddfda5c Added MVT::v2f16 | |
bf5b13d Revert accidental commit. | |
86b1a7d Fix the code that was WRONG. | |
d578b90 Added FPOW, FEXP, FLOG to PromoteNode so that custom actions can be set to Promote for those operations. | |
16db710 Fixed a bug in LowerVECTOR_SHUFFLE caused assertion failure lc: X86ISelLowering.cpp:6480: llvm::SDValue llvm::X86TargetLowering::LowerVECTOR_SHUFFLE(llvm::SDValue, llvm::SelectionDAG&) const: Assertion `V1.getOpcode() != ISD::UNDEF&& "Op 1 of shuffle should not be undef"' failed. Added a test. | |
c16c25f When hoisting common code, watch out for uses which are marked "kill". If the killed registers are needed below the insertion point, then unset the kill marker. | |
0577c59 Add error-reporting tests for platforms that don't support segmented stacks. Patch by Brian Anderson. | |
85b9d43 Support segmented stacks on 64-bit FreeBSD. This patch uses tcb_spare field in the tcb structure to store info. Patch by Jyun-Yan You. | |
e4d18de Support segmented stacks on win32. Uses the pvArbitrary slot of the TIB, which is reserved for applications. We only support frames with a static size. | |
989a681 Remove test case, as Chris suggested. | |
21d3c40 Add test case to check intel syntax parsing. | |
f0a9535 Allow targets to select source order pre-RA scheduler. | |
dd929fc Rename X86ATTAsmParser -> X86AsmParser | |
b20b518 Make SplitAnalysis::UseSlots private. | |
e2eb925 After Jakob's r147938 exception handling on i386 was completely broken. | |
d2070b0 Fix a bug in the AVX 256-bit shuffle code in cases where the splat element is on the boundary of two 128-bit vectors. The attached testcase was stuck in an endless loop. | |
fb418ba X86: Generalize the x << (y & const) optimization to also catch masks with more set bits set than 31 or 63. | |
e5dafc3 Move Sched::Preference out of TargetMachine.h where it is not referenced. | |
c59d9df Add predicate method check match memory operand size, if available. | |
805e224 A DenseMap of a std::map isn't a very good idea because the "grow()" method will need to make a deep copy of each of the std::maps. Use a std::map of the std::map instead. This improves the compile time of sqlite3 by ~2%. | |
0a33886 Add intel style operand parser skeleton. This is a work in progress. | |
0fe9a92 Switch all of the uses of my InsertDAGNode helper to follow the exact same pattern. We already had this pattern is a few places, but others tried to make a rough approximation of an actual DAG structure. As not everywhere went to this trouble, nothing could rely on this being done. In fact, I've checked all references to these node Ids, and the ones that are using the topo-sort properties are actually satisfied with a strict-weak-ordering. The requirement appears to be that Use >= Def. | |
aa8b994 Revert r147978. A DenseMap's iterators may become invalidated here. | |
9384111 Make data structures private. | |
337a269 Use a DenseMap. | |
a8bd9a6 Sink spillInterferences into RABasic. | |
078203f Cleanup. | |
ccc9581 Move RegAllocBase into its own cpp file separate from RABasic. | |
e15f421 Re-fix the issue Bill fixed in r147899 in a slightly different way, which doesn't abuse the semantics of linker_private. We don't really want to merge any string constant with a weak_odr global. | |
4992881 80 columns. | |
f6c22c6 lli should only create memmgr when JITing. | |
bf9ab93 lli should create a JIT memory manager. | |
fae699a Fix assert. | |
08713b3 Disable the crash reporter when running lit tests. | |
c8d12ee On AVX, we can load v8i32 at a time. The bug happens when two uneven loads are used. When we load the v12i32 type, the GenWidenVectorLoads method generates two loads: v8i32 and v4i32 and attempts to use CONCAT_VECTORS to join them. In this fix I concat undef values to widen the smaller value. The test "widen_load-2.ll" also exposes this bug on AVX. | |
3bf052b Check to make sure that the CFString's back store ends up in the correct section. | |
2028b79 Support segmented stacks on mac. This uses TLS slot 90, which actually belongs to JavaScriptCore. We only support frames with static size Patch by Brian Anderson. | |
7692ce9 Split segmented stacks tests into tests for static- and dynamic-size frames. Patch by Brian Anderson. | |
25cd4ff Generate the segmented stack prologue for fastcc too. Patch by Brian Anderson. | |
11f0e7b Revert r147945 which disabled an addressing mode transformation. I had |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment