HomePhabricator

Fix setting of empty implicit-section-name attribute

Authored by petpav01 on Jul 11 2018, 1:17 PM.

Description

Fix setting of empty implicit-section-name attribute

Code in CodeGenModule::SetFunctionAttributes() could set an empty
attribute implicit-section-name on a function that is affected by
#pragma clang text="section". This is incorrect because the attribute
should contain a valid section name. If the function additionally also
used __attribute__((section("section"))) then this could result in
emitting the function in a section with an empty name.

The patch fixes the issue by removing the problematic code that sets
empty implicit-section-name from
CodeGenModule::SetFunctionAttributes() because it is sufficient to set
this attribute only from a similar code in setNonAliasAttributes()
when the function is emitted.

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

llvm-svn: 336842