Go to file
Matt Davis c50240dac1 [AST] Get aliased type info from an aliased TemplateSpecialization.
Summary:
Previously the TemplateSpecialization instance for 'template_alias', in the example below, returned the type info of the  canonical type (int).  This ignored the type alias if the template type happen to be aliased. 

Before this patch, the assert would trigger with an  alignment of 4:
```
typedef int __attribute__(( aligned( 16 ) )) aligned_int;
template < typename >
using template_alias = aligned_int;
static_assert( alignof( template_alias<void>) == 16, "" );
```

This patch checks if the TemplateSpecialization type has an alias, and if so will return the type information for the aliased type, else the canonical type's info is returned (original behavior).  I believe that this is the desired behavior.  

Reviewers: aaron.ballman, rjmccall

Reviewed By: rjmccall

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D54048

llvm-svn: 346146
2018-11-05 17:25:26 +00:00
clang [AST] Get aliased type info from an aliased TemplateSpecialization. 2018-11-05 17:25:26 +00:00
clang-tools-extra [clangd] don't buffer the input-mirror stream, it's used to diagnose crashes 2018-11-02 23:47:55 +00:00
compiler-rt [UBsan] disable few tests for FreeBSD 2018-11-05 17:18:23 +00:00
debuginfo-tests [debuginfo-tests] commands.getoutput -> subprocess.check_output 2018-11-03 04:52:32 +00:00
libclc Remove redundant OVERRRIDES file 2018-11-04 00:54:46 +00:00
libcxx Fix the test for partition_copy so it is not ridiculously slow. Also, detab. 2018-11-04 17:57:25 +00:00
libcxxabi Use C++11 fallthrough attribute syntax when available and add a break 2018-11-01 18:24:03 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld Handle OUTPUT_FORMAT arguments in quotation marks 2018-11-03 05:25:49 +00:00
lldb [LLDB] Fix FreeBSD/Darwin build 2018-11-04 23:19:25 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [InstCombine] loosen FP 0.0 constraint for fcmp+select substitution 2018-11-05 16:50:44 +00:00
openmp [OPENMP][OFFLOADING]Change the lambda capturing flags. 2018-11-02 15:24:47 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly Fix clang -Wimplicit-fallthrough warnings across llvm, NFC 2018-11-01 19:54:45 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.