Commit e4269c78 by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/50141 (ICE: tree check: expected var_decl, have parm_decl in…

re PR middle-end/50141 (ICE: tree check: expected var_decl, have parm_decl in get_bit_range, at expr.c:4357 with --param allow-store-data-races=0 and bitfields)

	PR middle-end/50141
	* expr.c (get_bit_range): Only use DECL_THREAD_LOCAL_P if
	innerdecl is a VAR_DECL.

	* c-c++-common/cxxbitfields-6.c: New test.

From-SVN: r177957
parent 7d7212ec
2011-08-22 Jakub Jelinek <jakub@redhat.com>
PR middle-end/50141
* expr.c (get_bit_range): Only use DECL_THREAD_LOCAL_P if
innerdecl is a VAR_DECL.
2011-08-22 Kirill Yukhin <kirill.yukhin@intel.com>
* config/i386/avx2intrin.h: New file.
......
......@@ -4354,7 +4354,8 @@ get_bit_range (unsigned HOST_WIDE_INT *bitstart,
|| TREE_CODE (innerdecl) == TARGET_MEM_REF)
&& !ptr_deref_may_alias_global_p (TREE_OPERAND (innerdecl, 0)))
|| (DECL_P (innerdecl)
&& (DECL_THREAD_LOCAL_P (innerdecl)
&& ((TREE_CODE (innerdecl) == VAR_DECL
&& DECL_THREAD_LOCAL_P (innerdecl))
|| !TREE_STATIC (innerdecl))))
{
*bitstart = *bitend = 0;
......
2011-08-22 Jakub Jelinek <jakub@redhat.com>
PR middle-end/50141
* c-c++-common/cxxbitfields-6.c: New test.
2011-08-22 Mikael Morin <mikael.morin@gcc.gnu.org>
PR fortran/50050
......
/* PR middle-end/50141 */
/* { dg-do compile } */
/* { dg-options "-O2 --param allow-store-data-races=0" } */
struct S
{
int i:8;
};
void bar (struct S, int);
void
foo (struct S s, int i)
{
s.i = i;
bar (s, i);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment